summaryrefslogtreecommitdiff
path: root/app/src
diff options
context:
space:
mode:
Diffstat (limited to 'app/src')
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/FeedItemlistFragment.java18
-rw-r--r--app/src/main/java/de/danoeh/antennapod/menuhandler/FeedMenuHandler.java2
2 files changed, 18 insertions, 2 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/FeedItemlistFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/FeedItemlistFragment.java
index 471651e88..415af83d5 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/FeedItemlistFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/FeedItemlistFragment.java
@@ -34,6 +34,7 @@ import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
+import java.util.Collections;
import java.util.List;
import de.danoeh.antennapod.R;
@@ -52,6 +53,7 @@ import de.danoeh.antennapod.core.feed.FeedEvent;
import de.danoeh.antennapod.core.feed.FeedItem;
import de.danoeh.antennapod.core.feed.FeedItemFilter;
import de.danoeh.antennapod.core.feed.FeedMedia;
+import de.danoeh.antennapod.core.feed.IntraFeedSortOrder;
import de.danoeh.antennapod.core.glide.ApGlideSettings;
import de.danoeh.antennapod.core.glide.FastBlurTransformation;
import de.danoeh.antennapod.core.service.download.DownloadService;
@@ -63,6 +65,7 @@ import de.danoeh.antennapod.core.storage.DownloadRequester;
import de.danoeh.antennapod.core.util.FeedItemUtil;
import de.danoeh.antennapod.core.util.LongList;
import de.danoeh.antennapod.core.util.Optional;
+import de.danoeh.antennapod.core.util.comparator.FeedItemPubdateComparator;
import de.danoeh.antennapod.core.util.gui.MoreContentListFooterUtil;
import de.danoeh.antennapod.dialog.EpisodesApplyActionFragment;
import de.danoeh.antennapod.dialog.RenameFeedDialog;
@@ -625,13 +628,26 @@ public class FeedItemlistFragment extends ListFragment {
@NonNull
private Optional<Feed> loadData() {
- // TODO-2524: apply sorting, either at db level or here
Feed feed = DBReader.getFeed(feedID);
if (feed != null && feed.getItemFilter() != null) {
DBReader.loadAdditionalFeedItemListData(feed.getItems());
FeedItemFilter filter = feed.getItemFilter();
feed.setItems(filter.filter(feed.getItems()));
}
+ IntraFeedSortOrder sortOrder = feed.getSortOrder();
+ if (sortOrder != null) {
+ long tS = System.currentTimeMillis(); // TODO-2524:
+ if (sortOrder == IntraFeedSortOrder.DATE_OLD_NEW) {
+ List<FeedItem> feedItems = feed.getItems();
+ Collections.sort(feedItems, FeedItemPubdateComparator.ascending);
+ feed.setItems(feedItems);
+ } else {
+ System.err.println("DBG - to-implement: " + sortOrder); // TODO-2524:
+ }
+ long tE = System.currentTimeMillis();
+ System.err.println("DBG - sort elapsed time: " + (tE -tS) +
+ "ms ; " + "num items: " + feed.getItems().size() + ", order: " + sortOrder); // TODO: 2524
+ }
return Optional.ofNullable(feed);
}
diff --git a/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedMenuHandler.java b/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedMenuHandler.java
index 5e0d65d0c..53d95bd1c 100644
--- a/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedMenuHandler.java
+++ b/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedMenuHandler.java
@@ -122,7 +122,7 @@ public class FeedMenuHandler {
@Override
protected void updateSort(@NonNull IntraFeedSortOrder sortOrder) {
selectedFeed.setSortOrder(sortOrder);
- // TODO-2524: update in db
+ DBWriter.setFeedItemSortOrder(selectedFeed.getId(), sortOrder);
}
};
sortDialog.openDialog();