summaryrefslogtreecommitdiff
path: root/core/src
diff options
context:
space:
mode:
authorByteHamster <ByteHamster@users.noreply.github.com>2021-07-11 19:12:35 +0200
committerGitHub <noreply@github.com>2021-07-11 19:12:35 +0200
commit07cd141bdf95ff53d5a11def4b6ad4dc3701deed (patch)
tree334295187df7c1ab7450825dc9698060324f895a /core/src
parente45f62c727a9d1b6936c7a5b86626264e0d8d31e (diff)
parent4f5449a0d3c8540b32a8d54c3c770d5fe91e554e (diff)
downloadAntennaPod-07cd141bdf95ff53d5a11def4b6ad4dc3701deed.zip
Merge pull request #4833 from Thom-Merrilin/fix-auto-download-on-subscribe
Check Auto Download preference on the feed before auto downloading
Diffstat (limited to 'core/src')
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/storage/AutomaticDownloadAlgorithm.java6
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/storage/DBTasks.java1
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/storage/DBWriter.java36
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/storage/PodDBAdapter.java7
-rw-r--r--core/src/main/res/values/strings.xml5
5 files changed, 3 insertions, 52 deletions
diff --git a/core/src/main/java/de/danoeh/antennapod/core/storage/AutomaticDownloadAlgorithm.java b/core/src/main/java/de/danoeh/antennapod/core/storage/AutomaticDownloadAlgorithm.java
index 2456a3917..b5202d79c 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/storage/AutomaticDownloadAlgorithm.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/storage/AutomaticDownloadAlgorithm.java
@@ -7,7 +7,6 @@ import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
-import de.danoeh.antennapod.model.feed.FeedFilter;
import de.danoeh.antennapod.model.feed.FeedItem;
import de.danoeh.antennapod.model.feed.FeedPreferences;
import de.danoeh.antennapod.core.preferences.UserPreferences;
@@ -55,8 +54,9 @@ public class AutomaticDownloadAlgorithm {
candidates.addAll(queue);
for (FeedItem newItem : newItems) {
FeedPreferences feedPrefs = newItem.getFeed().getPreferences();
- FeedFilter feedFilter = feedPrefs.getFilter();
- if (!candidates.contains(newItem) && feedFilter.shouldAutoDownload(newItem)) {
+ if (feedPrefs.getAutoDownload()
+ && !candidates.contains(newItem)
+ && feedPrefs.getFilter().shouldAutoDownload(newItem)) {
candidates.add(newItem);
}
}
diff --git a/core/src/main/java/de/danoeh/antennapod/core/storage/DBTasks.java b/core/src/main/java/de/danoeh/antennapod/core/storage/DBTasks.java
index ee3cf31a1..efd8a716e 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/storage/DBTasks.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/storage/DBTasks.java
@@ -440,7 +440,6 @@ public final class DBTasks {
if (oldItem == null) {
// item is new
item.setFeed(savedFeed);
- item.setAutoDownload(savedFeed.getPreferences().getAutoDownload());
if (idx >= savedFeed.getItems().size()) {
savedFeed.getItems().add(item);
diff --git a/core/src/main/java/de/danoeh/antennapod/core/storage/DBWriter.java b/core/src/main/java/de/danoeh/antennapod/core/storage/DBWriter.java
index 3231c3779..8517b73a2 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/storage/DBWriter.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/storage/DBWriter.java
@@ -945,23 +945,6 @@ public class DBWriter {
});
}
- /**
- * Sets the 'auto_download'-attribute of specific FeedItem.
- *
- * @param feedItem FeedItem.
- * @param autoDownload true enables auto download, false disables it
- */
- public static Future<?> setFeedItemAutoDownload(final FeedItem feedItem,
- final boolean autoDownload) {
- return dbExec.submit(() -> {
- final PodDBAdapter adapter = PodDBAdapter.getInstance();
- adapter.open();
- adapter.setFeedItemAutoDownload(feedItem, autoDownload ? 1 : 0);
- adapter.close();
- EventBus.getDefault().post(new UnreadItemsUpdateEvent());
- });
- }
-
public static Future<?> saveFeedItemAutoDownloadFailed(final FeedItem feedItem) {
return dbExec.submit(() -> {
int failedAttempts = feedItem.getFailedAutoDownloadAttempts() + 1;
@@ -982,25 +965,6 @@ public class DBWriter {
}
/**
- * Sets the 'auto_download'-attribute of specific FeedItem.
- *
- * @param feed This feed's episodes will be processed.
- * @param autoDownload If true, auto download will be enabled for the feed's episodes. Else,
- */
- public static Future<?> setFeedsItemsAutoDownload(final Feed feed,
- final boolean autoDownload) {
- Log.d(TAG, (autoDownload ? "Enabling" : "Disabling") + " auto download for items of feed " + feed.getId());
- return dbExec.submit(() -> {
- final PodDBAdapter adapter = PodDBAdapter.getInstance();
- adapter.open();
- adapter.setFeedsItemsAutoDownload(feed, autoDownload);
- adapter.close();
- EventBus.getDefault().post(new UnreadItemsUpdateEvent());
- });
- }
-
-
- /**
* Set filter of the feed
*
* @param feedId The feed's ID
diff --git a/core/src/main/java/de/danoeh/antennapod/core/storage/PodDBAdapter.java b/core/src/main/java/de/danoeh/antennapod/core/storage/PodDBAdapter.java
index 18810aff9..21ca1043f 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/storage/PodDBAdapter.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/storage/PodDBAdapter.java
@@ -768,13 +768,6 @@ public class PodDBAdapter {
new String[]{String.valueOf(feedItem.getId())});
}
- public void setFeedsItemsAutoDownload(Feed feed, boolean autoDownload) {
- final String sql = "UPDATE " + TABLE_NAME_FEED_ITEMS
- + " SET " + KEY_AUTO_DOWNLOAD + "=" + (autoDownload ? "1" : "0")
- + " WHERE " + KEY_FEED + "=" + feed.getId();
- db.execSQL(sql);
- }
-
public void setFavorites(List<FeedItem> favorites) {
ContentValues values = new ContentValues();
try {
diff --git a/core/src/main/res/values/strings.xml b/core/src/main/res/values/strings.xml
index c08fb98bc..442f95832 100644
--- a/core/src/main/res/values/strings.xml
+++ b/core/src/main/res/values/strings.xml
@@ -101,8 +101,6 @@
<string name="close_label">Close</string>
<string name="retry_label">Retry</string>
<string name="auto_download_label">Include in auto downloads</string>
- <string name="auto_download_apply_to_items_title">Apply to Previous Episodes</string>
- <string name="auto_download_apply_to_items_message">The new <i>Auto Download</i> setting will automatically be applied to new episodes.\nDo you also want to apply it to previously published episodes?</string>
<string name="auto_delete_label">Auto Delete Episode</string>
<string name="feed_volume_reduction">Volume Reduction</string>
<string name="feed_volume_reduction_summary">Turn down volume for episodes of this feed: %1$s</string>
@@ -224,8 +222,6 @@
<string name="remove_from_favorite_label">Remove from Favorites</string>
<string name="visit_website_label">Visit Website</string>
<string name="skip_episode_label">Skip episode</string>
- <string name="activate_auto_download">Activate Auto Download</string>
- <string name="deactivate_auto_download">Deactivate Auto Download</string>
<string name="reset_position">Reset Playback Position</string>
<string name="removed_item">Item removed</string>
<string name="no_items_selected">No items selected</string>
@@ -254,7 +250,6 @@
<string name="download_error_wrong_size">The server connection was lost before completing the download</string>
<string name="download_error_blocked">The download was blocked by another app on your device.</string>
<string name="download_error_certificate">Unable to establish a secure connection. This can mean that another app on your device blocked the download, or that something is wrong with the server certificates.</string>
- <string name="download_canceled_autodownload_enabled_msg">Download canceled\nDisabled <i>Auto Download</i> for this item</string>
<string name="download_report_title">Downloads completed with error(s)</string>
<string name="auto_download_report_title">Auto-downloads completed</string>
<string name="download_error_io_error">IO Error</string>