summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSunny Goyal <sunnygoyal@google.com>2018-05-24 12:16:38 -0700
committerSunny Goyal <sunnygoyal@google.com>2018-05-24 12:19:50 -0700
commit0fb1e4b5a77cf169629b2d89cdeda54ea3995b24 (patch)
tree006d9d22ad10804b5b389b887e3054f3afde94c0
parente8532d84a94b095db4912dc863d826b7e7722036 (diff)
downloadandroid_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
-rw-r--r--quickstep/src/com/android/launcher3/uioverrides/FastOverviewState.java6
-rw-r--r--quickstep/src/com/android/quickstep/QuickScrubController.java11
-rw-r--r--quickstep/src/com/android/quickstep/WindowTransformSwipeHandler.java1
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() {