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

Commit 2c01a0d1 authored by Louis Chang's avatar Louis Chang Committed by Android (Google) Code Review
Browse files

Merge "Avoid app pinning requests if the Task is already locked" into main

parents 21513aef b4945cf9
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -652,6 +652,10 @@ public class LockTaskController {
        if (!isSystemCaller) {
            task.mLockTaskUid = callingUid;
            if (task.mLockTaskAuth == LOCK_TASK_AUTH_PINNABLE) {
                if (mLockTaskModeTasks.contains(task)) {
                    ProtoLog.w(WM_DEBUG_LOCKTASK, "Already locked.");
                    return;
                }
                // startLockTask() called by app, but app is not part of lock task allowlist. Show
                // app pinning request. We will come back here with isSystemCaller true.
                ProtoLog.w(WM_DEBUG_LOCKTASK, "Mode default, asking user");
+5 −0
Original line number Diff line number Diff line
@@ -239,6 +239,11 @@ public class LockTaskControllerTest {
        verifyLockTaskStarted(STATUS_BAR_MASK_PINNED, DISABLE2_NONE);
        // THEN screen pinning toast should be shown
        verify(mStatusBarService).showPinningEnterExitToast(eq(true /* entering */));

        // WHEN the app calls startLockTaskMode while the Task is already locked
        mLockTaskController.startLockTaskMode(tr, false, TEST_UID);
        // THEN a pinning request should NOT be shown
        verify(mStatusBarManagerInternal, never()).showScreenPinningRequest(anyInt(), anyInt());
    }

    @Test