소스 검색

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) {