summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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();