76 lines
3.8 KiB
Diff
76 lines
3.8 KiB
Diff
From 5bfb64b6e1fe6e78a1b15869332a33c40afde56c Mon Sep 17 00:00:00 2001
|
|
From: althafvly <althafvly@gmail.com>
|
|
Date: Tue, 26 May 2020 21:17:59 +0800
|
|
Subject: [PATCH 22/31] SystemUI: Re-evaluate system theme on UI mode change
|
|
|
|
- Need for power menu to set accurate colors
|
|
|
|
Change-Id: I05d41eaf8ea19ce3b6ce659d01da33cf55de3b7e
|
|
---
|
|
.../systemui/theme/ThemeOverlayController.java | 17 ++++++++++++++++-
|
|
1 file changed, 16 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayController.java b/packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayController.java
|
|
index 395bb6c6f1af..e27ec424a444 100644
|
|
--- a/packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayController.java
|
|
+++ b/packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayController.java
|
|
@@ -75,6 +75,8 @@ import com.android.systemui.monet.ColorScheme;
|
|
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.settings.SecureSettings;
|
|
@@ -138,6 +140,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.
|
|
@@ -176,6 +179,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
|
|
@@ -402,11 +414,13 @@ public class ThemeOverlayController implements CoreStartable, Dumpable {
|
|
FeatureFlags featureFlags,
|
|
@Main Resources resources,
|
|
WakefulnessLifecycle wakefulnessLifecycle,
|
|
- UiModeManager uiModeManager) {
|
|
+ UiModeManager uiModeManager,
|
|
+ ConfigurationController configurationController) {
|
|
mContext = context;
|
|
mIsMonochromaticEnabled = featureFlags.isEnabled(Flags.MONOCHROMATIC_THEME);
|
|
mIsMonetEnabled = featureFlags.isEnabled(Flags.MONET);
|
|
mIsFidelityEnabled = featureFlags.isEnabled(Flags.COLOR_FIDELITY);
|
|
+ mConfigurationController = configurationController;
|
|
mDeviceProvisionedController = deviceProvisionedController;
|
|
mBroadcastDispatcher = broadcastDispatcher;
|
|
mUserManager = userManager;
|
|
@@ -518,6 +532,7 @@ public class ThemeOverlayController implements CoreStartable, Dumpable {
|
|
|
|
mUserTracker.addCallback(mUserTrackerCallback, mMainExecutor);
|
|
|
|
+ mConfigurationController.addCallback(mConfigurationListener);
|
|
mDeviceProvisionedController.addCallback(mDeviceProvisionedListener);
|
|
|
|
// All wallpaper color and keyguard logic only applies when Monet is enabled.
|
|
--
|
|
2.34.1
|
|
|