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

Commit 3367784f authored by Mohammed Althaf T's avatar Mohammed Althaf T 😊 Committed by Bruno Martins
Browse files

SystemUI: Re-evaluate system theme on UI mode change

- Need for power menu to set accurate colors

Change-Id: I05d41eaf8ea19ce3b6ce659d01da33cf55de3b7e
parent 22b7fd2e
Loading
Loading
Loading
Loading
+16 −1
Original line number Diff line number Diff line
@@ -66,6 +66,8 @@ import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.keyguard.WakefulnessLifecycle;
import com.android.systemui.monet.ColorScheme;
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.settings.SecureSettings;
@@ -111,6 +113,7 @@ public class ThemeOverlayController extends SystemUI implements Dumpable {
    private final Handler mBgHandler;
    private final boolean mIsMonetEnabled;
    private final UserTracker mUserTracker;
    private final ConfigurationController mConfigurationController;
    private final DeviceProvisionedController mDeviceProvisionedController;
    // Current wallpaper colors associated to a user.
    private final SparseArray<WallpaperColors> mCurrentColors = new SparseArray<>();
@@ -139,6 +142,15 @@ public class ThemeOverlayController extends SystemUI implements 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
@@ -342,10 +354,12 @@ public class ThemeOverlayController extends SystemUI implements Dumpable {
            SecureSettings secureSettings, WallpaperManager wallpaperManager,
            UserManager userManager, DeviceProvisionedController deviceProvisionedController,
            UserTracker userTracker, DumpManager dumpManager, FeatureFlags featureFlags,
            WakefulnessLifecycle wakefulnessLifecycle) {
            WakefulnessLifecycle wakefulnessLifecycle, ConfigurationController
            configurationController) {
        super(context);

        mIsMonetEnabled = featureFlags.isMonetEnabled();
        mConfigurationController = configurationController;
        mDeviceProvisionedController = deviceProvisionedController;
        mBroadcastDispatcher = broadcastDispatcher;
        mUserManager = userManager;
@@ -400,6 +414,7 @@ public class ThemeOverlayController extends SystemUI implements Dumpable {

        mUserTracker.addCallback(mUserTrackerCallback, mMainExecutor);

        mConfigurationController.addCallback(mConfigurationListener);
        mDeviceProvisionedController.addCallback(mDeviceProvisionedListener);

        // Upon boot, make sure we have the most up to date colors