diff options
| author | 2021-11-12 06:13:06 +0000 | |
|---|---|---|
| committer | 2021-11-12 06:13:06 +0000 | |
| commit | e171c540da8fbc9f8ff28cc284228771c926c16a (patch) | |
| tree | 4b51c721ac4e42e71d39f655706277fc21f6dea3 | |
| parent | e8e382c03fa9dcc2c973c92516ce6fee73f1aa8f (diff) | |
| parent | d41841f469f3a9e134615e21674507454e0035af (diff) | |
Merge "Consider the lock-task mode while using FLAG_ACTIVITY_TASK_ON_HOME" into sc-v2-dev
| -rw-r--r-- | services/core/java/com/android/server/wm/Task.java | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/wm/Task.java b/services/core/java/com/android/server/wm/Task.java index 4190ff0b9bc7..1b7a012094f6 100644 --- a/services/core/java/com/android/server/wm/Task.java +++ b/services/core/java/com/android/server/wm/Task.java @@ -1126,7 +1126,11 @@ class Task extends TaskFragment { if (inMultiWindowMode() || !hasChild()) return false; if (intent != null) { final int returnHomeFlags = FLAG_ACTIVITY_NEW_TASK | FLAG_ACTIVITY_TASK_ON_HOME; - return intent != null && (intent.getFlags() & returnHomeFlags) == returnHomeFlags; + final Task task = getDisplayArea() != null ? getDisplayArea().getRootHomeTask() : null; + final boolean isLockTaskModeViolation = task != null + && mAtmService.getLockTaskController().isLockTaskModeViolation(task); + return (intent.getFlags() & returnHomeFlags) == returnHomeFlags + && !isLockTaskModeViolation; } final Task bottomTask = getBottomMostTask(); return bottomTask != this && bottomTask.returnsToHomeRootTask(); |