diff options
| author | 2023-08-17 19:17:29 +0000 | |
|---|---|---|
| committer | 2023-08-17 19:17:29 +0000 | |
| commit | dec1c68f9a596e7396d4c5aa3fbe44cbb44153c3 (patch) | |
| tree | 243ab95be4ba1de97279fd8ac3d2373c6aaa6350 | |
| parent | 710b6e9f572f8346b391bd1afa53da99de570b6a (diff) | |
| parent | 6b6d5b9ab3a7623af264852c47136b5ca5fe7cbc (diff) | |
Merge "Remove pinned tasks when starting locked task w/ intent" into main
| -rw-r--r-- | services/core/java/com/android/server/wm/ActivityTaskManagerService.java | 3 | ||||
| -rw-r--r-- | services/core/java/com/android/server/wm/LockTaskController.java | 4 |
2 files changed, 4 insertions, 3 deletions
diff --git a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java index 6c848d18a007..fb6241200145 100644 --- a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java +++ b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java @@ -2606,9 +2606,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); diff --git a/services/core/java/com/android/server/wm/LockTaskController.java b/services/core/java/com/android/server/wm/LockTaskController.java index 0c98fb5000d5..0f9998cafc4e 100644 --- a/services/core/java/com/android/server/wm/LockTaskController.java +++ b/services/core/java/com/android/server/wm/LockTaskController.java @@ -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, |