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

Commit b8ccc196 authored by Kevin Han's avatar Kevin Han Committed by Android (Google) Code Review
Browse files

Merge "Remove pinned tasks when starting locked task w/ intent" into udc-qpr-dev

parents f15ca0ca 96d2e1b7
Loading
Loading
Loading
Loading
+0 −3
Original line number Diff line number Diff line
@@ -2596,9 +2596,6 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {
        final int callingUid = Binder.getCallingUid();
        final long ident = Binder.clearCallingIdentity();
        try {
            // When a task is locked, dismiss the root pinned task if it exists
            mRootWindowContainer.removeRootTasksInWindowingModes(WINDOWING_MODE_PINNED);

            getLockTaskController().startLockTaskMode(task, isSystemCaller, callingUid);
        } finally {
            Binder.restoreCallingIdentity(ident);
+4 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ package com.android.server.wm;
import static android.app.ActivityManager.LOCK_TASK_MODE_LOCKED;
import static android.app.ActivityManager.LOCK_TASK_MODE_NONE;
import static android.app.ActivityManager.LOCK_TASK_MODE_PINNED;
import static android.app.WindowConfiguration.WINDOWING_MODE_PINNED;
import static android.app.WindowConfiguration.WINDOWING_MODE_UNDEFINED;
import static android.content.Context.DEVICE_POLICY_SERVICE;
import static android.content.Context.STATUS_BAR_SERVICE;
@@ -669,6 +670,9 @@ public class LockTaskController {
            }
        }

        // When a task is locked, dismiss the root pinned task if it exists
        mSupervisor.mRootWindowContainer.removeRootTasksInWindowingModes(WINDOWING_MODE_PINNED);

        // System can only initiate screen pinning, not full lock task mode
        ProtoLog.w(WM_DEBUG_LOCKTASK, "%s", isSystemCaller ? "Locking pinned" : "Locking fully");
        setLockTaskMode(task, isSystemCaller ? LOCK_TASK_MODE_PINNED : LOCK_TASK_MODE_LOCKED,