diff options
author | Dianne Hackborn <hackbod@google.com> | 2015-04-23 17:37:28 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2015-04-23 17:37:29 +0000 |
commit | be3d85fb96cf1634b05dbaad708127219d5e8ced (patch) | |
tree | 9c95716493074beb9a09fbc9073748efcaade46e /services | |
parent | 6446d97942b6b5b3108d4c8e53410b38497049d8 (diff) | |
parent | 35d54037758a2bbf14da8d54a85394a02d1dc8d8 (diff) | |
download | frameworks_base-be3d85fb96cf1634b05dbaad708127219d5e8ced.zip frameworks_base-be3d85fb96cf1634b05dbaad708127219d5e8ced.tar.gz frameworks_base-be3d85fb96cf1634b05dbaad708127219d5e8ced.tar.bz2 |
Merge "Hopefully fix issue #20297662: Statusbar clock not updating"
Diffstat (limited to 'services')
-rw-r--r-- | services/core/java/com/android/server/AlarmManagerService.java | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/AlarmManagerService.java b/services/core/java/com/android/server/AlarmManagerService.java index 5d02576..0e3867d 100644 --- a/services/core/java/com/android/server/AlarmManagerService.java +++ b/services/core/java/com/android/server/AlarmManagerService.java @@ -566,13 +566,22 @@ class AlarmManagerService extends SystemService { } void restorePendingWhileIdleAlarmsLocked() { + // Bring pending alarms back into the main list. final long nowElapsed = SystemClock.elapsedRealtime(); - for (int i=mPendingWhileIdleAlarms.size() - 1; i >= 0 && mPendingIdleUntil != null; i --) { + for (int i=mPendingWhileIdleAlarms.size() - 1; i >= 0 && mPendingIdleUntil == null; i--) { Alarm a = mPendingWhileIdleAlarms.remove(i); reAddAlarmLocked(a, nowElapsed, false); } + + // Reschedule everything. rescheduleKernelAlarmsLocked(); updateNextAlarmClockLocked(); + + // And send a TIME_TICK right now, since it is important to get the UI updated. + try { + mTimeTickSender.send(); + } catch (PendingIntent.CanceledException e) { + } } static final class InFlight extends Intent { |