Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 376e8057 authored by Lucas Dupin's avatar Lucas Dupin
Browse files

Do not ignore forceReload requests

A recent optimization was causing reevaluateSystemTheme to be skipped
for secondary/managed profiles.
This change makes sure that forceReload requests will be honored.

Test: atest ThemeOverlayControllerTest
Fixes: 229837333
Change-Id: Id868000da327b49264e4ff62aa006b40a87228a3
parent e5f9c3da
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -474,7 +474,7 @@ public class ThemeOverlayController extends CoreStartable implements Dumpable {
            mThemeStyle = fetchThemeStyleFromSetting();
            mSecondaryOverlay = getOverlay(mMainWallpaperColor, ACCENT, mThemeStyle);
            mNeutralOverlay = getOverlay(mMainWallpaperColor, NEUTRAL, mThemeStyle);
            if (colorSchemeIsApplied()) {
            if (colorSchemeIsApplied() && !forceReload) {
                Log.d(TAG, "Skipping overlay creation. Theme was already: " + mColorScheme);
                return;
            }
+12 −0
Original line number Diff line number Diff line
@@ -729,6 +729,18 @@ public class ThemeOverlayControllerTest extends SysuiTestCase {
        mColorsListener.getValue().onColorsChanged(mainColors, WallpaperManager.FLAG_SYSTEM,
                USER_SYSTEM);

        reset(mResources);
        when(mResources.getColor(eq(android.R.color.system_accent1_500), any()))
                .thenReturn(mThemeOverlayController.mColorScheme.getAccent1().get(6));
        when(mResources.getColor(eq(android.R.color.system_accent2_500), any()))
                .thenReturn(mThemeOverlayController.mColorScheme.getAccent2().get(6));
        when(mResources.getColor(eq(android.R.color.system_accent3_500), any()))
                .thenReturn(mThemeOverlayController.mColorScheme.getAccent3().get(6));
        when(mResources.getColor(eq(android.R.color.system_neutral1_500), any()))
                .thenReturn(mThemeOverlayController.mColorScheme.getNeutral1().get(6));
        when(mResources.getColor(eq(android.R.color.system_neutral2_500), any()))
                .thenReturn(mThemeOverlayController.mColorScheme.getNeutral2().get(6));

        // Defers event because we already have initial colors.
        verify(mThemeOverlayApplier, never())
                .applyCurrentUserOverlays(any(), any(), anyInt(), any());