summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authororionlee <orionlee@yahoo.com>2019-10-18 14:14:18 -0700
committerorionlee <orionlee@yahoo.com>2019-10-20 15:21:46 -0700
commitbe7db6cef1feedd2ea777cd8dec98348965bb861 (patch)
tree3b250c52e8acdd4b749a305c382ea7b0e5c29d2c /core
parentaa6897f256b6aae9a28ba2f76bd490d64bb69981 (diff)
downloadAntennaPod-be7db6cef1feedd2ea777cd8dec98348965bb861.zip
sort in podcast screen - logic, no db persistence yet.
Diffstat (limited to 'core')
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/feed/FeedEvent.java3
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/storage/DBWriter.java15
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/util/comparator/FeedItemPubdateComparator.java6
3 files changed, 22 insertions, 2 deletions
diff --git a/core/src/main/java/de/danoeh/antennapod/core/feed/FeedEvent.java b/core/src/main/java/de/danoeh/antennapod/core/feed/FeedEvent.java
index b790faadf..15cdf92dc 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/feed/FeedEvent.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/feed/FeedEvent.java
@@ -6,7 +6,8 @@ import org.apache.commons.lang3.builder.ToStringStyle;
public class FeedEvent {
public enum Action {
- FILTER_CHANGED
+ FILTER_CHANGED,
+ SORT_ORDER_CHANGED
}
private final Action action;
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 e0e15c1ff..9dd7b826c 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
@@ -5,6 +5,7 @@ import android.content.Context;
import android.util.Log;
import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import org.greenrobot.eventbus.EventBus;
@@ -30,6 +31,7 @@ import de.danoeh.antennapod.core.feed.FeedEvent;
import de.danoeh.antennapod.core.feed.FeedItem;
import de.danoeh.antennapod.core.feed.FeedMedia;
import de.danoeh.antennapod.core.feed.FeedPreferences;
+import de.danoeh.antennapod.core.feed.IntraFeedSortOrder;
import de.danoeh.antennapod.core.gpoddernet.model.GpodnetEpisodeAction;
import de.danoeh.antennapod.core.preferences.GpodnetPreferences;
import de.danoeh.antennapod.core.preferences.PlaybackPreferences;
@@ -944,6 +946,19 @@ public class DBWriter {
});
}
+ /**
+ * Set item sort order of the feed
+ *
+ */
+ public static Future<?> setFeedItemSortOrder(long feedId, @Nullable IntraFeedSortOrder sortOrder) {
+ return dbExec.submit(() -> {
+ PodDBAdapter adapter = PodDBAdapter.getInstance();
+ adapter.open();
+ // adapter.setFeedItemSortOrder(feedId, sortOrder);
+ adapter.close();
+ EventBus.getDefault().post(new FeedEvent(FeedEvent.Action.SORT_ORDER_CHANGED, feedId));
+ });
+ }
/**
* Reset the statistics in DB
diff --git a/core/src/main/java/de/danoeh/antennapod/core/util/comparator/FeedItemPubdateComparator.java b/core/src/main/java/de/danoeh/antennapod/core/util/comparator/FeedItemPubdateComparator.java
index a96eda3c5..9abbeb6c0 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/util/comparator/FeedItemPubdateComparator.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/util/comparator/FeedItemPubdateComparator.java
@@ -1,5 +1,6 @@
package de.danoeh.antennapod.core.util.comparator;
+import java.util.Collections;
import java.util.Comparator;
import de.danoeh.antennapod.core.feed.FeedItem;
@@ -7,7 +8,10 @@ import de.danoeh.antennapod.core.feed.FeedItem;
/** Compares the pubDate of two FeedItems for sorting*/
public class FeedItemPubdateComparator implements Comparator<FeedItem> {
- /** Returns a new instance of this comparator in reverse order.
+ public static final Comparator<FeedItem> descending = new FeedItemPubdateComparator();
+ public static final Comparator<FeedItem> ascending = Collections.reverseOrder(new FeedItemPubdateComparator());
+
+ /** Returns a new instance of this comparator in reverse order.
public static FeedItemPubdateComparator newInstance() {
FeedItemPubdateComparator
}*/