e9054e3207
- Hide hotseat and center recents vertically during quick scrub
- Don't animate the state change if launcher wasn't already visible, but still
wait until the window animation completes before scrubbing past the next app
- Change interpolator of window as it scales offscreen during quick scrub, so that
it gets out of the way faster and you can see the motion of the next app taking
its place
- Remove haptic when snapping to task when quick scrub starts (there's already a
haptic from the home button)
Bug: 70180755
Change-Id: I83f25bc8b791da0676c13fd62698e1f486dc016f
57 lines
1.9 KiB
Java
57 lines
1.9 KiB
Java
/*
|
|
* Copyright (C) 2018 The Android Open Source Project
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
package com.android.launcher3.uioverrides;
|
|
|
|
import com.android.launcher3.AbstractFloatingView;
|
|
import com.android.launcher3.Launcher;
|
|
import com.android.quickstep.QuickScrubController;
|
|
import com.android.quickstep.views.RecentsView;
|
|
|
|
/**
|
|
* Extension of overview state used for QuickScrub
|
|
*/
|
|
public class FastOverviewState extends OverviewState {
|
|
|
|
private static final int STATE_FLAGS = FLAG_SHOW_SCRIM | FLAG_DISABLE_RESTORE
|
|
| FLAG_DISABLE_INTERACTION | FLAG_OVERVIEW_UI | FLAG_HIDE_BACK_BUTTON;
|
|
|
|
public FastOverviewState(int id) {
|
|
super(id, QuickScrubController.QUICK_SCRUB_START_DURATION, STATE_FLAGS);
|
|
}
|
|
|
|
@Override
|
|
public void onStateTransitionEnd(Launcher launcher) {
|
|
super.onStateTransitionEnd(launcher);
|
|
RecentsView recentsView = launcher.getOverviewPanel();
|
|
recentsView.getQuickScrubController().onFinishedTransitionToQuickScrub();
|
|
}
|
|
|
|
public void onStateEnabled(Launcher launcher) {
|
|
super.onStateEnabled(launcher);
|
|
AbstractFloatingView.closeAllOpenViews(launcher);
|
|
}
|
|
|
|
@Override
|
|
public int getVisibleElements(Launcher launcher) {
|
|
return NONE;
|
|
}
|
|
|
|
@Override
|
|
public float[] getOverviewTranslationFactor(Launcher launcher) {
|
|
return new float[] {0f, 0.5f};
|
|
}
|
|
}
|