diff --git a/packages/SystemUI/res/layout/keyguard_status_bar.xml b/packages/SystemUI/res/layout/keyguard_status_bar.xml index b5f917a4e574b..a2dfc0dd115d5 100644 --- a/packages/SystemUI/res/layout/keyguard_status_bar.xml +++ b/packages/SystemUI/res/layout/keyguard_status_bar.xml @@ -27,7 +27,7 @@ @@ -43,7 +43,7 @@ android:layout_height="@dimen/status_bar_header_height" android:layout_toStartOf="@id/multi_user_switch" android:layout_alignWithParentIfMissing="true" - android:layout_marginStart="16dp" + android:layout_marginStart="@dimen/system_icons_super_container_margin_start" android:paddingEnd="@dimen/system_icons_keyguard_padding_end"> 40dp + + 16dp + -1px 416dp diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java index 8d74536c76431..772c76642b9eb 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java @@ -230,6 +230,24 @@ public class KeyguardBottomAreaView extends FrameLayout implements View.OnClickL mIndicationText.setTextSize(TypedValue.COMPLEX_UNIT_PX, getResources().getDimensionPixelSize( com.android.internal.R.dimen.text_size_small_material)); + + ViewGroup.LayoutParams lp = mCameraImageView.getLayoutParams(); + lp.width = getResources().getDimensionPixelSize(R.dimen.keyguard_affordance_width); + lp.height = getResources().getDimensionPixelSize(R.dimen.keyguard_affordance_height); + mCameraImageView.setLayoutParams(lp); + mCameraImageView.setImageDrawable(mContext.getDrawable(R.drawable.ic_camera_alt_24dp)); + + lp = mLockIcon.getLayoutParams(); + lp.width = getResources().getDimensionPixelSize(R.dimen.keyguard_affordance_width); + lp.height = getResources().getDimensionPixelSize(R.dimen.keyguard_affordance_height); + mLockIcon.setLayoutParams(lp); + mLockIcon.update(true /* force */); + + lp = mLeftAffordanceView.getLayoutParams(); + lp.width = getResources().getDimensionPixelSize(R.dimen.keyguard_affordance_width); + lp.height = getResources().getDimensionPixelSize(R.dimen.keyguard_affordance_height); + mLeftAffordanceView.setLayoutParams(lp); + updateLeftAffordanceIcon(); } public void setActivityStarter(ActivityStarter activityStarter) { 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 e08b945493c98..7db2870620a02 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java @@ -58,6 +58,7 @@ public class KeyguardStatusBarView extends RelativeLayout private KeyguardUserSwitcher mKeyguardUserSwitcher; private int mSystemIconsSwitcherHiddenExpandedMargin; + private View mSystemIconsContainer; public KeyguardStatusBarView(Context context, AttributeSet attrs) { super(context, attrs); @@ -67,6 +68,7 @@ public class KeyguardStatusBarView extends RelativeLayout protected void onFinishInflate() { super.onFinishInflate(); mSystemIconsSuperContainer = findViewById(R.id.system_icons_super_container); + mSystemIconsContainer = findViewById(R.id.system_icons_container); mMultiUserSwitch = (MultiUserSwitch) findViewById(R.id.multi_user_switch); mMultiUserAvatar = (ImageView) findViewById(R.id.multi_user_avatar); mBatteryLevel = (TextView) findViewById(R.id.battery_level); @@ -79,17 +81,58 @@ public class KeyguardStatusBarView extends RelativeLayout protected void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); - // Respect font size setting. - mCarrierLabel.setTextSize(TypedValue.COMPLEX_UNIT_PX, - getResources().getDimensionPixelSize( - com.android.internal.R.dimen.text_size_small_material)); - mBatteryLevel.setTextSize(TypedValue.COMPLEX_UNIT_PX, - getResources().getDimensionPixelSize(R.dimen.battery_level_text_size)); - MarginLayoutParams lp = (MarginLayoutParams) mMultiUserAvatar.getLayoutParams(); lp.width = lp.height = getResources().getDimensionPixelSize( R.dimen.multi_user_avatar_keyguard_size); mMultiUserAvatar.setLayoutParams(lp); + + lp = (MarginLayoutParams) mMultiUserSwitch.getLayoutParams(); + lp.width = getResources().getDimensionPixelSize( + R.dimen.multi_user_switch_width_keyguard); + lp.setMarginEnd(getResources().getDimensionPixelSize( + R.dimen.multi_user_switch_keyguard_margin)); + mMultiUserSwitch.setLayoutParams(lp); + + lp = (MarginLayoutParams) mSystemIconsSuperContainer.getLayoutParams(); + lp.height = getResources().getDimensionPixelSize( + R.dimen.status_bar_header_height); + lp.setMarginStart(getResources().getDimensionPixelSize( + R.dimen.system_icons_super_container_margin_start)); + mSystemIconsSuperContainer.setLayoutParams(lp); + mSystemIconsSuperContainer.setPaddingRelative(mSystemIconsSuperContainer.getPaddingStart(), + mSystemIconsSuperContainer.getPaddingTop(), + getResources().getDimensionPixelSize(R.dimen.system_icons_keyguard_padding_end), + mSystemIconsSuperContainer.getPaddingBottom()); + + lp = (MarginLayoutParams) mSystemIconsContainer.getLayoutParams(); + lp.height = getResources().getDimensionPixelSize( + R.dimen.status_bar_height); + mSystemIconsContainer.setLayoutParams(lp); + + lp = (MarginLayoutParams) mBatteryLevel.getLayoutParams(); + lp.setMarginStart( + getResources().getDimensionPixelSize(R.dimen.header_battery_margin_keyguard)); + mBatteryLevel.setLayoutParams(lp); + mBatteryLevel.setPaddingRelative(mBatteryLevel.getPaddingStart(), + mBatteryLevel.getPaddingTop(), + getResources().getDimensionPixelSize(R.dimen.battery_level_padding_end), + mBatteryLevel.getPaddingBottom()); + mBatteryLevel.setTextSize(TypedValue.COMPLEX_UNIT_PX, + getResources().getDimensionPixelSize(R.dimen.battery_level_text_size)); + + // Respect font size setting. + mCarrierLabel.setTextSize(TypedValue.COMPLEX_UNIT_PX, + getResources().getDimensionPixelSize( + com.android.internal.R.dimen.text_size_small_material)); + lp = (MarginLayoutParams) mCarrierLabel.getLayoutParams(); + lp.setMarginStart( + getResources().getDimensionPixelSize(R.dimen.keyguard_carrier_text_margin)); + mCarrierLabel.setLayoutParams(lp); + + lp = (MarginLayoutParams) getLayoutParams(); + lp.height = getResources().getDimensionPixelSize( + R.dimen.status_bar_header_height_keyguard); + setLayoutParams(lp); } private void loadDimens() { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/LockIcon.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/LockIcon.java index 8e58d14a6e14f..ab5ee932f50dd 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/LockIcon.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/LockIcon.java @@ -17,6 +17,7 @@ package com.android.systemui.statusbar.phone; import android.content.Context; +import android.content.res.Configuration; import android.graphics.drawable.AnimatedVectorDrawable; import android.graphics.drawable.Drawable; import android.graphics.drawable.InsetDrawable; @@ -46,10 +47,11 @@ public class LockIcon extends KeyguardAffordanceView { private boolean mDeviceInteractive; private boolean mScreenOn; private boolean mLastScreenOn; - private final TrustDrawable mTrustDrawable; + private TrustDrawable mTrustDrawable; private final UnlockMethodCache mUnlockMethodCache; private AccessibilityController mAccessibilityController; private boolean mHasFingerPrintIcon; + private int mDensity; public LockIcon(Context context, AttributeSet attrs) { super(context, attrs); @@ -89,7 +91,24 @@ public class LockIcon extends KeyguardAffordanceView { update(); } + @Override + protected void onConfigurationChanged(Configuration newConfig) { + super.onConfigurationChanged(newConfig); + final int density = newConfig.densityDpi; + if (density != mDensity) { + mDensity = density; + mTrustDrawable.stop(); + mTrustDrawable = new TrustDrawable(getContext()); + setBackground(mTrustDrawable); + update(); + } + } + public void update() { + update(false /* force */); + } + + public void update(boolean force) { boolean visible = isShown() && KeyguardUpdateMonitor.getInstance(mContext).isDeviceInteractive(); if (visible) { @@ -103,7 +122,7 @@ public class LockIcon extends KeyguardAffordanceView { boolean useAdditionalPadding = anyFingerprintIcon; boolean trustHidden = anyFingerprintIcon; if (state != mLastState || mDeviceInteractive != mLastDeviceInteractive - || mScreenOn != mLastScreenOn) { + || mScreenOn != mLastScreenOn || force) { boolean isAnim = true; int iconRes = getAnimationResForTransition(mLastState, state, mLastDeviceInteractive, mDeviceInteractive, mLastScreenOn, mScreenOn); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java index 85eb2378388a7..7a9295e8ff477 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java @@ -997,7 +997,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, private void inflateSignalClusters() { SignalClusterView signalClusterView = reinflateSignalCluster(mStatusBarView); mIconController.setSignalCluster(signalClusterView); - reinflateSignalCluster(mKeyguardStatusView); + reinflateSignalCluster(mKeyguardStatusBar); } private SignalClusterView reinflateSignalCluster(View view) {