diff --git a/services/core/java/com/android/server/wm/DisplayPolicy.java b/services/core/java/com/android/server/wm/DisplayPolicy.java index cf7d5d9548fdb..8e9a214906458 100644 --- a/services/core/java/com/android/server/wm/DisplayPolicy.java +++ b/services/core/java/com/android/server/wm/DisplayPolicy.java @@ -2200,7 +2200,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 45dacbbba75e8..df2746f23d713 100644 --- a/services/core/java/com/android/server/wm/WindowState.java +++ b/services/core/java/com/android/server/wm/WindowState.java @@ -6037,7 +6037,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");