From 9373911d41c133fce80b8ecf6e688204f2c667e7 Mon Sep 17 00:00:00 2001 From: Jorim Jaggi Date: Thu, 13 Aug 2015 15:53:14 -0700 Subject: [PATCH] Update time when turning on screen, in addition to waking up When in ambient display mode, we didn't get a callback to onStartedWakingUp, thus the time was never refreshed. Since broadcasts are disabled in this low-power state, we need to refresh the clock manually before turning on the screen, because we can't rely on the broadcasts to be delivered. Bug: 23171638 Change-Id: I249f4195a14995f7c1467e73ac2aa400b871f80e --- .../com/android/systemui/keyguard/KeyguardViewMediator.java | 1 + .../systemui/statusbar/phone/NotificationPanelView.java | 2 +- .../com/android/systemui/statusbar/phone/PhoneStatusBar.java | 5 ++++- .../statusbar/phone/StatusBarKeyguardViewManager.java | 4 ++++ 4 files changed, 10 insertions(+), 2 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java index c1df788d41086..a1c8b1ac27493 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java +++ b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java @@ -1564,6 +1564,7 @@ public class KeyguardViewMediator extends SystemUI { private void handleNotifyScreenTurningOn(IKeyguardDrawnCallback callback) { synchronized (KeyguardViewMediator.this) { if (DEBUG) Log.d(TAG, "handleNotifyScreenTurningOn"); + mStatusBarKeyguardViewManager.onScreenTurningOn(); if (callback != null) { if (mWakeAndUnlocking) { mDrawnCallback = callback; 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 17fd7a738ea93..373abe5cc00b5 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java @@ -2226,7 +2226,7 @@ public class NotificationPanelView extends PanelView implements } }; - public void onScreenTurnedOn() { + public void onScreenTurningOn() { mKeyguardStatusView.refreshTime(); } 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 efd72a73371b9..18cf95b317573 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java @@ -3834,11 +3834,14 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, public void onScreenTurnedOn() { mScreenOnFromKeyguard = true; mStackScroller.setAnimationsEnabled(true); - mNotificationPanel.onScreenTurnedOn(); mNotificationPanel.setTouchDisabled(false); updateVisibleToUser(); } + public void onScreenTurningOn() { + mNotificationPanel.onScreenTurningOn(); + } + /** * This handles long-press of both back and recents. They are * handled together to capture them both being long-pressed diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java index 44aa780706d96..7dd3e7c60bfef 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java @@ -172,6 +172,10 @@ public class StatusBarKeyguardViewManager { mPhoneStatusBar.onScreenTurnedOn(); } + public void onScreenTurningOn() { + mPhoneStatusBar.onScreenTurningOn(); + } + public void onScreenTurnedOn() { mScreenTurnedOn = true; mWakeAndUnlocking = false;