Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit daffdfa3 authored by Vinit Nayak's avatar Vinit Nayak Committed by Android (Google) Code Review
Browse files

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

parents 1973056e 0d784ee7
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -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
     */
+6 −1
Original line number Diff line number Diff line
@@ -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();
+3 −1
Original line number Diff line number Diff line
@@ -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));
            });
        }

+10 −1
Original line number Diff line number Diff line
@@ -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);