commit | db3a95c956f5a4f8f2b4b9afcb91d7ba6f43bad2 | [log] [tgz] |
---|---|---|
author | Winson Chung <winsonc@google.com> | Wed Feb 14 13:06:14 2018 -0800 |
committer | Winson Chung <winsonc@google.com> | Wed Feb 14 13:06:14 2018 -0800 |
tree | 683fc836010aa3d1cee8f1aa083e73ca872638ef | |
parent | ff02cd54d44ff5767264fca22a3926c9cb135f57 [diff] |
Reset the interaction handler if it hasn't been recreated. Bug: 73356768 Change-Id: Ie3236c95cdb8d9ce809bf8651e02d1d803f0b802
diff --git a/quickstep/src/com/android/quickstep/BaseSwipeInteractionHandler.java b/quickstep/src/com/android/quickstep/BaseSwipeInteractionHandler.java index b3ebd77..5bf7e4e 100644 --- a/quickstep/src/com/android/quickstep/BaseSwipeInteractionHandler.java +++ b/quickstep/src/com/android/quickstep/BaseSwipeInteractionHandler.java
@@ -20,11 +20,13 @@ import com.android.launcher3.states.InternalStateHandler; import com.android.quickstep.TouchConsumer.InteractionType; +import java.util.function.Consumer; + public abstract class BaseSwipeInteractionHandler extends InternalStateHandler { - protected Runnable mGestureEndCallback; + protected Consumer<BaseSwipeInteractionHandler> mGestureEndCallback; - public void setGestureEndCallback(Runnable gestureEndCallback) { + public void setGestureEndCallback(Consumer<BaseSwipeInteractionHandler> gestureEndCallback) { mGestureEndCallback = gestureEndCallback; }
diff --git a/quickstep/src/com/android/quickstep/NavBarSwipeInteractionHandler.java b/quickstep/src/com/android/quickstep/NavBarSwipeInteractionHandler.java index f333b93..0be13ea 100644 --- a/quickstep/src/com/android/quickstep/NavBarSwipeInteractionHandler.java +++ b/quickstep/src/com/android/quickstep/NavBarSwipeInteractionHandler.java
@@ -347,7 +347,7 @@ public void reset() { mCurrentShift.cancelAnimation(); if (mGestureEndCallback != null) { - mGestureEndCallback.run(); + mGestureEndCallback.accept(this); } }
diff --git a/quickstep/src/com/android/quickstep/OtherActivityTouchConsumer.java b/quickstep/src/com/android/quickstep/OtherActivityTouchConsumer.java index 53eb910..b979967 100644 --- a/quickstep/src/com/android/quickstep/OtherActivityTouchConsumer.java +++ b/quickstep/src/com/android/quickstep/OtherActivityTouchConsumer.java
@@ -397,8 +397,10 @@ } } - private void onFinish() { - mInteractionHandler = null; + private void onFinish(BaseSwipeInteractionHandler handler) { + if (mInteractionHandler == handler) { + mInteractionHandler = null; + } } public void onTouchTrackingComplete() { }
diff --git a/quickstep/src/com/android/quickstep/WindowTransformSwipeHandler.java b/quickstep/src/com/android/quickstep/WindowTransformSwipeHandler.java index 91f4453..d09daed 100644 --- a/quickstep/src/com/android/quickstep/WindowTransformSwipeHandler.java +++ b/quickstep/src/com/android/quickstep/WindowTransformSwipeHandler.java
@@ -605,7 +605,7 @@ mCurrentShift.cancelAnimation(); if (mGestureEndCallback != null) { - mGestureEndCallback.run(); + mGestureEndCallback.accept(this); } clearReference();