Merge "Re-enable deferring recents animation on back button." into ub-launcher3-master
diff --git a/quickstep/src/com/android/quickstep/OtherActivityTouchConsumer.java b/quickstep/src/com/android/quickstep/OtherActivityTouchConsumer.java
index 1e48a53..19e1cca 100644
--- a/quickstep/src/com/android/quickstep/OtherActivityTouchConsumer.java
+++ b/quickstep/src/com/android/quickstep/OtherActivityTouchConsumer.java
@@ -22,6 +22,7 @@
import static android.view.MotionEvent.ACTION_UP;
import static android.view.MotionEvent.INVALID_POINTER_ID;
import static com.android.quickstep.RemoteRunnable.executeSafely;
+import static com.android.systemui.shared.system.NavigationBarCompat.HIT_TARGET_BACK;
import static com.android.systemui.shared.system.NavigationBarCompat.HIT_TARGET_NONE;
import android.app.ActivityManager.RunningTaskInfo;
@@ -131,7 +132,8 @@
public OtherActivityTouchConsumer(Context base, RunningTaskInfo runningTaskInfo,
RecentsModel recentsModel, Intent homeIntent, ISystemUiProxy systemUiProxy,
- MainThreadExecutor mainThreadExecutor, Choreographer backgroundThreadChoreographer) {
+ MainThreadExecutor mainThreadExecutor, Choreographer backgroundThreadChoreographer,
+ @HitTarget int downHitTarget) {
super(base);
mRunningTask = runningTaskInfo;
mRecentsModel = recentsModel;
@@ -140,10 +142,6 @@
mISystemUiProxy = systemUiProxy;
mMainThreadExecutor = mainThreadExecutor;
mBackgroundThreadChoreographer = backgroundThreadChoreographer;
- }
-
- @Override
- public void setDownHitTarget(@HitTarget int downHitTarget) {
mDownHitTarget = downHitTarget;
}
@@ -163,7 +161,7 @@
// Start the window animation on down to give more time for launcher to draw if the
// user didn't start the gesture over the back button
- if (!isUsingScreenShot()) {
+ if (!isUsingScreenShot() && mDownHitTarget != HIT_TARGET_BACK) {
startTouchTrackingForWindowAnimation(ev.getEventTime());
}
@@ -205,6 +203,10 @@
if (isUsingScreenShot()) {
startTouchTrackingForScreenshotAnimation();
+ } else if (mDownHitTarget == HIT_TARGET_BACK) {
+ // If we deferred starting the window animation on touch down, then
+ // start tracking now
+ startTouchTrackingForWindowAnimation(ev.getEventTime());
}
notifyGestureStarted();
diff --git a/quickstep/src/com/android/quickstep/TouchConsumer.java b/quickstep/src/com/android/quickstep/TouchConsumer.java
index aaea379..f35f6a6 100644
--- a/quickstep/src/com/android/quickstep/TouchConsumer.java
+++ b/quickstep/src/com/android/quickstep/TouchConsumer.java
@@ -49,8 +49,6 @@
default void reset() { }
- default void setDownHitTarget(@HitTarget int downHitTarget) { }
-
default void updateTouchTracking(@InteractionType int interactionType) { }
default void onQuickScrubEnd() { }
diff --git a/quickstep/src/com/android/quickstep/TouchInteractionService.java b/quickstep/src/com/android/quickstep/TouchInteractionService.java
index ccc1e12..8cd2c02 100644
--- a/quickstep/src/com/android/quickstep/TouchInteractionService.java
+++ b/quickstep/src/com/android/quickstep/TouchInteractionService.java
@@ -192,7 +192,7 @@
mEventQueue = new MotionEventQueue(mMainThreadChoreographer,
new OtherActivityTouchConsumer(this, mRunningTask, mRecentsModel,
mHomeIntent, mISystemUiProxy, mMainThreadExecutor,
- mBackgroundThreadChoreographer));
+ mBackgroundThreadChoreographer, downHitTarget));
}
}