Merge "Don't reset GestureState when touching outside of swipe region" into ub-launcher3-rvc-dev
This commit is contained in:
+10
-16
@@ -471,7 +471,6 @@ public class TouchInteractionService extends Service implements PluginListener<O
|
|||||||
Log.d(TestProtocol.NO_SWIPE_TO_HOME, "TouchInteractionService.onInputEvent:DOWN");
|
Log.d(TestProtocol.NO_SWIPE_TO_HOME, "TouchInteractionService.onInputEvent:DOWN");
|
||||||
}
|
}
|
||||||
mDeviceState.setOrientationTransformIfNeeded(event);
|
mDeviceState.setOrientationTransformIfNeeded(event);
|
||||||
GestureState newGestureState;
|
|
||||||
|
|
||||||
if (mDeviceState.isInSwipeUpTouchRegion(event)) {
|
if (mDeviceState.isInSwipeUpTouchRegion(event)) {
|
||||||
if (TestProtocol.sDebugTracing) {
|
if (TestProtocol.sDebugTracing) {
|
||||||
@@ -481,35 +480,30 @@ public class TouchInteractionService extends Service implements PluginListener<O
|
|||||||
// Clone the previous gesture state since onConsumerAboutToBeSwitched might trigger
|
// Clone the previous gesture state since onConsumerAboutToBeSwitched might trigger
|
||||||
// onConsumerInactive and wipe the previous gesture state
|
// onConsumerInactive and wipe the previous gesture state
|
||||||
GestureState prevGestureState = new GestureState(mGestureState);
|
GestureState prevGestureState = new GestureState(mGestureState);
|
||||||
newGestureState = createGestureState();
|
mGestureState = createGestureState(mGestureState);
|
||||||
mConsumer.onConsumerAboutToBeSwitched();
|
mConsumer.onConsumerAboutToBeSwitched();
|
||||||
mConsumer = newConsumer(prevGestureState, newGestureState, event);
|
mConsumer = newConsumer(prevGestureState, mGestureState, event);
|
||||||
|
|
||||||
ActiveGestureLog.INSTANCE.addLog("setInputConsumer: " + mConsumer.getName());
|
ActiveGestureLog.INSTANCE.addLog("setInputConsumer: " + mConsumer.getName());
|
||||||
mUncheckedConsumer = mConsumer;
|
mUncheckedConsumer = mConsumer;
|
||||||
} else if (mDeviceState.isUserUnlocked() && mDeviceState.isFullyGesturalNavMode()) {
|
} else if (mDeviceState.isUserUnlocked() && mDeviceState.isFullyGesturalNavMode()) {
|
||||||
newGestureState = createGestureState();
|
mGestureState = createGestureState(mGestureState);
|
||||||
ActivityManager.RunningTaskInfo runningTask = newGestureState.getRunningTask();
|
ActivityManager.RunningTaskInfo runningTask = mGestureState.getRunningTask();
|
||||||
if (mDeviceState.canTriggerAssistantAction(event, runningTask)) {
|
if (mDeviceState.canTriggerAssistantAction(event, runningTask)) {
|
||||||
// Do not change mConsumer as if there is an ongoing QuickSwitch gesture, we
|
// Do not change mConsumer as if there is an ongoing QuickSwitch gesture, we
|
||||||
// should not interrupt it. QuickSwitch assumes that interruption can only
|
// should not interrupt it. QuickSwitch assumes that interruption can only
|
||||||
// happen if the next gesture is also quick switch.
|
// happen if the next gesture is also quick switch.
|
||||||
mUncheckedConsumer = new AssistantInputConsumer(
|
mUncheckedConsumer = new AssistantInputConsumer(
|
||||||
this,
|
this,
|
||||||
newGestureState,
|
mGestureState,
|
||||||
InputConsumer.NO_OP, mInputMonitorCompat,
|
InputConsumer.NO_OP, mInputMonitorCompat,
|
||||||
mOverviewComponentObserver.assistantGestureIsConstrained());
|
mOverviewComponentObserver.assistantGestureIsConstrained());
|
||||||
} else {
|
} else {
|
||||||
newGestureState = DEFAULT_STATE;
|
|
||||||
mUncheckedConsumer = InputConsumer.NO_OP;
|
mUncheckedConsumer = InputConsumer.NO_OP;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
newGestureState = DEFAULT_STATE;
|
|
||||||
mUncheckedConsumer = InputConsumer.NO_OP;
|
mUncheckedConsumer = InputConsumer.NO_OP;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Save the current gesture state
|
|
||||||
mGestureState = newGestureState;
|
|
||||||
} else {
|
} else {
|
||||||
// Other events
|
// Other events
|
||||||
if (mUncheckedConsumer != InputConsumer.NO_OP) {
|
if (mUncheckedConsumer != InputConsumer.NO_OP) {
|
||||||
@@ -543,14 +537,14 @@ public class TouchInteractionService extends Service implements PluginListener<O
|
|||||||
TraceHelper.INSTANCE.endFlagsOverride(traceToken);
|
TraceHelper.INSTANCE.endFlagsOverride(traceToken);
|
||||||
}
|
}
|
||||||
|
|
||||||
private GestureState createGestureState() {
|
private GestureState createGestureState(GestureState previousGestureState) {
|
||||||
GestureState gestureState = new GestureState(mOverviewComponentObserver,
|
GestureState gestureState = new GestureState(mOverviewComponentObserver,
|
||||||
ActiveGestureLog.INSTANCE.generateAndSetLogId());
|
ActiveGestureLog.INSTANCE.generateAndSetLogId());
|
||||||
if (mTaskAnimationManager.isRecentsAnimationRunning()) {
|
if (mTaskAnimationManager.isRecentsAnimationRunning()) {
|
||||||
gestureState.updateRunningTask(mGestureState.getRunningTask());
|
gestureState.updateRunningTask(previousGestureState.getRunningTask());
|
||||||
gestureState.updateLastStartedTaskId(mGestureState.getLastStartedTaskId());
|
gestureState.updateLastStartedTaskId(previousGestureState.getLastStartedTaskId());
|
||||||
gestureState.updatePreviouslyAppearedTaskIds(
|
gestureState.updatePreviouslyAppearedTaskIds(
|
||||||
mGestureState.getPreviouslyAppearedTaskIds());
|
previousGestureState.getPreviouslyAppearedTaskIds());
|
||||||
} else {
|
} else {
|
||||||
gestureState.updateRunningTask(TraceHelper.whitelistIpcs("getRunningTask.0",
|
gestureState.updateRunningTask(TraceHelper.whitelistIpcs("getRunningTask.0",
|
||||||
() -> mAM.getRunningTask(false /* filterOnlyVisibleRecents */)));
|
() -> mAM.getRunningTask(false /* filterOnlyVisibleRecents */)));
|
||||||
@@ -753,7 +747,7 @@ public class TouchInteractionService extends Service implements PluginListener<O
|
|||||||
|
|
||||||
private void reset() {
|
private void reset() {
|
||||||
mConsumer = mUncheckedConsumer = mResetGestureInputConsumer;
|
mConsumer = mUncheckedConsumer = mResetGestureInputConsumer;
|
||||||
mGestureState = new GestureState();
|
mGestureState = DEFAULT_STATE;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void preloadOverview(boolean fromInit) {
|
private void preloadOverview(boolean fromInit) {
|
||||||
|
|||||||
Reference in New Issue
Block a user