浏览代码

Cancel notications before unpersisting

Sebastián Katzer 12 年之前
父节点
当前提交
9c40e8efe1
共有 1 个文件被更改,包括 11 次插入9 次删除
  1. 11 9
      src/android/LocalNotification.java

+ 11 - 9
src/android/LocalNotification.java

@@ -44,24 +44,22 @@ public class LocalNotification extends CordovaPlugin {
         String alarmId = options.getId();
         String alarmId = options.getId();
 
 
         if (action.equalsIgnoreCase("add")) {
         if (action.equalsIgnoreCase("add")) {
-            if (alarmId != null)
-                persist(alarmId, args);
-
+            persist(alarmId, args);
             add(options);
             add(options);
 
 
             return true;
             return true;
         }
         }
 
 
         if (action.equalsIgnoreCase("cancel")) {
         if (action.equalsIgnoreCase("cancel")) {
-            unpersist(alarmId);
             cancel(alarmId);
             cancel(alarmId);
+            unpersist(alarmId);
 
 
             return true;
             return true;
         }
         }
 
 
         if (action.equalsIgnoreCase("cancelAll")) {
         if (action.equalsIgnoreCase("cancelAll")) {
-            unpersistAll();
             cancelAll();
             cancelAll();
+            unpersistAll();
 
 
             return true;
             return true;
         }
         }
@@ -149,8 +147,10 @@ public class LocalNotification extends CordovaPlugin {
     private void persist (String alarmId, JSONArray args) {
     private void persist (String alarmId, JSONArray args) {
         Editor editor = cordova.getActivity().getSharedPreferences(PLUGIN_NAME, Context.MODE_PRIVATE).edit();
         Editor editor = cordova.getActivity().getSharedPreferences(PLUGIN_NAME, Context.MODE_PRIVATE).edit();
 
 
-        editor.putString(alarmId, args.toString());
-        editor.commit();
+        if (alarmId != null) {
+            editor.putString(alarmId, args.toString());
+            editor.commit();
+        }
     }
     }
 
 
     /**
     /**
@@ -162,8 +162,10 @@ public class LocalNotification extends CordovaPlugin {
     private void unpersist (String alarmId) {
     private void unpersist (String alarmId) {
         Editor editor = cordova.getActivity().getSharedPreferences(PLUGIN_NAME, Context.MODE_PRIVATE).edit();
         Editor editor = cordova.getActivity().getSharedPreferences(PLUGIN_NAME, Context.MODE_PRIVATE).edit();
 
 
-        editor.remove(alarmId);
-        editor.commit();
+        if (alarmId != null) {
+            editor.remove(alarmId);
+            editor.commit();
+        }
     }
     }
 
 
     /**
     /**