From 834b63af32dedef458ddaf9b13bc394013149560 Mon Sep 17 00:00:00 2001 From: Evan Rosky Date: Tue, 23 May 2023 13:31:24 -0700 Subject: [PATCH] Apply pending-intent op before blanket locktask check PendingIntent goes through ActivityStarter which will, itself, check locktask state. So, we can consider it one of the HOPs that is valid to attempt during locktask-mode. Bug: 283011244 Test: enable HOME/OVERVIEW features in lock-task policy, enter lock-task mode, go to home or recents. Change-Id: Id209684db35b24ae12c4ec2f8c63ebebae1c0f9b --- .../server/wm/WindowOrganizerController.java | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/services/core/java/com/android/server/wm/WindowOrganizerController.java b/services/core/java/com/android/server/wm/WindowOrganizerController.java index 7e34d15ddcfce..8e85e5bca2409 100644 --- a/services/core/java/com/android/server/wm/WindowOrganizerController.java +++ b/services/core/java/com/android/server/wm/WindowOrganizerController.java @@ -960,20 +960,6 @@ class WindowOrganizerController extends IWindowOrganizerController.Stub errorCallbackToken, organizer); break; } - default: { - // The other operations may change task order so they are skipped while in lock - // task mode. The above operations are still allowed because they don't move - // tasks. And it may be necessary such as clearing launch root after entering - // lock task mode. - if (isInLockTaskMode) { - Slog.w(TAG, "Skip applying hierarchy operation " + hop - + " while in lock task mode"); - return effects; - } - } - } - - switch (type) { case HIERARCHY_OP_TYPE_PENDING_INTENT: { final Bundle launchOpts = hop.getLaunchOptions(); ActivityOptions activityOptions = launchOpts != null @@ -1012,6 +998,20 @@ class WindowOrganizerController extends IWindowOrganizerController.Stub } break; } + default: { + // The other operations may change task order so they are skipped while in lock + // task mode. The above operations are still allowed because they don't move + // tasks. And it may be necessary such as clearing launch root after entering + // lock task mode. + if (isInLockTaskMode) { + Slog.w(TAG, "Skip applying hierarchy operation " + hop + + " while in lock task mode"); + return effects; + } + } + } + + switch (type) { case HIERARCHY_OP_TYPE_START_SHORTCUT: { final Bundle launchOpts = hop.getLaunchOptions(); final String callingPackage = launchOpts.getString(