Merge "Align Keyguard statusBar margin padding to phone's" into sc-qpr1-dev

This commit is contained in:
TreeHugger Robot
2021-09-10 02:43:20 +00:00
committed by Android (Google) Code Review
2 changed files with 30 additions and 20 deletions

View File

@@ -30,7 +30,6 @@
android:id="@+id/status_icon_area" android:id="@+id/status_icon_area"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="match_parent" android:layout_height="match_parent"
android:paddingEnd="@dimen/system_icons_keyguard_padding_end"
android:paddingTop="@dimen/status_bar_padding_top" android:paddingTop="@dimen/status_bar_padding_top"
android:layout_alignParentEnd="true" android:layout_alignParentEnd="true"
android:gravity="center_vertical|end" > android:gravity="center_vertical|end" >
@@ -39,6 +38,7 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_weight="1" android:layout_weight="1"
android:layout_marginStart="@dimen/system_icons_super_container_margin_start" android:layout_marginStart="@dimen/system_icons_super_container_margin_start"
android:layout_marginEnd="@dimen/status_bar_padding_end"
android:gravity="center_vertical|end"> android:gravity="center_vertical|end">
<include layout="@layout/system_icons" /> <include layout="@layout/system_icons" />
</FrameLayout> </FrameLayout>

View File

@@ -96,7 +96,8 @@ public class KeyguardStatusBarView extends RelativeLayout implements
private final UserManager mUserManager; private final UserManager mUserManager;
private int mSystemIconsSwitcherHiddenExpandedMargin; private int mSystemIconsSwitcherHiddenExpandedMargin;
private int mSystemIconsBaseMargin; private int mStatusBarPaddingEnd;
private int mMinDotWidth;
private View mSystemIconsContainer; private View mSystemIconsContainer;
private TintedIconManager mIconManager; private TintedIconManager mIconManager;
private List<String> mBlockedIcons = new ArrayList<>(); private List<String> mBlockedIcons = new ArrayList<>();
@@ -157,14 +158,7 @@ public class KeyguardStatusBarView extends RelativeLayout implements
mMultiUserAvatar.setLayoutParams(lp); mMultiUserAvatar.setLayoutParams(lp);
// System icons // System icons
lp = (MarginLayoutParams) mSystemIconsContainer.getLayoutParams(); updateSystemIconsLayoutParams();
lp.setMarginStart(getResources().getDimensionPixelSize(
R.dimen.system_icons_super_container_margin_start));
mSystemIconsContainer.setLayoutParams(lp);
mSystemIconsContainer.setPaddingRelative(mSystemIconsContainer.getPaddingStart(),
mSystemIconsContainer.getPaddingTop(),
getResources().getDimensionPixelSize(R.dimen.system_icons_keyguard_padding_end),
mSystemIconsContainer.getPaddingBottom());
// Respect font size setting. // Respect font size setting.
mCarrierLabel.setTextSize(TypedValue.COMPLEX_UNIT_PX, mCarrierLabel.setTextSize(TypedValue.COMPLEX_UNIT_PX,
@@ -194,8 +188,10 @@ public class KeyguardStatusBarView extends RelativeLayout implements
Resources res = getResources(); Resources res = getResources();
mSystemIconsSwitcherHiddenExpandedMargin = res.getDimensionPixelSize( mSystemIconsSwitcherHiddenExpandedMargin = res.getDimensionPixelSize(
R.dimen.system_icons_switcher_hidden_expanded_margin); R.dimen.system_icons_switcher_hidden_expanded_margin);
mSystemIconsBaseMargin = res.getDimensionPixelSize( mStatusBarPaddingEnd = res.getDimensionPixelSize(
R.dimen.system_icons_super_container_avatarless_margin_end); R.dimen.status_bar_padding_end);
mMinDotWidth = res.getDimensionPixelSize(
R.dimen.ongoing_appops_dot_min_padding);
mCutoutSideNudge = getResources().getDimensionPixelSize( mCutoutSideNudge = getResources().getDimensionPixelSize(
R.dimen.display_cutout_margin_consumption); R.dimen.display_cutout_margin_consumption);
mShowPercentAvailable = getContext().getResources().getBoolean( mShowPercentAvailable = getContext().getResources().getBoolean(
@@ -243,16 +239,24 @@ public class KeyguardStatusBarView extends RelativeLayout implements
private void updateSystemIconsLayoutParams() { private void updateSystemIconsLayoutParams() {
LinearLayout.LayoutParams lp = LinearLayout.LayoutParams lp =
(LinearLayout.LayoutParams) mSystemIconsContainer.getLayoutParams(); (LinearLayout.LayoutParams) mSystemIconsContainer.getLayoutParams();
// If the avatar icon is gone, we need to have some end margin to display the system icons
// correctly. int marginStart = getResources().getDimensionPixelSize(
int baseMarginEnd = mMultiUserAvatar.getVisibility() == View.GONE R.dimen.system_icons_super_container_margin_start);
? mSystemIconsBaseMargin
: 0; // Use status_bar_padding_end to replace original
// system_icons_super_container_avatarless_margin_end to prevent different end alignment
// between PhoneStatusBarView and KeyguardStatusBarView
int baseMarginEnd = mStatusBarPaddingEnd;
int marginEnd = int marginEnd =
mKeyguardUserSwitcherEnabled ? mSystemIconsSwitcherHiddenExpandedMargin mKeyguardUserSwitcherEnabled ? mSystemIconsSwitcherHiddenExpandedMargin
: baseMarginEnd; : baseMarginEnd;
marginEnd = calculateMargin(marginEnd, mPadding.second);
if (marginEnd != lp.getMarginEnd()) { // Align PhoneStatusBar right margin/padding, only use
// 1. status bar layout: mPadding(consider round_corner + privacy dot)
// 2. icon container: R.dimen.status_bar_padding_end
if (marginEnd != lp.getMarginEnd() || marginStart != lp.getMarginStart()) {
lp.setMarginStart(marginStart);
lp.setMarginEnd(marginEnd); lp.setMarginEnd(marginEnd);
mSystemIconsContainer.setLayoutParams(lp); mSystemIconsContainer.setLayoutParams(lp);
} }
@@ -287,7 +291,13 @@ public class KeyguardStatusBarView extends RelativeLayout implements
mPadding = mPadding =
StatusBarWindowView.paddingNeededForCutoutAndRoundedCorner( StatusBarWindowView.paddingNeededForCutoutAndRoundedCorner(
mDisplayCutout, cornerCutoutMargins, mRoundedCornerPadding); mDisplayCutout, cornerCutoutMargins, mRoundedCornerPadding);
setPadding(mPadding.first, waterfallTop, mPadding.second, 0);
// consider privacy dot space
final int minLeft = isLayoutRtl() ? Math.max(mMinDotWidth, mPadding.first) : mPadding.first;
final int minRight = isLayoutRtl() ? mPadding.second :
Math.max(mMinDotWidth, mPadding.second);
setPadding(minLeft, waterfallTop, minRight, 0);
} }
private boolean updateLayoutParamsNoCutout() { private boolean updateLayoutParamsNoCutout() {