diff --git a/services/core/java/com/android/server/wm/DisplayPolicy.java b/services/core/java/com/android/server/wm/DisplayPolicy.java index 3c2832eb96aac..7aeebbc2c585b 100644 --- a/services/core/java/com/android/server/wm/DisplayPolicy.java +++ b/services/core/java/com/android/server/wm/DisplayPolicy.java @@ -1989,7 +1989,7 @@ public class DisplayPolicy { * Called when an app has started replacing its main window. */ void addRelaunchingApp(ActivityRecord app) { - if (mSystemBarColorApps.contains(app)) { + if (mSystemBarColorApps.contains(app) && !app.hasStartingWindow()) { mRelaunchingSystemBarColorApps.add(app); } } diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java index 69e84c76ac3b6..ea0e3f39547c0 100644 --- a/services/core/java/com/android/server/wm/WindowState.java +++ b/services/core/java/com/android/server/wm/WindowState.java @@ -6012,7 +6012,7 @@ class WindowState extends WindowContainer implements WindowManagerP Slog.i(TAG, "finishDrawing of orientation change: " + this + " " + duration + "ms"); mOrientationChangeRedrawRequestTime = 0; } else if (mActivityRecord != null && mActivityRecord.mRelaunchStartTime != 0 - && mActivityRecord.findMainWindow() == this) { + && mActivityRecord.findMainWindow(false /* includeStartingApp */) == this) { final long duration = SystemClock.elapsedRealtime() - mActivityRecord.mRelaunchStartTime; Slog.i(TAG, "finishDrawing of relaunch: " + this + " " + duration + "ms");