mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-02-28 15:56:49 +00:00
Merge "Add tests for LPH override for 3 button mode Taskbar." into udc-qpr-dev am: 3289e4fa35
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/24607784 Change-Id: I87cd79905c5febcd0391d75b9756522ad3d1ba34 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -64,6 +64,7 @@ import com.android.launcher3.util.SimpleBroadcastReceiver;
|
||||
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;
|
||||
import com.android.systemui.unfold.util.ScopedUnfoldTransitionProgressProvider;
|
||||
@@ -176,7 +177,8 @@ public class TaskbarManager {
|
||||
service.getSystemService(DisplayManager.class).getDisplay(DEFAULT_DISPLAY);
|
||||
mContext = service.createWindowContext(display, TYPE_NAVIGATION_BAR_PANEL, null);
|
||||
mNavButtonController = new TaskbarNavButtonController(service,
|
||||
SystemUiProxy.INSTANCE.get(mContext), new Handler());
|
||||
SystemUiProxy.INSTANCE.get(mContext), new Handler(),
|
||||
AssistUtils.newInstance(mContext));
|
||||
mComponentCallbacks = new ComponentCallbacks() {
|
||||
private Configuration mOldConfig = mContext.getResources().getConfiguration();
|
||||
|
||||
|
||||
@@ -109,15 +109,17 @@ public class TaskbarNavButtonController implements TaskbarControllers.LoggableTa
|
||||
private final TouchInteractionService mService;
|
||||
private final SystemUiProxy mSystemUiProxy;
|
||||
private final Handler mHandler;
|
||||
private final AssistUtils mAssistUtils;
|
||||
@Nullable private StatsLogManager mStatsLogManager;
|
||||
|
||||
private final Runnable mResetLongPress = this::resetScreenUnpin;
|
||||
|
||||
public TaskbarNavButtonController(TouchInteractionService service,
|
||||
SystemUiProxy systemUiProxy, Handler handler) {
|
||||
SystemUiProxy systemUiProxy, Handler handler, AssistUtils assistUtils) {
|
||||
mService = service;
|
||||
mSystemUiProxy = systemUiProxy;
|
||||
mHandler = handler;
|
||||
mAssistUtils = assistUtils;
|
||||
}
|
||||
|
||||
public void onButtonClick(@TaskbarButton int buttonType, View view) {
|
||||
@@ -313,8 +315,7 @@ public class TaskbarNavButtonController implements TaskbarControllers.LoggableTa
|
||||
return;
|
||||
}
|
||||
// Attempt to start Assist with AssistUtils, otherwise fall back to SysUi's implementation.
|
||||
if (!AssistUtils.newInstance(mService.getApplicationContext()).tryStartAssistOverride(
|
||||
INVOCATION_TYPE_HOME_BUTTON_LONG_PRESS)) {
|
||||
if (!mAssistUtils.tryStartAssistOverride(INVOCATION_TYPE_HOME_BUTTON_LONG_PRESS)) {
|
||||
Bundle args = new Bundle();
|
||||
args.putInt(INVOCATION_TYPE_KEY, INVOCATION_TYPE_HOME_BUTTON_LONG_PRESS);
|
||||
mSystemUiProxy.startAssistant(args);
|
||||
|
||||
@@ -17,6 +17,7 @@ import static com.android.quickstep.OverviewCommandHelper.TYPE_TOGGLE;
|
||||
import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_SCREEN_PINNING;
|
||||
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.ArgumentMatchers.anyInt;
|
||||
import static org.mockito.Mockito.doReturn;
|
||||
import static org.mockito.Mockito.never;
|
||||
import static org.mockito.Mockito.times;
|
||||
@@ -33,6 +34,7 @@ import com.android.launcher3.logging.StatsLogManager;
|
||||
import com.android.quickstep.OverviewCommandHelper;
|
||||
import com.android.quickstep.SystemUiProxy;
|
||||
import com.android.quickstep.TouchInteractionService;
|
||||
import com.android.quickstep.util.AssistUtils;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
@@ -54,6 +56,8 @@ public class TaskbarNavButtonControllerTest {
|
||||
@Mock
|
||||
Handler mockHandler;
|
||||
@Mock
|
||||
AssistUtils mockAssistUtils;
|
||||
@Mock
|
||||
StatsLogManager mockStatsLogManager;
|
||||
@Mock
|
||||
StatsLogManager.StatsLogger mockStatsLogger;
|
||||
@@ -79,7 +83,7 @@ public class TaskbarNavButtonControllerTest {
|
||||
.thenReturn(mockTaskbarActivityContext);
|
||||
doReturn(mockStatsLogManager).when(mockTaskbarActivityContext).getStatsLogManager();
|
||||
mNavButtonController = new TaskbarNavButtonController(mockService,
|
||||
mockSystemUiProxy, mockHandler);
|
||||
mockSystemUiProxy, mockHandler, mockAssistUtils);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -108,16 +112,42 @@ public class TaskbarNavButtonControllerTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testLongPressHome_enabled() {
|
||||
public void testLongPressHome_enabled_withoutOverride() {
|
||||
mNavButtonController.setAssistantLongPressEnabled(true /*assistantLongPressEnabled*/);
|
||||
when(mockAssistUtils.tryStartAssistOverride(anyInt())).thenReturn(false);
|
||||
|
||||
mNavButtonController.onButtonLongClick(BUTTON_HOME, mockView);
|
||||
verify(mockAssistUtils, times(1)).tryStartAssistOverride(anyInt());
|
||||
verify(mockSystemUiProxy, times(1)).startAssistant(any());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testLongPressHome_disabled() {
|
||||
mNavButtonController.setAssistantLongPressEnabled(false /*assistantLongPressEnabled*/);
|
||||
public void testLongPressHome_enabled_withOverride() {
|
||||
mNavButtonController.setAssistantLongPressEnabled(true /*assistantLongPressEnabled*/);
|
||||
when(mockAssistUtils.tryStartAssistOverride(anyInt())).thenReturn(true);
|
||||
|
||||
mNavButtonController.onButtonLongClick(BUTTON_HOME, mockView);
|
||||
verify(mockAssistUtils, times(1)).tryStartAssistOverride(anyInt());
|
||||
verify(mockSystemUiProxy, never()).startAssistant(any());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testLongPressHome_disabled_withoutOverride() {
|
||||
mNavButtonController.setAssistantLongPressEnabled(false /*assistantLongPressEnabled*/);
|
||||
when(mockAssistUtils.tryStartAssistOverride(anyInt())).thenReturn(false);
|
||||
|
||||
mNavButtonController.onButtonLongClick(BUTTON_HOME, mockView);
|
||||
verify(mockAssistUtils, never()).tryStartAssistOverride(anyInt());
|
||||
verify(mockSystemUiProxy, never()).startAssistant(any());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testLongPressHome_disabled_withOverride() {
|
||||
mNavButtonController.setAssistantLongPressEnabled(false /*assistantLongPressEnabled*/);
|
||||
when(mockAssistUtils.tryStartAssistOverride(anyInt())).thenReturn(true);
|
||||
|
||||
mNavButtonController.onButtonLongClick(BUTTON_HOME, mockView);
|
||||
verify(mockAssistUtils, never()).tryStartAssistOverride(anyInt());
|
||||
verify(mockSystemUiProxy, never()).startAssistant(any());
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user