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
This commit is contained in:
Liam, Lee Pong Lam
2024-08-22 23:22:08 +00:00
parent 9c12d8ff41
commit 60dfc4375e
2 changed files with 18 additions and 1 deletions
+10
View File
@@ -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
}
}
@@ -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: ")