mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-03-04 01:46:49 +00:00
Add IME switch button long click support
This adds support for handling long clicking on the IME switch button. Initially it will behave exactly like short clicking, i.e. show the IME switcher menu. Flag: android.view.inputmethod.ime_switcher_revamp Test: atest TaskbarNavButtonControllerTest#testPressImeSwitcher TaskbarNavButtonControllerTest#testLongPressImeSwitcher Bug: 311791923 Change-Id: Ibd0d6bce2bab11511bc082f46731ec86038c8cf8
This commit is contained in:
@@ -4,6 +4,8 @@ import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCH
|
||||
import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_TASKBAR_BACK_BUTTON_TAP;
|
||||
import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_TASKBAR_HOME_BUTTON_LONGPRESS;
|
||||
import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_TASKBAR_HOME_BUTTON_TAP;
|
||||
import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_TASKBAR_IME_SWITCHER_BUTTON_LONGPRESS;
|
||||
import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_TASKBAR_IME_SWITCHER_BUTTON_TAP;
|
||||
import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_TASKBAR_OVERVIEW_BUTTON_LONGPRESS;
|
||||
import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_TASKBAR_OVERVIEW_BUTTON_TAP;
|
||||
import static com.android.launcher3.taskbar.TaskbarNavButtonController.BUTTON_A11Y;
|
||||
@@ -26,6 +28,7 @@ import static org.mockito.Mockito.when;
|
||||
|
||||
import android.os.Handler;
|
||||
import android.view.View;
|
||||
import android.view.inputmethod.Flags;
|
||||
|
||||
import androidx.test.platform.app.InstrumentationRegistry;
|
||||
import androidx.test.runner.AndroidJUnit4;
|
||||
@@ -109,8 +112,27 @@ public class TaskbarNavButtonControllerTest {
|
||||
|
||||
@Test
|
||||
public void testPressImeSwitcher() {
|
||||
mNavButtonController.init(mockTaskbarControllers);
|
||||
mNavButtonController.onButtonClick(BUTTON_IME_SWITCH, mockView);
|
||||
verify(mockStatsLogger, times(1)).log(LAUNCHER_TASKBAR_IME_SWITCHER_BUTTON_TAP);
|
||||
verify(mockStatsLogger, never()).log(LAUNCHER_TASKBAR_IME_SWITCHER_BUTTON_LONGPRESS);
|
||||
verify(mockSystemUiProxy, times(1)).onImeSwitcherPressed();
|
||||
verify(mockSystemUiProxy, never()).onImeSwitcherLongPress();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testLongPressImeSwitcher() {
|
||||
mNavButtonController.init(mockTaskbarControllers);
|
||||
mNavButtonController.onButtonLongClick(BUTTON_IME_SWITCH, mockView);
|
||||
verify(mockStatsLogger, never()).log(LAUNCHER_TASKBAR_IME_SWITCHER_BUTTON_TAP);
|
||||
verify(mockSystemUiProxy, never()).onImeSwitcherPressed();
|
||||
if (Flags.imeSwitcherRevamp()) {
|
||||
verify(mockStatsLogger, times(1)).log(LAUNCHER_TASKBAR_IME_SWITCHER_BUTTON_LONGPRESS);
|
||||
verify(mockSystemUiProxy, times(1)).onImeSwitcherLongPress();
|
||||
} else {
|
||||
verify(mockStatsLogger, never()).log(LAUNCHER_TASKBAR_IME_SWITCHER_BUTTON_LONGPRESS);
|
||||
verify(mockSystemUiProxy, never()).onImeSwitcherLongPress();
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
Reference in New Issue
Block a user