Simplify KeyguardBottomAreaView reinflation logic
Fixes: 131198766
Test: change from light to dark wallpaper, go to AOD
Test: atest KeyguardIndicationControllerTest
Test: atest KeyguardBottomAreaTest
Change-Id: Ide9b77a57e812528b308d68dbbbb673c1a435de0
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java
index 21f0c1e..fcbb416 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java
@@ -143,11 +143,6 @@
StatusBarStateController statusBarStateController,
KeyguardUpdateMonitor keyguardUpdateMonitor) {
mContext = context;
- mIndicationArea = indicationArea;
- mTextView = indicationArea.findViewById(R.id.keyguard_indication_text);
- mInitialTextColorState = mTextView != null ?
- mTextView.getTextColors() : ColorStateList.valueOf(Color.WHITE);
- mDisclosure = indicationArea.findViewById(R.id.keyguard_indication_enterprise_disclosure);
mLockIcon = lockIcon;
mShadeController = shadeController;
mAccessibilityController = accessibilityController;
@@ -172,6 +167,7 @@
mDevicePolicyManager = (DevicePolicyManager) context.getSystemService(
Context.DEVICE_POLICY_SERVICE);
+ setIndicationArea(indicationArea);
updateDisclosure();
mKeyguardUpdateMonitor.registerCallback(getKeyguardCallback());
@@ -180,17 +176,13 @@
mUnlockMethodCache.addListener(this);
}
- /**
- * Used by {@link com.android.systemui.statusbar.phone.StatusBar} to give the indication
- * controller a chance to unregister itself as a receiver.
- *
- * //TODO: This can probably be converted to a fragment and not have to be manually recreated
- */
- public void destroy() {
- mKeyguardUpdateMonitor.removeCallback(mTickReceiver);
- mKeyguardUpdateMonitor.removeCallback(getKeyguardCallback());
- mStatusBarStateController.removeCallback(this);
- mUnlockMethodCache.removeListener(this);
+ public void setIndicationArea(ViewGroup indicationArea) {
+ mIndicationArea = indicationArea;
+ mTextView = indicationArea.findViewById(R.id.keyguard_indication_text);
+ mInitialTextColorState = mTextView != null ?
+ mTextView.getTextColors() : ColorStateList.valueOf(Color.WHITE);
+ mDisclosure = indicationArea.findViewById(R.id.keyguard_indication_enterprise_disclosure);
+ updateIndication(false /* animate */);
}
private boolean handleLockLongClick(View view) {