Do not post color event, run it directly

If setup wizard is not complete, run the theme application directly
instead of posting it to a Handler.

Test: atest ThemeOverlayControllerTest
Fixes: 190580756
Change-Id: Ibe59526fe569766bdcb243652dc21ad35f83320c
This commit is contained in:
Lucas Dupin
2021-06-09 17:08:36 -07:00
parent 789fe38968
commit 9b34b73ece

View File

@@ -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);
}