Loading quickstep/src/com/android/launcher3/taskbar/TaskbarManager.java +13 −7 Original line number Diff line number Diff line Loading @@ -62,6 +62,7 @@ import com.android.launcher3.Launcher; import com.android.launcher3.LauncherAppState; import com.android.launcher3.anim.AnimatorPlaybackController; import com.android.launcher3.statemanager.StatefulActivity; import com.android.launcher3.taskbar.TaskbarNavButtonController.TaskbarNavButtonCallbacks; import com.android.launcher3.taskbar.unfold.NonDestroyableScopedUnfoldTransitionProgressProvider; import com.android.launcher3.uioverrides.QuickstepLauncher; import com.android.launcher3.util.DisplayController; Loading @@ -70,7 +71,6 @@ import com.android.launcher3.util.SimpleBroadcastReceiver; import com.android.quickstep.AllAppsActionManager; import com.android.quickstep.RecentsActivity; import com.android.quickstep.SystemUiProxy; import com.android.quickstep.TouchInteractionService; import com.android.quickstep.util.AssistUtils; import com.android.systemui.shared.system.QuickStepContract; import com.android.systemui.unfold.UnfoldTransitionProgressProvider; Loading Loading @@ -209,15 +209,18 @@ public class TaskbarManager { @SuppressLint("WrongConstant") public TaskbarManager( TouchInteractionService service, AllAppsActionManager allAppsActionManager) { Context context, AllAppsActionManager allAppsActionManager, TaskbarNavButtonCallbacks navCallbacks) { Display display = service.getSystemService(DisplayManager.class).getDisplay(DEFAULT_DISPLAY); mContext = service.createWindowContext(display, context.getSystemService(DisplayManager.class).getDisplay(DEFAULT_DISPLAY); mContext = context.createWindowContext(display, ENABLE_TASKBAR_NAVBAR_UNIFICATION ? TYPE_NAVIGATION_BAR : TYPE_NAVIGATION_BAR_PANEL, null); mAllAppsActionManager = allAppsActionManager; mNavigationBarPanelContext = ENABLE_TASKBAR_NAVBAR_UNIFICATION ? service.createWindowContext(display, TYPE_NAVIGATION_BAR_PANEL, null) ? context.createWindowContext(display, TYPE_NAVIGATION_BAR_PANEL, null) : null; if (enableTaskbarNoRecreate()) { mWindowManager = mContext.getSystemService(WindowManager.class); Loading @@ -234,8 +237,11 @@ public class TaskbarManager { } }; } mNavButtonController = new TaskbarNavButtonController(service, SystemUiProxy.INSTANCE.get(mContext), new Handler(), mNavButtonController = new TaskbarNavButtonController( context, navCallbacks, SystemUiProxy.INSTANCE.get(mContext), new Handler(), AssistUtils.newInstance(mContext)); mComponentCallbacks = new ComponentCallbacks() { private Configuration mOldConfig = mContext.getResources().getConfiguration(); Loading quickstep/src/com/android/launcher3/taskbar/TaskbarNavButtonController.java +23 −9 Original line number Diff line number Diff line Loading @@ -31,6 +31,7 @@ import static com.android.systemui.shared.system.ActivityManagerWrapper.CLOSE_SY import static com.android.systemui.shared.system.ActivityManagerWrapper.CLOSE_SYSTEM_WINDOWS_REASON_RECENTS; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_SCREEN_PINNING; import android.content.Context; import android.os.Bundle; import android.os.Handler; import android.util.Log; Loading @@ -47,10 +48,8 @@ import com.android.launcher3.statehandlers.DesktopVisibilityController; import com.android.launcher3.testing.TestLogging; import com.android.launcher3.testing.shared.TestProtocol; import com.android.quickstep.LauncherActivityInterface; import com.android.quickstep.OverviewCommandHelper; import com.android.quickstep.SystemUiProxy; import com.android.quickstep.TaskUtils; import com.android.quickstep.TouchInteractionService; import com.android.quickstep.util.AssistUtils; import java.io.PrintWriter; Loading Loading @@ -106,7 +105,8 @@ public class TaskbarNavButtonController implements TaskbarControllers.LoggableTa private static final int SCREEN_UNPIN_COMBO = BUTTON_BACK | BUTTON_RECENTS; private int mLongPressedButtons = 0; private final TouchInteractionService mService; private final Context mContext; private final TaskbarNavButtonCallbacks mCallbacks; private final SystemUiProxy mSystemUiProxy; private final Handler mHandler; private final AssistUtils mAssistUtils; Loading @@ -114,9 +114,14 @@ public class TaskbarNavButtonController implements TaskbarControllers.LoggableTa private final Runnable mResetLongPress = this::resetScreenUnpin; public TaskbarNavButtonController(TouchInteractionService service, SystemUiProxy systemUiProxy, Handler handler, AssistUtils assistUtils) { mService = service; public TaskbarNavButtonController( Context context, TaskbarNavButtonCallbacks callbacks, SystemUiProxy systemUiProxy, Handler handler, AssistUtils assistUtils) { mContext = context; mCallbacks = callbacks; mSystemUiProxy = systemUiProxy; mHandler = handler; mAssistUtils = assistUtils; Loading Loading @@ -286,7 +291,7 @@ public class TaskbarNavButtonController implements TaskbarControllers.LoggableTa desktopVisibilityController.onHomeActionTriggered(); } mService.getOverviewCommandHelper().addCommand(OverviewCommandHelper.TYPE_HOME); mCallbacks.onNavigateHome(); } private void navigateToOverview() { Loading @@ -295,7 +300,7 @@ public class TaskbarNavButtonController implements TaskbarControllers.LoggableTa } TestLogging.recordEvent(TestProtocol.SEQUENCE_MAIN, "onOverviewToggle"); TaskUtils.closeSystemWindowsAsync(CLOSE_SYSTEM_WINDOWS_REASON_RECENTS); mService.getOverviewCommandHelper().addCommand(OverviewCommandHelper.TYPE_TOGGLE); mCallbacks.onToggleOverview(); } private void executeBack() { Loading @@ -310,7 +315,7 @@ public class TaskbarNavButtonController implements TaskbarControllers.LoggableTa if (longClick) { mSystemUiProxy.notifyAccessibilityButtonLongClicked(); } else { mSystemUiProxy.notifyAccessibilityButtonClicked(mService.getDisplayId()); mSystemUiProxy.notifyAccessibilityButtonClicked(mContext.getDisplayId()); } } Loading @@ -333,4 +338,13 @@ public class TaskbarNavButtonController implements TaskbarControllers.LoggableTa private void showNotifications() { mSystemUiProxy.toggleNotificationPanel(); } /** Callbacks for navigation buttons on Taskbar. */ public interface TaskbarNavButtonCallbacks { /** Callback invoked when the home button is pressed. */ default void onNavigateHome() {} /** Callback invoked when the overview button is pressed. */ default void onToggleOverview() {} } } quickstep/src/com/android/quickstep/TouchInteractionService.java +14 −1 Original line number Diff line number Diff line Loading @@ -94,6 +94,7 @@ import com.android.launcher3.provider.RestoreDbTask; import com.android.launcher3.statemanager.StatefulActivity; import com.android.launcher3.taskbar.TaskbarActivityContext; import com.android.launcher3.taskbar.TaskbarManager; import com.android.launcher3.taskbar.TaskbarNavButtonController.TaskbarNavButtonCallbacks; import com.android.launcher3.testing.TestLogging; import com.android.launcher3.testing.shared.ResourceUtils; import com.android.launcher3.testing.shared.TestProtocol; Loading Loading @@ -470,6 +471,18 @@ public class TouchInteractionService extends Service { private final ScreenOnTracker.ScreenOnListener mScreenOnListener = this::onScreenOnChanged; private final TaskbarNavButtonCallbacks mNavCallbacks = new TaskbarNavButtonCallbacks() { @Override public void onNavigateHome() { mOverviewCommandHelper.addCommand(OverviewCommandHelper.TYPE_HOME); } @Override public void onToggleOverview() { mOverviewCommandHelper.addCommand(OverviewCommandHelper.TYPE_TOGGLE); } }; private ActivityManagerWrapper mAM; private OverviewCommandHelper mOverviewCommandHelper; private OverviewComponentObserver mOverviewComponentObserver; Loading Loading @@ -500,7 +513,7 @@ public class TouchInteractionService extends Service { mDeviceState = new RecentsAnimationDeviceState(this, true); mAllAppsActionManager = new AllAppsActionManager( this, UI_HELPER_EXECUTOR, this::createAllAppsPendingIntent); mTaskbarManager = new TaskbarManager(this, mAllAppsActionManager); mTaskbarManager = new TaskbarManager(this, mAllAppsActionManager, mNavCallbacks); mRotationTouchHelper = mDeviceState.getRotationTouchHelper(); mInputConsumer = InputConsumerController.getRecentsAnimationInputConsumer(); Loading quickstep/tests/multivalentTests/src/com/android/launcher3/taskbar/TaskbarNavButtonControllerTest.java +27 −12 Original line number Diff line number Diff line Loading @@ -12,10 +12,10 @@ import static com.android.launcher3.taskbar.TaskbarNavButtonController.BUTTON_HO import static com.android.launcher3.taskbar.TaskbarNavButtonController.BUTTON_IME_SWITCH; import static com.android.launcher3.taskbar.TaskbarNavButtonController.BUTTON_RECENTS; import static com.android.launcher3.taskbar.TaskbarNavButtonController.SCREEN_PIN_LONG_PRESS_THRESHOLD; import static com.android.quickstep.OverviewCommandHelper.TYPE_HOME; import static com.android.quickstep.OverviewCommandHelper.TYPE_TOGGLE; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_SCREEN_PINNING; import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.Mockito.doReturn; Loading @@ -31,7 +31,7 @@ import androidx.test.platform.app.InstrumentationRegistry; import androidx.test.runner.AndroidJUnit4; import com.android.launcher3.logging.StatsLogManager; import com.android.quickstep.OverviewCommandHelper; import com.android.launcher3.taskbar.TaskbarNavButtonController.TaskbarNavButtonCallbacks; import com.android.quickstep.SystemUiProxy; import com.android.quickstep.TouchInteractionService; import com.android.quickstep.util.AssistUtils; Loading @@ -52,8 +52,6 @@ public class TaskbarNavButtonControllerTest { @Mock TouchInteractionService mockService; @Mock OverviewCommandHelper mockCommandHelper; @Mock Handler mockHandler; @Mock AssistUtils mockAssistUtils; Loading @@ -68,13 +66,26 @@ public class TaskbarNavButtonControllerTest { @Mock View mockView; private int mHomePressCount; private int mOverviewToggleCount; private final TaskbarNavButtonCallbacks mCallbacks = new TaskbarNavButtonCallbacks() { @Override public void onNavigateHome() { mHomePressCount++; } @Override public void onToggleOverview() { mOverviewToggleCount++; } }; private TaskbarNavButtonController mNavButtonController; @Before public void setup() { MockitoAnnotations.initMocks(this); when(mockService.getDisplayId()).thenReturn(DISPLAY_ID); when(mockService.getOverviewCommandHelper()).thenReturn(mockCommandHelper); when(mockService.getApplicationContext()) .thenReturn(InstrumentationRegistry.getInstrumentation().getTargetContext() .getApplicationContext()); Loading @@ -82,8 +93,12 @@ public class TaskbarNavButtonControllerTest { when(mockTaskbarControllers.getTaskbarActivityContext()) .thenReturn(mockTaskbarActivityContext); doReturn(mockStatsLogManager).when(mockTaskbarActivityContext).getStatsLogManager(); mNavButtonController = new TaskbarNavButtonController(mockService, mockSystemUiProxy, mockHandler, mockAssistUtils); mNavButtonController = new TaskbarNavButtonController( mockService, mCallbacks, mockSystemUiProxy, mockHandler, mockAssistUtils); } @Test Loading Loading @@ -154,20 +169,20 @@ public class TaskbarNavButtonControllerTest { @Test public void testPressHome() { mNavButtonController.onButtonClick(BUTTON_HOME, mockView); verify(mockCommandHelper, times(1)).addCommand(TYPE_HOME); assertThat(mHomePressCount).isEqualTo(1); } @Test public void testPressRecents() { mNavButtonController.onButtonClick(BUTTON_RECENTS, mockView); verify(mockCommandHelper, times(1)).addCommand(TYPE_TOGGLE); assertThat(mOverviewToggleCount).isEqualTo(1); } @Test public void testPressRecentsWithScreenPinned() { public void testPressRecentsWithScreenPinned_noNavigationToOverview() { mNavButtonController.updateSysuiFlags(SYSUI_STATE_SCREEN_PINNING); mNavButtonController.onButtonClick(BUTTON_RECENTS, mockView); verify(mockCommandHelper, times(0)).addCommand(TYPE_TOGGLE); assertThat(mOverviewToggleCount).isEqualTo(0); } @Test Loading Loading
quickstep/src/com/android/launcher3/taskbar/TaskbarManager.java +13 −7 Original line number Diff line number Diff line Loading @@ -62,6 +62,7 @@ import com.android.launcher3.Launcher; import com.android.launcher3.LauncherAppState; import com.android.launcher3.anim.AnimatorPlaybackController; import com.android.launcher3.statemanager.StatefulActivity; import com.android.launcher3.taskbar.TaskbarNavButtonController.TaskbarNavButtonCallbacks; import com.android.launcher3.taskbar.unfold.NonDestroyableScopedUnfoldTransitionProgressProvider; import com.android.launcher3.uioverrides.QuickstepLauncher; import com.android.launcher3.util.DisplayController; Loading @@ -70,7 +71,6 @@ import com.android.launcher3.util.SimpleBroadcastReceiver; import com.android.quickstep.AllAppsActionManager; import com.android.quickstep.RecentsActivity; import com.android.quickstep.SystemUiProxy; import com.android.quickstep.TouchInteractionService; import com.android.quickstep.util.AssistUtils; import com.android.systemui.shared.system.QuickStepContract; import com.android.systemui.unfold.UnfoldTransitionProgressProvider; Loading Loading @@ -209,15 +209,18 @@ public class TaskbarManager { @SuppressLint("WrongConstant") public TaskbarManager( TouchInteractionService service, AllAppsActionManager allAppsActionManager) { Context context, AllAppsActionManager allAppsActionManager, TaskbarNavButtonCallbacks navCallbacks) { Display display = service.getSystemService(DisplayManager.class).getDisplay(DEFAULT_DISPLAY); mContext = service.createWindowContext(display, context.getSystemService(DisplayManager.class).getDisplay(DEFAULT_DISPLAY); mContext = context.createWindowContext(display, ENABLE_TASKBAR_NAVBAR_UNIFICATION ? TYPE_NAVIGATION_BAR : TYPE_NAVIGATION_BAR_PANEL, null); mAllAppsActionManager = allAppsActionManager; mNavigationBarPanelContext = ENABLE_TASKBAR_NAVBAR_UNIFICATION ? service.createWindowContext(display, TYPE_NAVIGATION_BAR_PANEL, null) ? context.createWindowContext(display, TYPE_NAVIGATION_BAR_PANEL, null) : null; if (enableTaskbarNoRecreate()) { mWindowManager = mContext.getSystemService(WindowManager.class); Loading @@ -234,8 +237,11 @@ public class TaskbarManager { } }; } mNavButtonController = new TaskbarNavButtonController(service, SystemUiProxy.INSTANCE.get(mContext), new Handler(), mNavButtonController = new TaskbarNavButtonController( context, navCallbacks, SystemUiProxy.INSTANCE.get(mContext), new Handler(), AssistUtils.newInstance(mContext)); mComponentCallbacks = new ComponentCallbacks() { private Configuration mOldConfig = mContext.getResources().getConfiguration(); Loading
quickstep/src/com/android/launcher3/taskbar/TaskbarNavButtonController.java +23 −9 Original line number Diff line number Diff line Loading @@ -31,6 +31,7 @@ import static com.android.systemui.shared.system.ActivityManagerWrapper.CLOSE_SY import static com.android.systemui.shared.system.ActivityManagerWrapper.CLOSE_SYSTEM_WINDOWS_REASON_RECENTS; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_SCREEN_PINNING; import android.content.Context; import android.os.Bundle; import android.os.Handler; import android.util.Log; Loading @@ -47,10 +48,8 @@ import com.android.launcher3.statehandlers.DesktopVisibilityController; import com.android.launcher3.testing.TestLogging; import com.android.launcher3.testing.shared.TestProtocol; import com.android.quickstep.LauncherActivityInterface; import com.android.quickstep.OverviewCommandHelper; import com.android.quickstep.SystemUiProxy; import com.android.quickstep.TaskUtils; import com.android.quickstep.TouchInteractionService; import com.android.quickstep.util.AssistUtils; import java.io.PrintWriter; Loading Loading @@ -106,7 +105,8 @@ public class TaskbarNavButtonController implements TaskbarControllers.LoggableTa private static final int SCREEN_UNPIN_COMBO = BUTTON_BACK | BUTTON_RECENTS; private int mLongPressedButtons = 0; private final TouchInteractionService mService; private final Context mContext; private final TaskbarNavButtonCallbacks mCallbacks; private final SystemUiProxy mSystemUiProxy; private final Handler mHandler; private final AssistUtils mAssistUtils; Loading @@ -114,9 +114,14 @@ public class TaskbarNavButtonController implements TaskbarControllers.LoggableTa private final Runnable mResetLongPress = this::resetScreenUnpin; public TaskbarNavButtonController(TouchInteractionService service, SystemUiProxy systemUiProxy, Handler handler, AssistUtils assistUtils) { mService = service; public TaskbarNavButtonController( Context context, TaskbarNavButtonCallbacks callbacks, SystemUiProxy systemUiProxy, Handler handler, AssistUtils assistUtils) { mContext = context; mCallbacks = callbacks; mSystemUiProxy = systemUiProxy; mHandler = handler; mAssistUtils = assistUtils; Loading Loading @@ -286,7 +291,7 @@ public class TaskbarNavButtonController implements TaskbarControllers.LoggableTa desktopVisibilityController.onHomeActionTriggered(); } mService.getOverviewCommandHelper().addCommand(OverviewCommandHelper.TYPE_HOME); mCallbacks.onNavigateHome(); } private void navigateToOverview() { Loading @@ -295,7 +300,7 @@ public class TaskbarNavButtonController implements TaskbarControllers.LoggableTa } TestLogging.recordEvent(TestProtocol.SEQUENCE_MAIN, "onOverviewToggle"); TaskUtils.closeSystemWindowsAsync(CLOSE_SYSTEM_WINDOWS_REASON_RECENTS); mService.getOverviewCommandHelper().addCommand(OverviewCommandHelper.TYPE_TOGGLE); mCallbacks.onToggleOverview(); } private void executeBack() { Loading @@ -310,7 +315,7 @@ public class TaskbarNavButtonController implements TaskbarControllers.LoggableTa if (longClick) { mSystemUiProxy.notifyAccessibilityButtonLongClicked(); } else { mSystemUiProxy.notifyAccessibilityButtonClicked(mService.getDisplayId()); mSystemUiProxy.notifyAccessibilityButtonClicked(mContext.getDisplayId()); } } Loading @@ -333,4 +338,13 @@ public class TaskbarNavButtonController implements TaskbarControllers.LoggableTa private void showNotifications() { mSystemUiProxy.toggleNotificationPanel(); } /** Callbacks for navigation buttons on Taskbar. */ public interface TaskbarNavButtonCallbacks { /** Callback invoked when the home button is pressed. */ default void onNavigateHome() {} /** Callback invoked when the overview button is pressed. */ default void onToggleOverview() {} } }
quickstep/src/com/android/quickstep/TouchInteractionService.java +14 −1 Original line number Diff line number Diff line Loading @@ -94,6 +94,7 @@ import com.android.launcher3.provider.RestoreDbTask; import com.android.launcher3.statemanager.StatefulActivity; import com.android.launcher3.taskbar.TaskbarActivityContext; import com.android.launcher3.taskbar.TaskbarManager; import com.android.launcher3.taskbar.TaskbarNavButtonController.TaskbarNavButtonCallbacks; import com.android.launcher3.testing.TestLogging; import com.android.launcher3.testing.shared.ResourceUtils; import com.android.launcher3.testing.shared.TestProtocol; Loading Loading @@ -470,6 +471,18 @@ public class TouchInteractionService extends Service { private final ScreenOnTracker.ScreenOnListener mScreenOnListener = this::onScreenOnChanged; private final TaskbarNavButtonCallbacks mNavCallbacks = new TaskbarNavButtonCallbacks() { @Override public void onNavigateHome() { mOverviewCommandHelper.addCommand(OverviewCommandHelper.TYPE_HOME); } @Override public void onToggleOverview() { mOverviewCommandHelper.addCommand(OverviewCommandHelper.TYPE_TOGGLE); } }; private ActivityManagerWrapper mAM; private OverviewCommandHelper mOverviewCommandHelper; private OverviewComponentObserver mOverviewComponentObserver; Loading Loading @@ -500,7 +513,7 @@ public class TouchInteractionService extends Service { mDeviceState = new RecentsAnimationDeviceState(this, true); mAllAppsActionManager = new AllAppsActionManager( this, UI_HELPER_EXECUTOR, this::createAllAppsPendingIntent); mTaskbarManager = new TaskbarManager(this, mAllAppsActionManager); mTaskbarManager = new TaskbarManager(this, mAllAppsActionManager, mNavCallbacks); mRotationTouchHelper = mDeviceState.getRotationTouchHelper(); mInputConsumer = InputConsumerController.getRecentsAnimationInputConsumer(); Loading
quickstep/tests/multivalentTests/src/com/android/launcher3/taskbar/TaskbarNavButtonControllerTest.java +27 −12 Original line number Diff line number Diff line Loading @@ -12,10 +12,10 @@ import static com.android.launcher3.taskbar.TaskbarNavButtonController.BUTTON_HO import static com.android.launcher3.taskbar.TaskbarNavButtonController.BUTTON_IME_SWITCH; import static com.android.launcher3.taskbar.TaskbarNavButtonController.BUTTON_RECENTS; import static com.android.launcher3.taskbar.TaskbarNavButtonController.SCREEN_PIN_LONG_PRESS_THRESHOLD; import static com.android.quickstep.OverviewCommandHelper.TYPE_HOME; import static com.android.quickstep.OverviewCommandHelper.TYPE_TOGGLE; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_SCREEN_PINNING; import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.Mockito.doReturn; Loading @@ -31,7 +31,7 @@ import androidx.test.platform.app.InstrumentationRegistry; import androidx.test.runner.AndroidJUnit4; import com.android.launcher3.logging.StatsLogManager; import com.android.quickstep.OverviewCommandHelper; import com.android.launcher3.taskbar.TaskbarNavButtonController.TaskbarNavButtonCallbacks; import com.android.quickstep.SystemUiProxy; import com.android.quickstep.TouchInteractionService; import com.android.quickstep.util.AssistUtils; Loading @@ -52,8 +52,6 @@ public class TaskbarNavButtonControllerTest { @Mock TouchInteractionService mockService; @Mock OverviewCommandHelper mockCommandHelper; @Mock Handler mockHandler; @Mock AssistUtils mockAssistUtils; Loading @@ -68,13 +66,26 @@ public class TaskbarNavButtonControllerTest { @Mock View mockView; private int mHomePressCount; private int mOverviewToggleCount; private final TaskbarNavButtonCallbacks mCallbacks = new TaskbarNavButtonCallbacks() { @Override public void onNavigateHome() { mHomePressCount++; } @Override public void onToggleOverview() { mOverviewToggleCount++; } }; private TaskbarNavButtonController mNavButtonController; @Before public void setup() { MockitoAnnotations.initMocks(this); when(mockService.getDisplayId()).thenReturn(DISPLAY_ID); when(mockService.getOverviewCommandHelper()).thenReturn(mockCommandHelper); when(mockService.getApplicationContext()) .thenReturn(InstrumentationRegistry.getInstrumentation().getTargetContext() .getApplicationContext()); Loading @@ -82,8 +93,12 @@ public class TaskbarNavButtonControllerTest { when(mockTaskbarControllers.getTaskbarActivityContext()) .thenReturn(mockTaskbarActivityContext); doReturn(mockStatsLogManager).when(mockTaskbarActivityContext).getStatsLogManager(); mNavButtonController = new TaskbarNavButtonController(mockService, mockSystemUiProxy, mockHandler, mockAssistUtils); mNavButtonController = new TaskbarNavButtonController( mockService, mCallbacks, mockSystemUiProxy, mockHandler, mockAssistUtils); } @Test Loading Loading @@ -154,20 +169,20 @@ public class TaskbarNavButtonControllerTest { @Test public void testPressHome() { mNavButtonController.onButtonClick(BUTTON_HOME, mockView); verify(mockCommandHelper, times(1)).addCommand(TYPE_HOME); assertThat(mHomePressCount).isEqualTo(1); } @Test public void testPressRecents() { mNavButtonController.onButtonClick(BUTTON_RECENTS, mockView); verify(mockCommandHelper, times(1)).addCommand(TYPE_TOGGLE); assertThat(mOverviewToggleCount).isEqualTo(1); } @Test public void testPressRecentsWithScreenPinned() { public void testPressRecentsWithScreenPinned_noNavigationToOverview() { mNavButtonController.updateSysuiFlags(SYSUI_STATE_SCREEN_PINNING); mNavButtonController.onButtonClick(BUTTON_RECENTS, mockView); verify(mockCommandHelper, times(0)).addCommand(TYPE_TOGGLE); assertThat(mOverviewToggleCount).isEqualTo(0); } @Test Loading