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