diff options
author | Dianne Hackborn <hackbod@google.com> | 2015-04-23 10:30:43 -0700 |
---|---|---|
committer | Dianne Hackborn <hackbod@google.com> | 2015-04-23 10:30:43 -0700 |
commit | 35d54037758a2bbf14da8d54a85394a02d1dc8d8 (patch) | |
tree | 3f8bf28ea9fbc3ce0a0611b4550fe20123523155 /services | |
parent | a1f6211e795be5101ab763dd451b307ae56c8cad (diff) | |
download | frameworks_base-35d54037758a2bbf14da8d54a85394a02d1dc8d8.zip frameworks_base-35d54037758a2bbf14da8d54a85394a02d1dc8d8.tar.gz frameworks_base-35d54037758a2bbf14da8d54a85394a02d1dc8d8.tar.bz2 |
Hopefully fix issue #20297662: Statusbar clock not updating
Make sure that whenever we no longer have a pending-idle-until
alarm, we get all of the pending alarms re-added.
Change-Id: I7e80bc02afff22827d876ef5d4a381ebb62ec8e3
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 { |