From 770022152c336b82728a742cb2efee3b988ce15e Mon Sep 17 00:00:00 2001 From: CeRRiLLo89 <56557070+CeRRiLLo89@users.noreply.github.com> Date: Sun, 6 Sep 2026 17:59:14 +0200 Subject: [PATCH] WmTests: adapt home action tests to current settings --- .../server/policy/KeyGestureEventTests.java | 33 +++++++++---------- .../server/policy/TestPhoneWindowManager.java | 18 +++++++--- 2 files changed, 30 insertions(+), 21 deletions(-) diff --git a/services/tests/wmtests/src/com/android/server/policy/KeyGestureEventTests.java b/services/tests/wmtests/src/com/android/server/policy/KeyGestureEventTests.java index d71d54bbef144..ba309e8e3f16e 100644 --- a/services/tests/wmtests/src/com/android/server/policy/KeyGestureEventTests.java +++ b/services/tests/wmtests/src/com/android/server/policy/KeyGestureEventTests.java @@ -24,11 +24,6 @@ import static android.view.KeyEvent.KEYCODE_P; import static android.view.KeyEvent.KEYCODE_U; -import static com.android.server.policy.PhoneWindowManager.DOUBLE_TAP_HOME_RECENT_SYSTEM_UI; -import static com.android.server.policy.PhoneWindowManager.LONG_PRESS_HOME_ALL_APPS; -import static com.android.server.policy.PhoneWindowManager.LONG_PRESS_HOME_ASSIST; -import static com.android.server.policy.PhoneWindowManager.LONG_PRESS_HOME_NOTIFICATION_PANEL; - import android.app.role.RoleManager; import android.content.ComponentName; import android.content.Intent; @@ -50,6 +45,7 @@ import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; +import org.lineageos.internal.util.DeviceKeysConstants.Action; @Presubmit @MediumTest @@ -136,20 +132,16 @@ private static Object[][] shortcutTestArgumentsNotMigratedToKeyGestureController @Keep private static Object[][] longPressOnHomeTestArguments() { - // testName, testKeys, longPressOnHomeBehavior, expectedKeyGestureType, expectedKey, + // testName, testKeys, action, expectedKeyGestureType, expectedKey, // expectedModifierState return new Object[][]{ - {"Long press HOME key -> Toggle Notification panel", - new int[]{KeyEvent.KEYCODE_HOME}, LONG_PRESS_HOME_NOTIFICATION_PANEL, - KeyGestureEvent.KEY_GESTURE_TYPE_TOGGLE_NOTIFICATION_PANEL, - KeyEvent.KEYCODE_HOME, 0}, {"Long press HOME key -> Launch assistant", - new int[]{KeyEvent.KEYCODE_HOME}, LONG_PRESS_HOME_ASSIST, + new int[]{KeyEvent.KEYCODE_HOME}, Action.SEARCH, KeyGestureEvent.KEY_GESTURE_TYPE_LAUNCH_ASSISTANT, KeyEvent.KEYCODE_HOME, 0}, - {"Long press HOME key -> Open App Drawer", - new int[]{KeyEvent.KEYCODE_HOME}, LONG_PRESS_HOME_ALL_APPS, - KeyGestureEvent.KEY_GESTURE_TYPE_ALL_APPS, + {"Long press HOME key -> Open app switcher", + new int[]{KeyEvent.KEYCODE_HOME}, Action.APP_SWITCH, + KeyGestureEvent.KEY_GESTURE_TYPE_APP_SWITCH, KeyEvent.KEYCODE_HOME, 0}}; } @@ -176,12 +168,19 @@ public void testShortcuts_notMigratedToKeyGestureController(String testName, expectedModifierState); } + @Test + public void testLongPressOnHome_toggleNotificationPanel() throws RemoteException { + mPhoneWindowManager.overrideLongPressOnHomeAction(Action.NOTIFICATIONS); + sendLongPressKeyCombination(new int[]{KeyEvent.KEYCODE_HOME}); + mPhoneWindowManager.assertTogglePanel(); + } + @Test @Parameters(method = "longPressOnHomeTestArguments") - public void testLongPressOnHome(String testName, int[] testKeys, int longPressOnHomeBehavior, + public void testLongPressOnHome(String testName, int[] testKeys, Action action, @KeyGestureEvent.KeyGestureType int expectedKeyGestureType, int expectedKey, int expectedModifierState) { - mPhoneWindowManager.overrideLongPressOnHomeBehavior(longPressOnHomeBehavior); + mPhoneWindowManager.overrideLongPressOnHomeAction(action); sendLongPressKeyCombination(testKeys); mPhoneWindowManager.assertKeyGestureCompleted( new int[]{expectedKey}, expectedModifierState, expectedKeyGestureType, @@ -190,7 +189,7 @@ public void testLongPressOnHome(String testName, int[] testKeys, int longPressOn @Test public void testDoubleTapOnHomeBehavior_AppSwitchBehavior() { - mPhoneWindowManager.overriderDoubleTapOnHomeBehavior(DOUBLE_TAP_HOME_RECENT_SYSTEM_UI); + mPhoneWindowManager.overrideDoubleTapOnHomeAction(Action.APP_SWITCH); sendKeyCombination(new int[]{KeyEvent.KEYCODE_HOME}, 0 /* duration */); sendKeyCombination(new int[]{KeyEvent.KEYCODE_HOME}, 0 /* duration */); mPhoneWindowManager.assertKeyGestureCompleted( diff --git a/services/tests/wmtests/src/com/android/server/policy/TestPhoneWindowManager.java b/services/tests/wmtests/src/com/android/server/policy/TestPhoneWindowManager.java index 33926297e0470..9128ffee69d6b 100644 --- a/services/tests/wmtests/src/com/android/server/policy/TestPhoneWindowManager.java +++ b/services/tests/wmtests/src/com/android/server/policy/TestPhoneWindowManager.java @@ -122,6 +122,9 @@ import junit.framework.Assert; +import lineageos.providers.LineageSettings; + +import org.lineageos.internal.util.DeviceKeysConstants.Action; import org.mockito.AdditionalMatchers; import org.mockito.ArgumentCaptor; import org.mockito.Mock; @@ -512,12 +515,19 @@ void overrideLongPressOnPower(int behavior) { } } - void overrideLongPressOnHomeBehavior(int behavior) { - mPhoneWindowManager.mLongPressOnHomeBehavior = behavior; + void overrideLongPressOnHomeAction(Action action) { + overrideHomeAction(LineageSettings.System.KEY_HOME_LONG_PRESS_ACTION, action); + } + + void overrideDoubleTapOnHomeAction(Action action) { + overrideHomeAction(LineageSettings.System.KEY_HOME_DOUBLE_TAP_ACTION, action); } - void overriderDoubleTapOnHomeBehavior(int behavior) { - mPhoneWindowManager.mDoubleTapOnHomeBehavior = behavior; + private void overrideHomeAction(String setting, Action action) { + assertTrue(LineageSettings.System.putInt( + mContext.getContentResolver(), setting, action.ordinal())); + mPhoneWindowManager.updateSettings(null); + mTestLooper.dispatchAll(); } void overrideCanStartDreaming(boolean canDream) {