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

Commit f78ba832 authored by Mohammed Althaf T's avatar Mohammed Althaf T 😊 Committed by Nishith Khanna
Browse files

SystemUI: Re-evaluate system theme on UI mode change

- Need for power menu to set accurate colors

Change-Id: I05d41eaf8ea19ce3b6ce659d01da33cf55de3b7e
parent d28fef57
Loading
Loading
Loading
Loading
+17 −1
Original line number Diff line number Diff line
@@ -81,6 +81,8 @@ import com.android.systemui.monet.DynamicColors;
import com.android.systemui.monet.Style;
import com.android.systemui.monet.TonalPalette;
import com.android.systemui.settings.UserTracker;
import com.android.systemui.statusbar.policy.ConfigurationController;
import com.android.systemui.statusbar.policy.ConfigurationController.ConfigurationListener;
import com.android.systemui.statusbar.policy.DeviceProvisionedController;
import com.android.systemui.statusbar.policy.DeviceProvisionedController.DeviceProvisionedListener;
import com.android.systemui.util.kotlin.JavaAdapter;
@@ -137,6 +139,7 @@ public class ThemeOverlayController implements CoreStartable, Dumpable {
    private final boolean mIsMonetEnabled;
    private final boolean mIsFidelityEnabled;
    private final UserTracker mUserTracker;
    private final ConfigurationController mConfigurationController;
    private final DeviceProvisionedController mDeviceProvisionedController;
    private final Resources mResources;
    // Current wallpaper colors associated to a user.
@@ -180,6 +183,15 @@ public class ThemeOverlayController implements CoreStartable, Dumpable {
    // Determines if we should ignore THEME_CUSTOMIZATION_OVERLAY_PACKAGES setting changes.
    private boolean mSkipSettingChange;

    private final ConfigurationListener mConfigurationListener =
            new ConfigurationListener() {
                @Override
                public void onUiModeChanged() {
                    Log.i(TAG, "Re-applying theme on UI change");
                    reevaluateSystemTheme(true /* forceReload */);
                }
            };

    private final DeviceProvisionedListener mDeviceProvisionedListener =
            new DeviceProvisionedListener() {
                @Override
@@ -428,10 +440,12 @@ public class ThemeOverlayController implements CoreStartable, Dumpable {
            JavaAdapter javaAdapter,
            KeyguardTransitionInteractor keyguardTransitionInteractor,
            UiModeManager uiModeManager,
            ActivityManager activityManager) {
            ActivityManager activityManager,
            ConfigurationController configurationController) {
        mContext = context;
        mIsMonetEnabled = featureFlags.isEnabled(Flags.MONET);
        mIsFidelityEnabled = featureFlags.isEnabled(Flags.COLOR_FIDELITY);
        mConfigurationController = configurationController;
        mDeviceProvisionedController = deviceProvisionedController;
        mBroadcastDispatcher = broadcastDispatcher;
        mUserManager = userManager;
@@ -544,6 +558,8 @@ public class ThemeOverlayController implements CoreStartable, Dumpable {
                },
                UserHandle.USER_ALL);

        mConfigurationController.addCallback(mConfigurationListener);
        
        // All wallpaper color and keyguard logic only applies when Monet is enabled.
        if (!mIsMonetEnabled) {
            return;