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

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/20858639

Change-Id: Id32dcee4a58b87a578c0f08cf6974f0512ba0b1a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Vinit Nayak
2023-01-05 22:07:34 +00:00
committed by Automerger Merge Worker
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);