diff options
3 files changed, 20 insertions, 6 deletions
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 03375d20e6db..e953ad53527b 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java @@ -113,6 +113,7 @@ public class KeyguardStatusBarView extends RelativeLayout * Ratio representing being in ambient mode or not. */ private float mDarkAmount; + private boolean mDozing; public KeyguardStatusBarView(Context context, AttributeSet attrs) { super(context, attrs); @@ -210,7 +211,7 @@ public class KeyguardStatusBarView extends RelativeLayout mMultiUserSwitch.setVisibility(View.GONE); } } - mBatteryView.setForceShowPercent(mBatteryCharging && mShowPercentAvailable); + mBatteryView.setForceShowPercent(mBatteryCharging && mShowPercentAvailable || mDozing); } private void updateSystemIconsLayoutParams() { @@ -347,7 +348,7 @@ public class KeyguardStatusBarView extends RelativeLayout mIconManager = new TintedIconManager(findViewById(R.id.statusIcons)); Dependency.get(StatusBarIconController.class).addIconGroup(mIconManager); onThemeChanged(); - updateDozeState(); + updateDarkState(); } @Override @@ -506,21 +507,29 @@ public class KeyguardStatusBarView extends RelativeLayout } } + public void setDozing(boolean dozing) { + if (mDozing == dozing) { + return; + } + mDozing = dozing; + updateVisibilities(); + } + public void setDarkAmount(float darkAmount) { mDarkAmount = darkAmount; if (darkAmount == 0) { dozeTimeTick(); } - updateDozeState(); + updateDarkState(); } public void dozeTimeTick() { mCurrentBurnInOffsetX = getBurnInOffset(mBurnInOffset, true /* xAxis */); mCurrentBurnInOffsetY = getBurnInOffset(mBurnInOffset, false /* xAxis */); - updateDozeState(); + updateDarkState(); } - private void updateDozeState() { + private void updateDarkState() { float alpha = 1f - mDarkAmount; int visibility = alpha != 0f ? VISIBLE : INVISIBLE; mCarrierLabel.setAlpha(alpha * alpha); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java index 0d5ebb9b6578..c10837165c0f 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java @@ -140,7 +140,8 @@ public class NotificationPanelView extends PanelView implements private KeyguardAffordanceHelper mAffordanceHelper; private KeyguardUserSwitcher mKeyguardUserSwitcher; - private KeyguardStatusBarView mKeyguardStatusBar; + @VisibleForTesting + protected KeyguardStatusBarView mKeyguardStatusBar; private ViewGroup mBigClockContainer; private QS mQs; private FrameLayout mQsFrame; @@ -2792,6 +2793,7 @@ public class NotificationPanelView extends PanelView implements if (mDozing) { mNotificationStackScroller.setShowDarkShelf(!hasCustomClock()); } + mKeyguardStatusBar.setDozing(mDozing); if (mBarState == StatusBarState.KEYGUARD || mBarState == StatusBarState.SHADE_LOCKED) { diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationPanelViewTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationPanelViewTest.java index b7b95ef3ff6a..3b98f0ca8ce2 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationPanelViewTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationPanelViewTest.java @@ -51,6 +51,8 @@ public class NotificationPanelViewTest extends SysuiTestCase { private NotificationStackScrollLayout mNotificationStackScrollLayout; @Mock private KeyguardStatusView mKeyguardStatusView; + @Mock + private KeyguardStatusBarView mKeyguardStatusBar; private NotificationPanelView mNotificationPanelView; @Before @@ -93,6 +95,7 @@ public class NotificationPanelViewTest extends SysuiTestCase { super(NotificationPanelViewTest.this.mContext, null); mNotificationStackScroller = mNotificationStackScrollLayout; mKeyguardStatusView = NotificationPanelViewTest.this.mKeyguardStatusView; + mKeyguardStatusBar = NotificationPanelViewTest.this.mKeyguardStatusBar; } } } |