From 04ef18ed269ebccb202817968b811bea94fa5e46 Mon Sep 17 00:00:00 2001 From: Galia Peycheva Date: Thu, 27 May 2021 18:17:17 +0200 Subject: Fix dream not working on top of pinned apps Bug: 162473921 Test: manual Change-Id: Ia76bd24fe63927e2273fee991632ba6ba0fc829f --- .../core/java/com/android/server/wm/ActivityTaskManagerService.java | 1 + services/core/java/com/android/server/wm/LockTaskController.java | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java index c7e4abbe3db5..c9be4bc5a1ac 100644 --- a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java +++ b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java @@ -1381,6 +1381,7 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub { getActivityStartController().obtainStarter(intent, "dream") .setCallingUid(callingUid) .setCallingPid(callingPid) + .setCallingPackage(intent.getPackage()) .setActivityInfo(a) .setActivityOptions(options.toBundle()) // To start the dream from background, we need to start it from a persistent diff --git a/services/core/java/com/android/server/wm/LockTaskController.java b/services/core/java/com/android/server/wm/LockTaskController.java index 62c155a3c198..94a175caba22 100644 --- a/services/core/java/com/android/server/wm/LockTaskController.java +++ b/services/core/java/com/android/server/wm/LockTaskController.java @@ -355,6 +355,11 @@ public class LockTaskController { return false; } + // Allow the dream to start during lock task mode + if (wc.isActivityTypeDream()) { + return false; + } + return !(isTaskAuthAllowlisted(taskAuth) || mLockTaskModeTasks.isEmpty()); } -- cgit v1.2.3-59-g8ed1b