Update KeyguardStatusBar views w/ display change
Implement BatteryMeterView's onConfigurationChanged to show correct battery percentage text size. Re-add icon groups if display changed to show correct size of system icons. Manually check keyguard status bar layout w/ following cases 1. Settings - Display - Display Size 2. RTL or LTR Bug: 197291570 Test: atest SystemUITests Change-Id: I3719b957b48f1dba81aedac5a7feb18323244429
This commit is contained in:
@@ -25,6 +25,7 @@ import android.animation.LayoutTransition;
|
||||
import android.animation.ObjectAnimator;
|
||||
import android.annotation.IntDef;
|
||||
import android.content.Context;
|
||||
import android.content.res.Configuration;
|
||||
import android.content.res.Resources;
|
||||
import android.content.res.TypedArray;
|
||||
import android.graphics.Rect;
|
||||
@@ -164,6 +165,12 @@ public class BatteryMeterView extends LinearLayout implements DarkReceiver {
|
||||
updateShowPercent();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onConfigurationChanged(Configuration newConfig) {
|
||||
super.onConfigurationChanged(newConfig);
|
||||
updatePercentView();
|
||||
}
|
||||
|
||||
public void setColorsFromContext(Context context) {
|
||||
if (context == null) {
|
||||
return;
|
||||
|
||||
@@ -119,6 +119,7 @@ public class KeyguardStatusBarView extends RelativeLayout {
|
||||
@Override
|
||||
protected void onConfigurationChanged(Configuration newConfig) {
|
||||
super.onConfigurationChanged(newConfig);
|
||||
loadDimens();
|
||||
|
||||
MarginLayoutParams lp = (MarginLayoutParams) mMultiUserAvatar.getLayoutParams();
|
||||
lp.width = lp.height = getResources().getDimensionPixelSize(
|
||||
@@ -128,6 +129,22 @@ public class KeyguardStatusBarView extends RelativeLayout {
|
||||
// System icons
|
||||
updateSystemIconsLayoutParams();
|
||||
|
||||
// mStatusIconArea
|
||||
mStatusIconArea.setPaddingRelative(
|
||||
mStatusIconArea.getPaddingStart(),
|
||||
getResources().getDimensionPixelSize(R.dimen.status_bar_padding_top),
|
||||
mStatusIconArea.getPaddingEnd(),
|
||||
mStatusIconArea.getPaddingBottom()
|
||||
);
|
||||
|
||||
// mStatusIconContainer
|
||||
mStatusIconContainer.setPaddingRelative(
|
||||
mStatusIconContainer.getPaddingStart(),
|
||||
mStatusIconContainer.getPaddingTop(),
|
||||
getResources().getDimensionPixelSize(R.dimen.signal_cluster_battery_padding),
|
||||
mStatusIconContainer.getPaddingBottom()
|
||||
);
|
||||
|
||||
// Respect font size setting.
|
||||
mCarrierLabel.setTextSize(TypedValue.COMPLEX_UNIT_PX,
|
||||
getResources().getDimensionPixelSize(
|
||||
|
||||
@@ -114,6 +114,14 @@ public class StatusBarIconControllerImpl extends StatusBarIconList implements Tu
|
||||
}
|
||||
}
|
||||
|
||||
private void refreshIconGroups() {
|
||||
for (int i = mIconGroups.size() - 1; i >= 0; --i) {
|
||||
IconManager group = mIconGroups.get(i);
|
||||
removeIconGroup(group);
|
||||
addIconGroup(group);
|
||||
}
|
||||
}
|
||||
|
||||
/** */
|
||||
@Override
|
||||
public void removeIconGroup(IconManager group) {
|
||||
@@ -468,5 +476,6 @@ public class StatusBarIconControllerImpl extends StatusBarIconList implements Tu
|
||||
@Override
|
||||
public void onDensityOrFontScaleChanged() {
|
||||
loadDimens();
|
||||
refreshIconGroups();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user