diff --git a/services/core/java/com/android/server/wm/ActivityRecord.java b/services/core/java/com/android/server/wm/ActivityRecord.java index f8f286ace9ddc..dda11f96cc8a0 100644 --- a/services/core/java/com/android/server/wm/ActivityRecord.java +++ b/services/core/java/com/android/server/wm/ActivityRecord.java @@ -1875,9 +1875,13 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A } else if (newTask || !processRunning || (taskSwitch && !activityCreated)) { return STARTING_WINDOW_TYPE_SPLASH_SCREEN; } else if (taskSwitch && allowTaskSnapshot) { - return snapshot == null ? STARTING_WINDOW_TYPE_NONE - : snapshotOrientationSameAsTask(snapshot) || fromRecents - ? STARTING_WINDOW_TYPE_SNAPSHOT : STARTING_WINDOW_TYPE_SPLASH_SCREEN; + if (snapshotOrientationSameAsTask(snapshot) || (snapshot != null && fromRecents)) { + return STARTING_WINDOW_TYPE_SNAPSHOT; + } + if (!isActivityTypeHome()) { + return STARTING_WINDOW_TYPE_SPLASH_SCREEN; + } + return STARTING_WINDOW_TYPE_NONE; } else { return STARTING_WINDOW_TYPE_NONE; }