diff options
author | Lucas Dupin <dupin@google.com> | 2020-11-19 03:18:10 +0000 |
---|---|---|
committer | Lucas Dupin <dupin@google.com> | 2020-12-01 14:23:16 -0800 |
commit | 7b8636fdb0dfc5ef727365cdf42a2fb56bdffeb2 (patch) | |
tree | 35429253346bc7c59558a354d760026f13869499 /packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainerController.java | |
parent | 60797526531ad856bc3428ebc1af14a472c998ed (diff) |
1/N The road to Material NEXT (bouncer and shade)
Styling bouncer and shade so they have solid backgrounds and read colors
from themes instead of named resources.
Scrim now fetches colorBackgroundFloating, and views get their background
from colorBackground.
Switching from light to dark theme will make bouncer colors update without
re-inflating any views.
Bug: 173561906
Bug: 173561901
Test: atest ScrimControllerTest
Test: atest KeyguardSecurityContainerControllerTest
Test: manual, switching to dark theme annd showing notif guts
Change-Id: I372e8b688d7bbddd698381accd074b7655788cd0
Diffstat (limited to 'packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainerController.java')
-rw-r--r-- | packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainerController.java | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainerController.java b/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainerController.java index 9a511502b475..1a8d420fb394 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainerController.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainerController.java @@ -47,6 +47,7 @@ import com.android.keyguard.KeyguardSecurityModel.SecurityMode; import com.android.keyguard.dagger.KeyguardBouncerScope; import com.android.settingslib.utils.ThreadUtils; import com.android.systemui.shared.system.SysUiStatsLog; +import com.android.systemui.statusbar.policy.ConfigurationController; import com.android.systemui.statusbar.policy.KeyguardStateController; import com.android.systemui.util.ViewController; @@ -69,6 +70,7 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard private final KeyguardStateController mKeyguardStateController; private final KeyguardSecurityViewFlipperController mSecurityViewFlipperController; private final SecurityCallback mSecurityCallback; + private final ConfigurationController mConfigurationController; private SecurityMode mCurrentSecurityMode = SecurityMode.Invalid; @@ -144,6 +146,18 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard } } }; + private ConfigurationController.ConfigurationListener mConfigurationListener = + new ConfigurationController.ConfigurationListener() { + @Override + public void onOverlayChanged() { + mSecurityViewFlipperController.reloadColors(); + } + + @Override + public void onUiModeChanged() { + mSecurityViewFlipperController.reloadColors(); + } + }; private KeyguardSecurityContainerController(KeyguardSecurityContainer view, AdminSecondaryLockScreenController.Factory adminSecondaryLockScreenControllerFactory, @@ -154,7 +168,8 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard UiEventLogger uiEventLogger, KeyguardStateController keyguardStateController, SecurityCallback securityCallback, - KeyguardSecurityViewFlipperController securityViewFlipperController) { + KeyguardSecurityViewFlipperController securityViewFlipperController, + ConfigurationController configurationController) { super(view); mLockPatternUtils = lockPatternUtils; mUpdateMonitor = keyguardUpdateMonitor; @@ -166,6 +181,7 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard mSecurityViewFlipperController = securityViewFlipperController; mAdminSecondaryLockScreenController = adminSecondaryLockScreenControllerFactory.create( mKeyguardSecurityCallback); + mConfigurationController = configurationController; } @Override @@ -176,10 +192,12 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard @Override protected void onViewAttached() { mView.setSwipeListener(mSwipeListener); + mConfigurationController.addCallback(mConfigurationListener); } @Override protected void onViewDetached() { + mConfigurationController.removeCallback(mConfigurationListener); } /** */ @@ -459,6 +477,7 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard private final UiEventLogger mUiEventLogger; private final KeyguardStateController mKeyguardStateController; private final KeyguardSecurityViewFlipperController mSecurityViewFlipperController; + private final ConfigurationController mConfigurationController; @Inject Factory(KeyguardSecurityContainer view, @@ -470,7 +489,8 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard MetricsLogger metricsLogger, UiEventLogger uiEventLogger, KeyguardStateController keyguardStateController, - KeyguardSecurityViewFlipperController securityViewFlipperController) { + KeyguardSecurityViewFlipperController securityViewFlipperController, + ConfigurationController configurationController) { mView = view; mAdminSecondaryLockScreenControllerFactory = adminSecondaryLockScreenControllerFactory; mLockPatternUtils = lockPatternUtils; @@ -480,6 +500,7 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard mUiEventLogger = uiEventLogger; mKeyguardStateController = keyguardStateController; mSecurityViewFlipperController = securityViewFlipperController; + mConfigurationController = configurationController; } public KeyguardSecurityContainerController create( @@ -487,7 +508,8 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard return new KeyguardSecurityContainerController(mView, mAdminSecondaryLockScreenControllerFactory, mLockPatternUtils, mKeyguardUpdateMonitor, mKeyguardSecurityModel, mMetricsLogger, mUiEventLogger, - mKeyguardStateController, securityCallback, mSecurityViewFlipperController); + mKeyguardStateController, securityCallback, mSecurityViewFlipperController, + mConfigurationController); } } |