diff options
Diffstat (limited to 'packages/SystemUI/src/com/android/keyguard/LockIconViewController.java')
-rw-r--r-- | packages/SystemUI/src/com/android/keyguard/LockIconViewController.java | 38 |
1 files changed, 33 insertions, 5 deletions
diff --git a/packages/SystemUI/src/com/android/keyguard/LockIconViewController.java b/packages/SystemUI/src/com/android/keyguard/LockIconViewController.java index 7127444befb7..0ea01fdb0bf6 100644 --- a/packages/SystemUI/src/com/android/keyguard/LockIconViewController.java +++ b/packages/SystemUI/src/com/android/keyguard/LockIconViewController.java @@ -45,6 +45,7 @@ import com.android.systemui.plugins.FalsingManager; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.statusbar.StatusBarState; import com.android.systemui.statusbar.phone.dagger.StatusBarComponent; +import com.android.systemui.statusbar.policy.ConfigurationController; import com.android.systemui.statusbar.policy.KeyguardStateController; import com.android.systemui.util.ViewController; @@ -68,6 +69,7 @@ public class LockIconViewController extends ViewController<LockIconView> impleme @NonNull private final FalsingManager mFalsingManager; @NonNull private final AuthController mAuthController; @NonNull private final AccessibilityManager mAccessibilityManager; + @NonNull private final ConfigurationController mConfigurationController; private boolean mHasUdfpsOrFaceAuthFeatures; private boolean mUdfpsEnrolled; @@ -103,7 +105,8 @@ public class LockIconViewController extends ViewController<LockIconView> impleme @NonNull FalsingManager falsingManager, @NonNull AuthController authController, @NonNull DumpManager dumpManager, - @NonNull AccessibilityManager accessibilityManager + @NonNull AccessibilityManager accessibilityManager, + @NonNull ConfigurationController configurationController ) { super(view); mStatusBarStateController = statusBarStateController; @@ -113,6 +116,7 @@ public class LockIconViewController extends ViewController<LockIconView> impleme mKeyguardStateController = keyguardStateController; mFalsingManager = falsingManager; mAccessibilityManager = accessibilityManager; + mConfigurationController = configurationController; final Context context = view.getContext(); mButton = context.getResources().getDrawable( @@ -178,10 +182,8 @@ public class LockIconViewController extends ViewController<LockIconView> impleme mCanDismissLockScreen = mKeyguardStateController.canDismissLockScreen(); mStatusBarState = mStatusBarStateController.getState(); - mUnlockIcon.setTint(Utils.getColorAttrDefaultColor(mView.getContext(), - R.attr.wallpaperTextColorAccent)); - mLockIcon.setTint(Utils.getColorAttrDefaultColor(mView.getContext(), - R.attr.wallpaperTextColorAccent)); + updateColors(); + mConfigurationController.addCallback(mConfigurationListener); mKeyguardUpdateMonitor.registerCallback(mKeyguardUpdateMonitorCallback); mStatusBarStateController.addCallback(mStatusBarStateListener); @@ -194,6 +196,7 @@ public class LockIconViewController extends ViewController<LockIconView> impleme @Override protected void onViewDetached() { + mConfigurationController.removeCallback(mConfigurationListener); mKeyguardUpdateMonitor.removeCallback(mKeyguardUpdateMonitorCallback); mStatusBarStateController.removeCallback(mStatusBarStateListener); mKeyguardStateController.removeCallback(mKeyguardStateCallback); @@ -306,6 +309,13 @@ public class LockIconViewController extends ViewController<LockIconView> impleme && !mKeyguardStateController.isKeyguardGoingAway(); } + private void updateColors() { + final int color = Utils.getColorAttrDefaultColor(mView.getContext(), + R.attr.wallpaperTextColorAccent); + mUnlockIcon.setTint(color); + mLockIcon.setTint(color); + } + @Override public void dump(@NonNull FileDescriptor fd, @NonNull PrintWriter pw, @NonNull String[] args) { pw.println(" mShowBouncerButton: " + mShowButton); @@ -385,6 +395,24 @@ public class LockIconViewController extends ViewController<LockIconView> impleme } }; + private final ConfigurationController.ConfigurationListener mConfigurationListener = + new ConfigurationController.ConfigurationListener() { + @Override + public void onUiModeChanged() { + updateColors(); + } + + @Override + public void onThemeChanged() { + updateColors(); + } + + @Override + public void onOverlayChanged() { + updateColors(); + } + }; + private final AccessibilityManager.TouchExplorationStateChangeListener mTouchExplorationStateChangeListener = enabled -> updateClickListener(); } |