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

Commit 7d6ce114 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 671c3432
Loading
Loading
Loading
Loading
+15 −1
Original line number Diff line number Diff line
@@ -71,6 +71,8 @@ import com.android.systemui.keyguard.WakefulnessLifecycle;
import com.android.systemui.monet.ColorScheme;
import com.android.systemui.monet.Style;
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;
@@ -122,6 +124,7 @@ public class ThemeOverlayController extends CoreStartable implements Dumpable {
    private final Handler mBgHandler;
    private final boolean mIsMonetEnabled;
    private final UserTracker mUserTracker;
    private final ConfigurationController mConfigurationController;
    private final DeviceProvisionedController mDeviceProvisionedController;
    private final Resources mResources;
    // Current wallpaper colors associated to a user.
@@ -152,6 +155,15 @@ public class ThemeOverlayController extends CoreStartable 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
@@ -362,10 +374,11 @@ public class ThemeOverlayController extends CoreStartable implements Dumpable {
            UserManager userManager, DeviceProvisionedController deviceProvisionedController,
            UserTracker userTracker, DumpManager dumpManager, FeatureFlags featureFlags,
            @Main Resources resources, WakefulnessLifecycle wakefulnessLifecycle,
            SystemSettings systemSettings) {
            SystemSettings systemSettings, ConfigurationController configurationController) {
        super(context);

        mIsMonetEnabled = featureFlags.isEnabled(Flags.MONET);
        mConfigurationController = configurationController;
        mDeviceProvisionedController = deviceProvisionedController;
        mBroadcastDispatcher = broadcastDispatcher;
        mUserManager = userManager;
@@ -470,6 +483,7 @@ public class ThemeOverlayController extends CoreStartable implements Dumpable {

        mUserTracker.addCallback(mUserTrackerCallback, mMainExecutor);

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

        // All wallpaper color and keyguard logic only applies when Monet is enabled.