From 648e555b9b0b3f5c6958e827b2cd07326c61d08c Mon Sep 17 00:00:00 2001 From: Fabian Kozynski Date: Tue, 18 Dec 2018 16:37:08 -0500 Subject: [PATCH] Lockscreen changes font on Overlay change Change-Id: I96ed7f3a0ce8bd9fb8ce8c05280a2950d0efac5f Test: Manual (using HotDogOverlay) Bug: 121124205 --- .../src/com/android/keyguard/KeyguardSliceView.java | 12 ++++++++++-- .../src/com/android/systemui/BatteryMeterView.java | 11 +++++++++++ .../statusbar/phone/KeyguardStatusBarView.java | 8 ++++++++ .../android/systemui/statusbar/phone/StatusBar.java | 4 ++++ 4 files changed, 33 insertions(+), 2 deletions(-) diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java b/packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java index c41ef0ede89e4..576660431d82f 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java @@ -24,6 +24,7 @@ import android.animation.LayoutTransition; import android.animation.ObjectAnimator; import android.animation.PropertyValuesHolder; import android.annotation.ColorInt; +import android.annotation.StyleRes; import android.app.PendingIntent; import android.content.Context; import android.graphics.Color; @@ -444,9 +445,11 @@ public class KeyguardSliceView extends LinearLayout implements View.OnClickListe static class KeyguardSliceButton extends Button implements ConfigurationController.ConfigurationListener { + @StyleRes + private static int sStyleId = R.style.TextAppearance_Keyguard_Secondary; + public KeyguardSliceButton(Context context) { - super(context, null /* attrs */, 0 /* styleAttr */, - com.android.keyguard.R.style.TextAppearance_Keyguard_Secondary); + super(context, null /* attrs */, 0 /* styleAttr */, sStyleId); onDensityOrFontScaleChanged(); setEllipsize(TruncateAt.END); } @@ -468,6 +471,11 @@ public class KeyguardSliceView extends LinearLayout implements View.OnClickListe updatePadding(); } + @Override + public void onOverlayChanged() { + setTextAppearance(sStyleId); + } + @Override public void setText(CharSequence text, BufferType type) { super.setText(text, type); diff --git a/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java b/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java index 38dadd4b961d1..874cdccb87941 100644 --- a/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java +++ b/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java @@ -325,6 +325,17 @@ public class BatteryMeterView extends LinearLayout implements .inflate(R.layout.battery_percentage_view, null); } + /** + * Updates percent view by removing old one and reinflating if necessary + */ + public void updatePercentView() { + if (mBatteryPercentView != null) { + removeView(mBatteryPercentView); + mBatteryPercentView = null; + } + updateShowPercent(); + } + private void updatePercentText() { if (mBatteryPercentView != null) { mBatteryPercentView.setText( diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java index 96b7536797968..5ba59b507fec4 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java @@ -466,6 +466,14 @@ public class KeyguardStatusBarView extends RelativeLayout .onDensityOrFontScaleChanged(); } + @Override + public void onOverlayChanged() { + mCarrierLabel.setTextAppearance( + Utils.getThemeAttr(mContext, com.android.internal.R.attr.textAppearanceSmall)); + onThemeChanged(); + mBatteryView.updatePercentView(); + } + private void updateIconsAndTextColors() { @ColorInt int textColor = Utils.getColorAttrDefaultColor(mContext, R.attr.wallpaperTextColor); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java index 1e709125c7ba6..0a8e6e4960644 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java @@ -1164,6 +1164,10 @@ public class StatusBar extends SystemUI implements DemoMode, if (mBrightnessMirrorController != null) { mBrightnessMirrorController.onOverlayChanged(); } + // We need the new R.id.keyguard_indication_area before recreating + // mKeyguardIndicationController + mNotificationPanel.onThemeChanged(); + onThemeChanged(); } @Override