diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml index e848915cf..564630afc 100644 --- a/app/src/main/res/xml/preferences.xml +++ b/app/src/main/res/xml/preferences.xml @@ -25,6 +25,12 @@ android:key="prefPersistNotify" android:summary="@string/pref_persistNotify_sum" android:title="@string/pref_persistNotify_title"/> + diff --git a/core/src/main/java/de/danoeh/antennapod/core/preferences/UserPreferences.java b/core/src/main/java/de/danoeh/antennapod/core/preferences/UserPreferences.java index 594241573..6ef91a22a 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/preferences/UserPreferences.java +++ b/core/src/main/java/de/danoeh/antennapod/core/preferences/UserPreferences.java @@ -44,6 +44,7 @@ public class UserPreferences implements public static final String PREF_HIDDEN_DRAWER_ITEMS = "prefHiddenDrawerItems"; public static final String PREF_EXPANDED_NOTIFICATION = "prefExpandNotify"; public static final String PREF_PERSISTENT_NOTIFICATION = "prefPersistNotify"; + public static final String PREF_SHOW_DOWNLOAD_REPORT = "prefShowDownloadReport"; // Queue public static final String PREF_QUEUE_ADD_TO_FRONT = "prefQueueAddToFront"; @@ -94,6 +95,7 @@ public class UserPreferences implements private List hiddenDrawerItems; private int notifyPriority; private boolean persistNotify; + private boolean showDownloadReport; // Queue private boolean enqueueAtFront; @@ -164,6 +166,7 @@ public class UserPreferences implements } hiddenDrawerItems = Arrays.asList(StringUtils.split(sp.getString(PREF_HIDDEN_DRAWER_ITEMS, ""), ',')); persistNotify = sp.getBoolean(PREF_PERSISTENT_NOTIFICATION, false); + showDownloadReport = sp.getBoolean(PREF_SHOW_DOWNLOAD_REPORT, true); // Queue enqueueAtFront = sp.getBoolean(PREF_QUEUE_ADD_TO_FRONT, false); @@ -307,6 +310,16 @@ public class UserPreferences implements return instance.persistNotify; } + /** + * Returns true if download reports are shown + * + * @return {@code true} if download reports are shown, {@code false} otherwise + */ + public static boolean showDownloadReport() { + instanceAvailable(); + return instance.showDownloadReport; + } + /** * Returns {@code true} if new queue elements are added to the front * @@ -463,6 +476,9 @@ public class UserPreferences implements case PREF_PERSISTENT_NOTIFICATION: persistNotify = sp.getBoolean(PREF_PERSISTENT_NOTIFICATION, false); break; + case PREF_SHOW_DOWNLOAD_REPORT: + showDownloadReport = sp.getBoolean(PREF_SHOW_DOWNLOAD_REPORT, true); + break; // Queue case PREF_QUEUE_ADD_TO_FRONT: enqueueAtFront = sp.getBoolean(PREF_QUEUE_ADD_TO_FRONT, false); diff --git a/core/src/main/java/de/danoeh/antennapod/core/service/download/DownloadService.java b/core/src/main/java/de/danoeh/antennapod/core/service/download/DownloadService.java index 06bca3129..4e386321e 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/service/download/DownloadService.java +++ b/core/src/main/java/de/danoeh/antennapod/core/service/download/DownloadService.java @@ -309,7 +309,8 @@ public class DownloadService extends Service { Log.d(TAG, "Service shutting down"); isRunning = false; - if (ClientConfig.downloadServiceCallbacks.shouldCreateReport()) { + if (ClientConfig.downloadServiceCallbacks.shouldCreateReport() && + UserPreferences.showDownloadReport()) { updateReport(); } diff --git a/core/src/main/res/values/strings.xml b/core/src/main/res/values/strings.xml index fe8c08e9e..c2147cccc 100644 --- a/core/src/main/res/values/strings.xml +++ b/core/src/main/res/values/strings.xml @@ -307,6 +307,9 @@ Always expand the notification to show playback buttons. Persistent Playback Controls Keep notification and lockscreen controls when playback is paused. + Show Download Report + If downloads fail, generate a report that shows the details of the failure. + Android versions before 4.1 do not support expanded notifications. Add new episodes to the front of the queue. Enqueue at Front