Handle long press directly if recents transition is deferred
- For 3p launchers, the starting of the home activity is deferred until the user moves past a slop, in these cases we don't need to worry about finishing the recents transition before handling long press (since it was never started) Fixes: 307254136 Test: Enable 3p launcher and invoke omni Change-Id: I0aed7e7d442e010c38979e3f806f6cf0eb33cfe8
This commit is contained in:
+1
-1
@@ -114,7 +114,7 @@ public class NavHandleLongPressInputConsumer extends DelegateInputConsumer {
|
||||
if (longPressRunnable != null) {
|
||||
OtherActivityInputConsumer oaic = getInputConsumerOfClass(
|
||||
OtherActivityInputConsumer.class);
|
||||
if (oaic != null) {
|
||||
if (oaic != null && oaic.hasStartedTouchTracking()) {
|
||||
oaic.setForceFinishRecentsTransitionCallback(longPressRunnable);
|
||||
setActive(mCurrentDownEvent);
|
||||
} else {
|
||||
|
||||
@@ -412,6 +412,14 @@ public class OtherActivityInputConsumer extends ContextWrapper implements InputC
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns whether this input consumer has started touch tracking (if touch tracking is not
|
||||
* deferred).
|
||||
*/
|
||||
public boolean hasStartedTouchTracking() {
|
||||
return mInteractionHandler != null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Called when the gesture has ended. Does not correlate to the completion of the interaction as
|
||||
* the animation can still be running.
|
||||
|
||||
Reference in New Issue
Block a user