diff --git a/packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayController.java b/packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayController.java index 428921ee34ecd..d9ec6ee305804 100644 --- a/packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayController.java +++ b/packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayController.java @@ -326,17 +326,22 @@ public class ThemeOverlayController extends SystemUI implements Dumpable { Runnable updateColors = () -> { WallpaperColors systemColor = mWallpaperManager.getWallpaperColors( getLatestWallpaperType()); - mMainExecutor.execute(() -> { + Runnable applyColors = () -> { if (DEBUG) Log.d(TAG, "Boot colors: " + systemColor); mCurrentColors = systemColor; reevaluateSystemTheme(false /* forceReload */); - }); + }; + if (mDeviceProvisionedController.isCurrentUserSetup()) { + mMainExecutor.execute(applyColors); + } else { + applyColors.run(); + } }; // Whenever we're going directly to setup wizard, we need to process colors synchronously, // otherwise we'll see some jank when the activity is recreated. if (!mDeviceProvisionedController.isCurrentUserSetup()) { - mMainExecutor.execute(updateColors); + updateColors.run(); } else { mBgExecutor.execute(updateColors); }