OSDN Git Service

Update theme after registering config listener
authorLucas Dupin <dupin@google.com>
Fri, 19 Apr 2019 18:10:48 +0000 (11:10 -0700)
committerLucas Dupin <dupin@google.com>
Fri, 19 Apr 2019 22:01:21 +0000 (22:01 +0000)
Theme might not be set yet during inflation and we might miss the
event if wait for the view to be added to the window, leading to
theme being out of sync.

Test: adb shell am crash com.android.systemui
Fixes: 130879865
Change-Id: Icd533457732b46b96aeacf9be0c32c02e6b33360

packages/SystemUI/src/com/android/keyguard/KeyguardMessageArea.java
packages/SystemUI/src/com/android/systemui/statusbar/phone/LockIcon.java

index ace6f6f..814fec3 100644 (file)
@@ -87,15 +87,14 @@ public class KeyguardMessageArea extends TextView implements SecurityMessageDisp
         monitor.registerCallback(mInfoCallback);
         mHandler = new Handler(Looper.myLooper());
         mConfigurationController = configurationController;
-
         onThemeChanged();
-        update();
     }
 
     @Override
     protected void onAttachedToWindow() {
         super.onAttachedToWindow();
         mConfigurationController.addCallback(this);
+        onThemeChanged();
     }
 
     @Override
@@ -116,8 +115,8 @@ public class KeyguardMessageArea extends TextView implements SecurityMessageDisp
         });
         ColorStateList newTextColors = ColorStateList.valueOf(array.getColor(0, Color.RED));
         array.recycle();
-        setTextColor(newTextColors);
         mDefaultColorState = newTextColors;
+        update();
     }
 
     @Override
index 971e5b3..6121ae6 100644 (file)
@@ -123,7 +123,6 @@ public class LockIcon extends KeyguardAffordanceView implements OnUserInfoChange
         mAccessibilityController = accessibilityController;
         mConfigurationController = configurationController;
         mStatusBarStateController = statusBarStateController;
-        onThemeChanged();
     }
 
     @Override
@@ -133,6 +132,7 @@ public class LockIcon extends KeyguardAffordanceView implements OnUserInfoChange
         mConfigurationController.addCallback(this);
         mKeyguardUpdateMonitor.registerCallback(mUpdateMonitorCallback);
         mUnlockMethodCache.addListener(this);
+        onThemeChanged();
     }
 
     @Override