Completing fix for issue 5052078, folder items no longer lost

Change-Id: I9d9cc4658122816e2a60de2e12da65f3fe42bc5c
diff --git a/src/com/android/launcher2/Alarm.java b/src/com/android/launcher2/Alarm.java
index 38ff367..7cd21c3 100644
--- a/src/com/android/launcher2/Alarm.java
+++ b/src/com/android/launcher2/Alarm.java
@@ -28,6 +28,7 @@
 
     private Handler mHandler;
     private OnAlarmListener mAlarmListener;
+    private boolean mAlarmPending = false;
 
     public Alarm() {
         mHandler = new Handler();
@@ -41,6 +42,7 @@
     // it's overwritten and only the new alarm setting is used
     public void setAlarm(long millisecondsInFuture) {
         long currentTime = System.currentTimeMillis();
+        mAlarmPending = true;
         mAlarmTriggerTime = currentTime + millisecondsInFuture;
         if (!mWaitingForCallback) {
             mHandler.postDelayed(this, mAlarmTriggerTime - currentTime);
@@ -50,6 +52,7 @@
 
     public void cancelAlarm() {
         mAlarmTriggerTime = 0;
+        mAlarmPending = false;
     }
 
     // this is called when our timer runs out
@@ -63,12 +66,17 @@
                 mHandler.postDelayed(this, Math.max(0, mAlarmTriggerTime - currentTime));
                 mWaitingForCallback = true;
             } else {
+                mAlarmPending = false;
                 if (mAlarmListener != null) {
                     mAlarmListener.onAlarm(this);
                 }
             }
         }
     }
+
+    public boolean alarmPending() {
+        return mAlarmPending;
+    }
 }
 
 interface OnAlarmListener {