Don't crash when no alarms are scheduled
Backing until you hear glass is generally contraindicated.
Bug 10056484
Change-Id: Ie1331fbbc5fbb5d6384a6cfc975aa1840a5c9a2d
diff --git a/services/java/com/android/server/AlarmManagerService.java b/services/java/com/android/server/AlarmManagerService.java
index bb6c4e6..04d6332 100644
--- a/services/java/com/android/server/AlarmManagerService.java
+++ b/services/java/com/android/server/AlarmManagerService.java
@@ -1016,12 +1016,11 @@
private native int setKernelTimezone(int fd, int minuteswest);
private void triggerAlarmsLocked(ArrayList<Alarm> triggerList, long nowELAPSED, long nowRTC) {
- Batch batch;
-
// batches are temporally sorted, so we need only pull from the
// start of the list until we either empty it or hit a batch
// that is not yet deliverable
- while ((batch = mAlarmBatches.get(0)) != null) {
+ while (mAlarmBatches.size() > 0) {
+ Batch batch = mAlarmBatches.get(0);
if (batch.start > nowELAPSED) {
// Everything else is scheduled for the future
break;