Merge "Toggle taskbar button nav assistant availability" into tm-qpr-dev

This commit is contained in:
Vinit Nayak
2023-01-05 21:28:23 +00:00
committed by Android (Google) Code Review
4 changed files with 25 additions and 3 deletions

View File

@@ -320,6 +320,12 @@ public class TaskbarManager {
}
}
public void onLongPressHomeEnabled(boolean assistantLongPressEnabled) {
if (mNavButtonController != null) {
mNavButtonController.setAssistantLongPressEnabled(assistantLongPressEnabled);
}
}
/**
* Sets the flag indicating setup UI is visible
*/

View File

@@ -67,6 +67,7 @@ public class TaskbarNavButtonController implements TaskbarControllers.LoggableTa
private long mLastScreenPinLongPress;
private boolean mScreenPinned;
private boolean mAssistantLongPressEnabled;
@Override
public void dumpLogs(String prefix, PrintWriter pw) {
@@ -251,6 +252,10 @@ public class TaskbarNavButtonController implements TaskbarControllers.LoggableTa
mStatsLogManager = null;
}
public void setAssistantLongPressEnabled(boolean assistantLongPressEnabled) {
mAssistantLongPressEnabled = assistantLongPressEnabled;
}
private void logEvent(StatsLogManager.LauncherEvent event) {
if (mStatsLogManager == null) {
Log.w(TAG, "No stats log manager to log taskbar button event");
@@ -289,7 +294,7 @@ public class TaskbarNavButtonController implements TaskbarControllers.LoggableTa
}
private void startAssistant() {
if (mScreenPinned) {
if (mScreenPinned || !mAssistantLongPressEnabled) {
return;
}
Bundle args = new Bundle();

View File

@@ -216,10 +216,12 @@ public class TouchInteractionService extends Service
@BinderThread
@Override
public void onAssistantAvailable(boolean available) {
public void onAssistantAvailable(boolean available, boolean longPressHomeEnabled) {
MAIN_EXECUTOR.execute(() -> {
mDeviceState.setAssistantAvailable(available);
TouchInteractionService.this.onAssistantVisibilityChanged();
executeForTaskbarManager(() -> mTaskbarManager
.onLongPressHomeEnabled(longPressHomeEnabled));
});
}

View File

@@ -18,6 +18,7 @@ import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_S
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@@ -103,11 +104,19 @@ public class TaskbarNavButtonControllerTest {
}
@Test
public void testLongPressHome() {
public void testLongPressHome_enabled() {
mNavButtonController.setAssistantLongPressEnabled(true /*assistantLongPressEnabled*/);
mNavButtonController.onButtonLongClick(BUTTON_HOME, mockView);
verify(mockSystemUiProxy, times(1)).startAssistant(any());
}
@Test
public void testLongPressHome_disabled() {
mNavButtonController.setAssistantLongPressEnabled(false /*assistantLongPressEnabled*/);
mNavButtonController.onButtonLongClick(BUTTON_HOME, mockView);
verify(mockSystemUiProxy, never()).startAssistant(any());
}
@Test
public void testPressHome() {
mNavButtonController.onButtonClick(BUTTON_HOME, mockView);