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
This commit is contained in:
Jorim Jaggi
2015-08-13 15:53:14 -07:00
parent ff9912d594
commit 9373911d41
4 changed files with 10 additions and 2 deletions

View File

@@ -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;

View File

@@ -2226,7 +2226,7 @@ public class NotificationPanelView extends PanelView implements
}
};
public void onScreenTurnedOn() {
public void onScreenTurningOn() {
mKeyguardStatusView.refreshTime();
}

View File

@@ -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

View File

@@ -172,6 +172,10 @@ public class StatusBarKeyguardViewManager {
mPhoneStatusBar.onScreenTurnedOn();
}
public void onScreenTurningOn() {
mPhoneStatusBar.onScreenTurningOn();
}
public void onScreenTurnedOn() {
mScreenTurnedOn = true;
mWakeAndUnlocking = false;