summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Fietz <Martin.Fietz@gmail.com>2017-04-09 20:26:00 +0200
committerGitHub <noreply@github.com>2017-04-09 20:26:00 +0200
commit4d256b7323d5a00b081508b13eb9141ab3aa9035 (patch)
tree3bd4fbc0598e4c081a4ac349c551f88ef696e588
parent8864f51f039a66fcca5791912228907079ef4447 (diff)
parenta2e07e749b4274bc20546dcbd73ea690bf25dcb9 (diff)
downloadAntennaPod-4d256b7323d5a00b081508b13eb9141ab3aa9035.zip
Merge pull request #2225 from mfietz/issue/2222-not-add-to-queue
Setting whether or not to enqueue downloaded episodes
-rw-r--r--app/src/main/res/xml/preferences.xml6
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/preferences/UserPreferences.java10
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/service/download/DownloadService.java3
-rw-r--r--core/src/main/res/values/strings.xml2
4 files changed, 15 insertions, 6 deletions
diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml
index fab96338e..14a8ca0ef 100644
--- a/app/src/main/res/xml/preferences.xml
+++ b/app/src/main/res/xml/preferences.xml
@@ -161,6 +161,12 @@
</PreferenceCategory>
<PreferenceCategory android:title="@string/network_pref">
+ <de.danoeh.antennapod.preferences.SwitchCompatPreference
+ android:defaultValue="true"
+ android:enabled="true"
+ android:key="prefEnqueueDownloaded"
+ android:summary="@string/pref_enqueue_downloaded_summary"
+ android:title="@string/pref_enqueue_downloaded_title" />
<Preference
android:key="prefAutoUpdateIntervall"
android:summary="@string/pref_autoUpdateIntervallOrTime_sum"
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 aa3bbaeab..2221da2e7 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
@@ -74,6 +74,7 @@ public class UserPreferences {
public static final String PREF_RESUME_AFTER_CALL = "prefResumeAfterCall";
// Network
+ public static final String PREF_ENQUEUE_DOWNLOADED = "prefEnqueueDownloaded";
public static final String PREF_UPDATE_INTERVAL = "prefAutoUpdateIntervall";
public static final String PREF_MOBILE_UPDATE = "prefMobileUpdate";
public static final String PREF_EPISODE_CLEANUP = "prefEpisodeCleanup";
@@ -258,11 +259,10 @@ public class UserPreferences {
return prefs.getBoolean(PREF_SHOW_DOWNLOAD_REPORT, true);
}
- /**
- * Returns {@code true} if new queue elements are added to the front
- *
- * @return {@code true} if new queue elements are added to the front; {@code false} otherwise
- */
+ public static boolean enqueueDownloadedEpisodes() {
+ return prefs.getBoolean(PREF_ENQUEUE_DOWNLOADED, true);
+ }
+
public static boolean enqueueAtFront() {
return prefs.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 87c454964..9ac459394 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
@@ -1051,7 +1051,8 @@ public class DownloadService extends Service {
DBWriter.setFeedMedia(media).get();
- if (item != null && !DBTasks.isInQueue(DownloadService.this, item.getId())) {
+ if (item != null && UserPreferences.enqueueDownloadedEpisodes() &&
+ !DBTasks.isInQueue(DownloadService.this, item.getId())) {
DBWriter.addQueueItem(DownloadService.this, item).get();
}
} catch (ExecutionException | InterruptedException e) {
diff --git a/core/src/main/res/values/strings.xml b/core/src/main/res/values/strings.xml
index 96350e19f..bed7b443c 100644
--- a/core/src/main/res/values/strings.xml
+++ b/core/src/main/res/values/strings.xml
@@ -421,6 +421,8 @@
<string name="pref_cast_title">Chromecast support</string>
<string name="pref_cast_message_play_flavor">Enable support for remote media playback on Cast devices (such as Chromecast, Audio Speakers or Android TV)</string>
<string name="pref_cast_message_free_flavor">Chromecast requires third party proprietary libraries that are disabled in this version of AntennaPod</string>
+ <string name="pref_enqueue_downloaded_title">Enqueue Dowloaded</string>
+ <string name="pref_enqueue_downloaded_summary">Add downloaded episodes to the queue</string>
<!-- Auto-Flattr dialog -->
<string name="auto_flattr_enable">Enable automatic flattring</string>