summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Jeff Chang <chengjeff@google.com> 2022-12-12 06:00:52 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2022-12-12 06:00:52 +0000
commit2016b1dcd1410e2cc03cb4bb44a3d988f97a37f4 (patch)
treef6b6d0aa9a5922755d84983926f9e2b371d5b105
parente87c348fcd9b8eba90b46be9f2e3558a8640f770 (diff)
parent9eef8ebc44d1d70f0cb9f8b34bdb1ff885227f68 (diff)
Merge "Check lock-task mode if task_on_home is applied" into tm-qpr-dev
-rw-r--r--services/core/java/com/android/server/wm/Task.java9
1 files changed, 5 insertions, 4 deletions
diff --git a/services/core/java/com/android/server/wm/Task.java b/services/core/java/com/android/server/wm/Task.java
index fd11246ddf66..292ed951b7e7 100644
--- a/services/core/java/com/android/server/wm/Task.java
+++ b/services/core/java/com/android/server/wm/Task.java
@@ -1125,11 +1125,12 @@ class Task extends TaskFragment {
if (inMultiWindowMode() || !hasChild()) return false;
if (intent != null) {
final int returnHomeFlags = FLAG_ACTIVITY_NEW_TASK | FLAG_ACTIVITY_TASK_ON_HOME;
+ if ((intent.getFlags() & returnHomeFlags) != returnHomeFlags) {
+ return false;
+ }
final Task task = getDisplayArea() != null ? getDisplayArea().getRootHomeTask() : null;
- final boolean isLockTaskModeViolation = task != null
- && mAtmService.getLockTaskController().isLockTaskModeViolation(task);
- return (intent.getFlags() & returnHomeFlags) == returnHomeFlags
- && !isLockTaskModeViolation;
+ return !(task != null
+ && mAtmService.getLockTaskController().isLockTaskModeViolation(task));
}
final Task bottomTask = getBottomMostTask();
return bottomTask != this && bottomTask.returnsToHomeRootTask();