diff options
| -rw-r--r-- | services/core/java/com/android/server/wm/ActivityStarter.java | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/wm/ActivityStarter.java b/services/core/java/com/android/server/wm/ActivityStarter.java index 2c4179fb6d88..0d987074de76 100644 --- a/services/core/java/com/android/server/wm/ActivityStarter.java +++ b/services/core/java/com/android/server/wm/ActivityStarter.java @@ -1757,6 +1757,13 @@ class ActivityStarter { startedActivityRootTask.setAlwaysOnTop(true); } + if (isIndependentLaunch && !mDoResume && avoidMoveToFront() && !mTransientLaunch + && !started.shouldBeVisible(true /* ignoringKeyguard */)) { + Slog.i(TAG, "Abort " + transition + " of invisible launch " + started); + transition.abort(); + return startedActivityRootTask; + } + // If there is no state change (e.g. a resumed activity is reparented to top of // another display) to trigger a visibility/configuration checking, we have to // update the configuration for changing to different display. |