瀏覽代碼

SaveCalendar: don't try to export empty calendars

Causes crashes

Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
Álvaro Brey 2 年之前
父節點
當前提交
008ee4e0cd
共有 1 個文件被更改,包括 12 次插入8 次删除
  1. 12 8
      app/src/main/java/third_parties/sufficientlysecure/SaveCalendar.java

+ 12 - 8
app/src/main/java/third_parties/sufficientlysecure/SaveCalendar.java

@@ -190,17 +190,21 @@ public class SaveCalendar {
             cal.getComponents().add(v);
         }
 
-        new CalendarOutputter().output(cal, new FileOutputStream(fileName));
+        if (!cal.getComponents().isEmpty()) {
+            new CalendarOutputter().output(cal, new FileOutputStream(fileName));
 
-        Resources res = activity.getResources();
-        String msg = res.getQuantityString(R.plurals.wrote_n_events_to, events.size(), events.size(), file);
-        if (numberOfCreatedUids > 0) {
-            msg += "\n" + res.getQuantityString(R.plurals.created_n_uids_to, numberOfCreatedUids, numberOfCreatedUids);
-        }
+            Resources res = activity.getResources();
+            String msg = res.getQuantityString(R.plurals.wrote_n_events_to, events.size(), events.size(), file);
+            if (numberOfCreatedUids > 0) {
+                msg += "\n" + res.getQuantityString(R.plurals.created_n_uids_to, numberOfCreatedUids, numberOfCreatedUids);
+            }
 
-        // TODO replace DisplayUtils.showSnackMessage(activity, msg);
+            // TODO replace DisplayUtils.showSnackMessage(activity, msg);
 
-        upload(fileName);
+            upload(fileName);
+        } else {
+            Log_OC.w(TAG, "Calendar has " + selectedCal.mIdStr + "no components");
+        }
     }
 
     private int ensureUids(Context activity, ContentResolver resolver, AndroidCalendar cal) {