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;