From 60dfc4375ee387f4f8628843becd91d889f18436 Mon Sep 17 00:00:00 2001 From: "Liam, Lee Pong Lam" Date: Thu, 22 Aug 2024 23:22:08 +0000 Subject: [PATCH] Ignore three finger trackpad for nav handle long press To disable Omient trigger by three finger trackpad Bug: 342143522 Flag: com.android.launcher3.ignore_three_finger_trackpad_for_nav_handle_long_press Test: Manual Change-Id: Ic283a4a376a6e628d6c16d6fd4088a9f5e10a0c5 # Conflicts: # aconfig/launcher.aconfig --- aconfig/launcher.aconfig | 10 ++++++++++ .../com/android/quickstep/TouchInteractionService.java | 9 ++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/aconfig/launcher.aconfig b/aconfig/launcher.aconfig index dbcf49cd92..b1a0b6194d 100644 --- a/aconfig/launcher.aconfig +++ b/aconfig/launcher.aconfig @@ -349,3 +349,13 @@ flag { purpose: PURPOSE_BUGFIX } } + +flag { + name: "ignore_three_finger_trackpad_for_nav_handle_long_press" + namespace: "launcher" + description: "Ignore three finger trackpad event for nav handle long press" + bug: "342143522" + metadata { + purpose: PURPOSE_BUGFIX + } +} diff --git a/quickstep/src/com/android/quickstep/TouchInteractionService.java b/quickstep/src/com/android/quickstep/TouchInteractionService.java index 2b5aa71125..37ce3ebf36 100644 --- a/quickstep/src/com/android/quickstep/TouchInteractionService.java +++ b/quickstep/src/com/android/quickstep/TouchInteractionService.java @@ -89,6 +89,7 @@ import androidx.annotation.VisibleForTesting; import com.android.launcher3.BaseDraggingActivity; import com.android.launcher3.ConstantItem; import com.android.launcher3.EncryptionType; +import com.android.launcher3.Flags; import com.android.launcher3.LauncherPrefs; import com.android.launcher3.anim.AnimatedFloat; import com.android.launcher3.config.FeatureFlags; @@ -1193,7 +1194,8 @@ public class TouchInteractionService extends Service { NavHandle navHandle = tac != null ? tac.getNavHandle() : SystemUiProxy.INSTANCE.get(this); if (canStartSystemGesture && !previousGestureState.isRecentsAnimationRunning() - && navHandle.canNavHandleBeLongPressed()) { + && navHandle.canNavHandleBeLongPressed() + && !ignoreThreeFingerTrackpadForNavHandleLongPress(mGestureState)) { reasonString.append(NEWLINE_PREFIX) .append(reasonPrefix) .append(SUBSTRING_PREFIX) @@ -1289,6 +1291,11 @@ public class TouchInteractionService extends Service { return new CompoundString(NEWLINE_PREFIX).append(substring); } + private boolean ignoreThreeFingerTrackpadForNavHandleLongPress(GestureState gestureState) { + return Flags.ignoreThreeFingerTrackpadForNavHandleLongPress() + && gestureState.isThreeFingerTrackpadGesture(); + } + private void logInputConsumerSelectionReason( InputConsumer consumer, CompoundString reasonString) { ActiveGestureLog.INSTANCE.addLog(new CompoundString("setInputConsumer: ")