Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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
Expand Down Expand Up @@ -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}};
}

Expand All @@ -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,
Expand All @@ -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(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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) {
Expand Down