diff options
author | Sunny Goyal <sunnygoyal@google.com> | 2018-05-24 12:16:38 -0700 |
---|---|---|
committer | Sunny Goyal <sunnygoyal@google.com> | 2018-05-24 12:19:50 -0700 |
commit | 0fb1e4b5a77cf169629b2d89cdeda54ea3995b24 (patch) | |
tree | 006d9d22ad10804b5b389b887e3054f3afde94c0 | |
parent | e8532d84a94b095db4912dc863d826b7e7722036 (diff) | |
download | android_packages_apps_Trebuchet-0fb1e4b5a77cf169629b2d89cdeda54ea3995b24.tar.gz android_packages_apps_Trebuchet-0fb1e4b5a77cf169629b2d89cdeda54ea3995b24.tar.bz2 android_packages_apps_Trebuchet-0fb1e4b5a77cf169629b2d89cdeda54ea3995b24.zip |
Cancelling quickscrub state incease we missed quickscrub end event
> This can happen when the remote transition is cancelled while animating down
during quickscrub, cause WindowTransformSwipeHandler to get invalidated
and miss onQuickscrubEnd
Bug: 80140388
Change-Id: I0221e301d4d633bab0defaa6af76e0054776a95a
3 files changed, 18 insertions, 0 deletions
diff --git a/quickstep/src/com/android/launcher3/uioverrides/FastOverviewState.java b/quickstep/src/com/android/launcher3/uioverrides/FastOverviewState.java index 43d982230..cd92314a7 100644 --- a/quickstep/src/com/android/launcher3/uioverrides/FastOverviewState.java +++ b/quickstep/src/com/android/launcher3/uioverrides/FastOverviewState.java @@ -76,4 +76,10 @@ public class FastOverviewState extends OverviewState { return Math.min(Math.min(dp.availableHeightPx / usedHeight, dp.availableWidthPx / usedWidth), MAX_PREVIEW_SCALE_UP); } + + @Override + public void onStateDisabled(Launcher launcher) { + super.onStateDisabled(launcher); + launcher.<RecentsView>getOverviewPanel().getQuickScrubController().cancelActiveQuickscrub(); + } } diff --git a/quickstep/src/com/android/quickstep/QuickScrubController.java b/quickstep/src/com/android/quickstep/QuickScrubController.java index 8e1a3d5d8..95a82dd86 100644 --- a/quickstep/src/com/android/quickstep/QuickScrubController.java +++ b/quickstep/src/com/android/quickstep/QuickScrubController.java @@ -132,6 +132,17 @@ public class QuickScrubController implements OnAlarmListener { } } + public void cancelActiveQuickscrub() { + if (!mInQuickScrub) { + return; + } + Log.d(TAG, "Quickscrub was active, cancelling"); + mInQuickScrub = false; + mActivityControlHelper = null; + mOnFinishedTransitionToQuickScrubRunnable = null; + mRecentsView.setNextPageSwitchRunnable(null); + } + /** * Initializes the UI for quick scrub, returns true if success. */ diff --git a/quickstep/src/com/android/quickstep/WindowTransformSwipeHandler.java b/quickstep/src/com/android/quickstep/WindowTransformSwipeHandler.java index e93c80789..695e046b1 100644 --- a/quickstep/src/com/android/quickstep/WindowTransformSwipeHandler.java +++ b/quickstep/src/com/android/quickstep/WindowTransformSwipeHandler.java @@ -700,6 +700,7 @@ public class WindowTransformSwipeHandler<T extends BaseDraggingActivity> { mRecentsView.setRunningTaskHidden(false); mRecentsView.setRunningTaskIconScaledDown(false /* isScaledDown */, false /* animate */); + mQuickScrubController.cancelActiveQuickscrub(); } private void notifyTransitionCancelled() { |