diff options
| -rw-r--r-- | services/core/java/com/android/server/wm/ActivityRecord.java | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/wm/ActivityRecord.java b/services/core/java/com/android/server/wm/ActivityRecord.java index 9f16a8441533..89a4a13c9bd9 100644 --- a/services/core/java/com/android/server/wm/ActivityRecord.java +++ b/services/core/java/com/android/server/wm/ActivityRecord.java @@ -4550,6 +4550,13 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A * immediately finishes after, so we have to transfer T to M. */ void transferStartingWindowFromHiddenAboveTokenIfNeeded() { + final WindowState mainWin = findMainWindow(false); + if (mainWin != null && mainWin.mWinAnimator.getShown()) { + // This activity already has a visible window, so doesn't need to transfer the starting + // window from above activity to here. The starting window will be removed with above + // activity. + return; + } task.forAllActivities(fromActivity -> { if (fromActivity == this) return true; return !fromActivity.isVisibleRequested() && transferStartingWindow(fromActivity); |