summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/storage/DBTasks.java10
-rw-r--r--core/src/test/java/de/danoeh/antennapod/core/feed/FeedTest.java82
-rw-r--r--core/src/test/java/de/danoeh/antennapod/core/util/FeedItemUtilTest.java2
-rw-r--r--model/src/main/java/de/danoeh/antennapod/model/feed/Feed.java66
-rw-r--r--model/src/main/java/de/danoeh/antennapod/model/feed/FeedPreferences.java19
5 files changed, 17 insertions, 162 deletions
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 52307912a..1fb0991dd 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
@@ -216,18 +216,12 @@ public final class DBTasks {
Collections.sort(newFeed.getItems(), new FeedItemPubdateComparator());
if (newFeed.getPageNr() == savedFeed.getPageNr()) {
- if (savedFeed.compareWithOther(newFeed)) {
- Log.d(TAG, "Feed has updated attribute values. Updating old feed's attributes");
- savedFeed.updateFromOther(newFeed);
- }
+ savedFeed.updateFromOther(newFeed);
+ savedFeed.getPreferences().updateFromOther(newFeed.getPreferences());
} else {
Log.d(TAG, "New feed has a higher page number.");
savedFeed.setNextPageLink(newFeed.getNextPageLink());
}
- if (savedFeed.getPreferences().compareWithOther(newFeed.getPreferences())) {
- Log.d(TAG, "Feed has updated preferences. Updating old feed's preferences");
- savedFeed.getPreferences().updateFromOther(newFeed.getPreferences());
- }
// get the most recent date now, before we start changing the list
FeedItem priorMostRecent = savedFeed.getMostRecentItem();
diff --git a/core/src/test/java/de/danoeh/antennapod/core/feed/FeedTest.java b/core/src/test/java/de/danoeh/antennapod/core/feed/FeedTest.java
index c256fea11..078f29ad7 100644
--- a/core/src/test/java/de/danoeh/antennapod/core/feed/FeedTest.java
+++ b/core/src/test/java/de/danoeh/antennapod/core/feed/FeedTest.java
@@ -8,9 +8,7 @@ import de.danoeh.antennapod.model.feed.SortOrder;
import static de.danoeh.antennapod.core.feed.FeedMother.anyFeed;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
+import static org.junit.Assert.assertThrows;
public class FeedTest {
@@ -24,92 +22,40 @@ public class FeedTest {
}
@Test
- public void testCompareWithOther_feedImageDownloadUrlChanged() throws Exception {
- setNewFeedImageDownloadUrl();
- feedHasChanged();
- }
-
- @Test
- public void testCompareWithOther_sameFeedImage() throws Exception {
- changedFeed.setImageUrl(FeedMother.IMAGE_URL);
- feedHasNotChanged();
- }
-
- @Test
- public void testCompareWithOther_feedImageRemoved() throws Exception {
- feedImageRemoved();
- feedHasNotChanged();
- }
-
- @Test
- public void testUpdateFromOther_feedImageDownloadUrlChanged() throws Exception {
- setNewFeedImageDownloadUrl();
+ public void testUpdateFromOther_feedImageDownloadUrlChanged() {
+ changedFeed.setImageUrl("http://example.com/new_picture");
original.updateFromOther(changedFeed);
- feedImageWasUpdated();
+ assertEquals(original.getImageUrl(), changedFeed.getImageUrl());
}
@Test
- public void testUpdateFromOther_feedImageRemoved() throws Exception {
- feedImageRemoved();
+ public void testUpdateFromOther_feedImageRemoved() {
+ changedFeed.setImageUrl(null);
original.updateFromOther(changedFeed);
- feedImageWasNotUpdated();
+ assertEquals(anyFeed().getImageUrl(), original.getImageUrl());
}
@Test
- public void testUpdateFromOther_feedImageAdded() throws Exception {
- feedHadNoImage();
- setNewFeedImageDownloadUrl();
+ public void testUpdateFromOther_feedImageAdded() {
+ original.setImageUrl(null);
+ changedFeed.setImageUrl("http://example.com/new_picture");
original.updateFromOther(changedFeed);
- feedImageWasUpdated();
+ assertEquals(original.getImageUrl(), changedFeed.getImageUrl());
}
@Test
- public void testSetSortOrder_OnlyIntraFeedSortAllowed() throws Exception {
+ public void testSetSortOrder_OnlyIntraFeedSortAllowed() {
for (SortOrder sortOrder : SortOrder.values()) {
if (sortOrder.scope == SortOrder.Scope.INTRA_FEED) {
original.setSortOrder(sortOrder); // should be okay
} else {
- try {
- original.setSortOrder(sortOrder);
- fail("SortOrder " + sortOrder + " should not be allowed on a feed");
- } catch (IllegalArgumentException iae) {
- // expected exception
- }
+ assertThrows(IllegalArgumentException.class, () -> original.setSortOrder(sortOrder));
}
}
}
@Test
- public void testSetSortOrder_NullAllowed() throws Exception {
+ public void testSetSortOrder_NullAllowed() {
original.setSortOrder(null); // should be okay
}
-
- private void feedHasNotChanged() {
- assertFalse(original.compareWithOther(changedFeed));
- }
-
- private void feedHadNoImage() {
- original.setImageUrl(null);
- }
-
- private void setNewFeedImageDownloadUrl() {
- changedFeed.setImageUrl("http://example.com/new_picture");
- }
-
- private void feedHasChanged() {
- assertTrue(original.compareWithOther(changedFeed));
- }
-
- private void feedImageRemoved() {
- changedFeed.setImageUrl(null);
- }
-
- private void feedImageWasUpdated() {
- assertEquals(original.getImageUrl(), changedFeed.getImageUrl());
- }
-
- private void feedImageWasNotUpdated() {
- assertEquals(anyFeed().getImageUrl(), original.getImageUrl());
- }
-
} \ No newline at end of file
diff --git a/core/src/test/java/de/danoeh/antennapod/core/util/FeedItemUtilTest.java b/core/src/test/java/de/danoeh/antennapod/core/util/FeedItemUtilTest.java
index 6bc3c09a2..df9617ab4 100644
--- a/core/src/test/java/de/danoeh/antennapod/core/util/FeedItemUtilTest.java
+++ b/core/src/test/java/de/danoeh/antennapod/core/util/FeedItemUtilTest.java
@@ -94,7 +94,7 @@ public class FeedItemUtilTest {
}
private static FeedItem createFeedItem(String feedLink, String itemLink) {
- Feed feed = new Feed();
+ Feed feed = new Feed("http://example.com/feed", null);
feed.setLink(feedLink);
FeedItem feedItem = new FeedItem();
feedItem.setLink(itemLink);
diff --git a/model/src/main/java/de/danoeh/antennapod/model/feed/Feed.java b/model/src/main/java/de/danoeh/antennapod/model/feed/Feed.java
index 80ef8547f..6b7c40095 100644
--- a/model/src/main/java/de/danoeh/antennapod/model/feed/Feed.java
+++ b/model/src/main/java/de/danoeh/antennapod/model/feed/Feed.java
@@ -3,7 +3,6 @@ package de.danoeh.antennapod.model.feed;
import android.text.TextUtils;
import androidx.annotation.Nullable;
-import org.apache.commons.lang3.StringUtils;
import java.util.ArrayList;
import java.util.Date;
@@ -150,13 +149,6 @@ public class Feed {
}
/**
- * This constructor can be used when parsing feed data. Only the 'lastUpdate' and 'items' field are initialized.
- */
- public Feed() {
- super();
- }
-
- /**
* This constructor is used for requesting a feed download (it must not be used for anything else!). It should NOT be
* used if the title of the feed is already known.
*/
@@ -257,64 +249,6 @@ public class Feed {
}
}
- /**
- * Compare's this FeedFile's attribute values with another FeedFile's
- * attribute values. This method will only compare attributes which were
- * read from the feed.
- *
- * @return true if attribute values are different, false otherwise
- */
- public boolean compareWithOther(Feed other) {
- if (!StringUtils.equals(downloadUrl, other.downloadUrl)) {
- return true;
- }
- if (other.imageUrl != null) {
- if (imageUrl == null || !TextUtils.equals(imageUrl, other.imageUrl)) {
- return true;
- }
- }
- if (!TextUtils.equals(feedTitle, other.feedTitle)) {
- return true;
- }
- if (other.feedIdentifier != null) {
- if (feedIdentifier == null || !feedIdentifier.equals(other.feedIdentifier)) {
- return true;
- }
- }
- if (other.link != null) {
- if (link == null || !link.equals(other.link)) {
- return true;
- }
- }
- if (other.description != null) {
- if (description == null || !description.equals(other.description)) {
- return true;
- }
- }
- if (other.language != null) {
- if (language == null || !language.equals(other.language)) {
- return true;
- }
- }
- if (other.author != null) {
- if (author == null || !author.equals(other.author)) {
- return true;
- }
- }
- if (other.fundingList != null) {
- if (fundingList == null || !fundingList.equals(other.fundingList)) {
- return true;
- }
- }
- if (other.isPaged() && !this.isPaged()) {
- return true;
- }
- if (!TextUtils.equals(other.getNextPageLink(), this.getNextPageLink())) {
- return true;
- }
- return false;
- }
-
public FeedItem getMostRecentItem() {
// we could sort, but we don't need to, a simple search is fine...
Date mostRecentDate = new Date(0);
diff --git a/model/src/main/java/de/danoeh/antennapod/model/feed/FeedPreferences.java b/model/src/main/java/de/danoeh/antennapod/model/feed/FeedPreferences.java
index 02f09693e..04c3849a2 100644
--- a/model/src/main/java/de/danoeh/antennapod/model/feed/FeedPreferences.java
+++ b/model/src/main/java/de/danoeh/antennapod/model/feed/FeedPreferences.java
@@ -150,25 +150,6 @@ public class FeedPreferences implements Serializable {
}
/**
- * Compare another FeedPreferences with this one. The feedID, autoDownload and AutoDeleteAction attribute are excluded from the
- * comparison.
- *
- * @return True if the two objects are different.
- */
- public boolean compareWithOther(FeedPreferences other) {
- if (other == null) {
- return true;
- }
- if (!TextUtils.equals(username, other.username)) {
- return true;
- }
- if (!TextUtils.equals(password, other.password)) {
- return true;
- }
- return false;
- }
-
- /**
* Update this FeedPreferences object from another one. The feedID, autoDownload and AutoDeleteAction attributes are excluded
* from the update.
*/