From 1620d2954982195d2033444e227214dbcd90a245 Mon Sep 17 00:00:00 2001 From: orionlee Date: Thu, 17 Oct 2019 11:44:00 -0700 Subject: Sort in Podcast screen - UI --- .../antennapod/dialog/IntraFeedSortDialog.java | 51 ++++++++++++++++++++++ .../antennapod/fragment/FeedItemlistFragment.java | 13 +++--- .../antennapod/menuhandler/FeedMenuHandler.java | 20 +++++++++ 3 files changed, 79 insertions(+), 5 deletions(-) create mode 100644 app/src/main/java/de/danoeh/antennapod/dialog/IntraFeedSortDialog.java (limited to 'app/src/main/java') diff --git a/app/src/main/java/de/danoeh/antennapod/dialog/IntraFeedSortDialog.java b/app/src/main/java/de/danoeh/antennapod/dialog/IntraFeedSortDialog.java new file mode 100644 index 000000000..a554f8d76 --- /dev/null +++ b/app/src/main/java/de/danoeh/antennapod/dialog/IntraFeedSortDialog.java @@ -0,0 +1,51 @@ +package de.danoeh.antennapod.dialog; + +import android.content.Context; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.appcompat.app.AlertDialog; + +import de.danoeh.antennapod.R; +import de.danoeh.antennapod.core.feed.IntraFeedSortOrder; + +public abstract class IntraFeedSortDialog { + + @Nullable + protected IntraFeedSortOrder currentSortOrder; + @NonNull + protected Context context; + + public IntraFeedSortDialog(@NonNull Context context, @Nullable IntraFeedSortOrder sortOrder) { + this.context = context; + this.currentSortOrder = sortOrder; + } + + public void openDialog() { + final String[] items = context.getResources().getStringArray(R.array.feed_episodes_sort_options); + final String[] valueStrs = context.getResources().getStringArray(R.array.feed_episodes_sort_values); + final IntraFeedSortOrder[] values = new IntraFeedSortOrder[valueStrs.length]; + for (int i = 0; i < valueStrs.length; i++) { + values[i] = IntraFeedSortOrder.valueOf(valueStrs[i]); + } + + int idxCurrentSort = -1; + for (int i = 0; i < values.length; i++) { + if (currentSortOrder == values[i]) { + idxCurrentSort = i; + break; + } + } + + AlertDialog.Builder builder = new AlertDialog.Builder(context); + builder.setTitle(R.string.sort); + builder.setSingleChoiceItems(items, idxCurrentSort, (dialog, idxNewSort) -> { + updateSort(values[idxNewSort]); + dialog.dismiss(); + }); + builder.setNegativeButton(R.string.cancel_label, null); + builder.create().show(); + } + + protected abstract void updateSort(@NonNull IntraFeedSortOrder sortOrder); +} 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 0c33dce5a..471651e88 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/FeedItemlistFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/FeedItemlistFragment.java @@ -5,10 +5,6 @@ import android.content.Context; import android.content.DialogInterface; import android.graphics.LightingColorFilter; import android.os.Bundle; -import androidx.annotation.NonNull; -import androidx.fragment.app.ListFragment; -import androidx.core.view.MenuItemCompat; -import androidx.appcompat.widget.SearchView; import android.util.Log; import android.view.ContextMenu; import android.view.LayoutInflater; @@ -23,12 +19,16 @@ import android.widget.ListView; import android.widget.RelativeLayout; import android.widget.TextView; +import androidx.annotation.NonNull; +import androidx.appcompat.widget.SearchView; +import androidx.core.view.MenuItemCompat; +import androidx.fragment.app.ListFragment; + import com.bumptech.glide.Glide; import com.bumptech.glide.request.RequestOptions; import com.joanzapata.iconify.Iconify; import com.joanzapata.iconify.widget.IconTextView; -import de.danoeh.antennapod.core.event.PlaybackPositionEvent; import org.apache.commons.lang3.Validate; import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.Subscribe; @@ -45,6 +45,7 @@ import de.danoeh.antennapod.core.dialog.DownloadRequestErrorDialogCreator; import de.danoeh.antennapod.core.event.DownloadEvent; import de.danoeh.antennapod.core.event.DownloaderUpdate; import de.danoeh.antennapod.core.event.FeedItemEvent; +import de.danoeh.antennapod.core.event.PlaybackPositionEvent; import de.danoeh.antennapod.core.feed.EventDistributor; import de.danoeh.antennapod.core.feed.Feed; import de.danoeh.antennapod.core.feed.FeedEvent; @@ -192,6 +193,7 @@ public class FeedItemlistFragment extends ListFragment { searchItem.setOnActionExpandListener(new MenuItem.OnActionExpandListener() { @Override public boolean onMenuItemActionExpand(MenuItem item) { + menu.findItem(R.id.sort_items).setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER); menu.findItem(R.id.filter_items).setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER); menu.findItem(R.id.episode_actions).setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER); menu.findItem(R.id.refresh_item).setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER); @@ -623,6 +625,7 @@ public class FeedItemlistFragment extends ListFragment { @NonNull private Optional 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()); 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 f7aae8cde..5e0d65d0c 100644 --- a/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedMenuHandler.java +++ b/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedMenuHandler.java @@ -7,6 +7,8 @@ import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; +import androidx.annotation.NonNull; + import org.apache.commons.lang3.StringUtils; import java.util.Set; @@ -14,12 +16,14 @@ import java.util.Set; import de.danoeh.antennapod.R; import de.danoeh.antennapod.core.dialog.ConfirmationDialog; import de.danoeh.antennapod.core.feed.Feed; +import de.danoeh.antennapod.core.feed.IntraFeedSortOrder; import de.danoeh.antennapod.core.storage.DBTasks; import de.danoeh.antennapod.core.storage.DBWriter; import de.danoeh.antennapod.core.storage.DownloadRequestException; import de.danoeh.antennapod.core.util.IntentUtils; import de.danoeh.antennapod.core.util.ShareUtils; import de.danoeh.antennapod.dialog.FilterDialog; +import de.danoeh.antennapod.dialog.IntraFeedSortDialog; /** * Handles interactions with the FeedItemMenu. @@ -65,6 +69,9 @@ public class FeedMenuHandler { case R.id.refresh_complete_item: DBTasks.forceRefreshCompleteFeed(context, selectedFeed); break; + case R.id.sort_items: + showSortDialog(context, selectedFeed); + break; case R.id.filter_items: showFilterDialog(context, selectedFeed); break; @@ -108,4 +115,17 @@ public class FeedMenuHandler { filterDialog.openDialog(); } + + + private static void showSortDialog(Context context, Feed selectedFeed) { + IntraFeedSortDialog sortDialog = new IntraFeedSortDialog(context, selectedFeed.getSortOrder()) { + @Override + protected void updateSort(@NonNull IntraFeedSortOrder sortOrder) { + selectedFeed.setSortOrder(sortOrder); + // TODO-2524: update in db + } + }; + sortDialog.openDialog(); + } + } -- cgit v1.2.3 From be7db6cef1feedd2ea777cd8dec98348965bb861 Mon Sep 17 00:00:00 2001 From: orionlee Date: Fri, 18 Oct 2019 14:14:18 -0700 Subject: sort in podcast screen - logic, no db persistence yet. --- .../antennapod/fragment/FeedItemlistFragment.java | 18 +++++++++++++++++- .../danoeh/antennapod/menuhandler/FeedMenuHandler.java | 2 +- 2 files changed, 18 insertions(+), 2 deletions(-) (limited to 'app/src/main/java') 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 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 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(); -- cgit v1.2.3 From f56a02d5138c7dc63d371de65e527b7b50f60255 Mon Sep 17 00:00:00 2001 From: orionlee Date: Thu, 24 Oct 2019 11:01:48 -0700 Subject: sort in Podcast screen - implement all the sorts --- .../antennapod/dialog/IntraFeedSortDialog.java | 12 ++++++------ .../antennapod/fragment/FeedItemlistFragment.java | 21 +++++---------------- .../antennapod/menuhandler/FeedMenuHandler.java | 4 ++-- 3 files changed, 13 insertions(+), 24 deletions(-) (limited to 'app/src/main/java') diff --git a/app/src/main/java/de/danoeh/antennapod/dialog/IntraFeedSortDialog.java b/app/src/main/java/de/danoeh/antennapod/dialog/IntraFeedSortDialog.java index a554f8d76..2ee716c7c 100644 --- a/app/src/main/java/de/danoeh/antennapod/dialog/IntraFeedSortDialog.java +++ b/app/src/main/java/de/danoeh/antennapod/dialog/IntraFeedSortDialog.java @@ -7,16 +7,16 @@ import androidx.annotation.Nullable; import androidx.appcompat.app.AlertDialog; import de.danoeh.antennapod.R; -import de.danoeh.antennapod.core.feed.IntraFeedSortOrder; +import de.danoeh.antennapod.core.util.SortOrder; public abstract class IntraFeedSortDialog { @Nullable - protected IntraFeedSortOrder currentSortOrder; + protected SortOrder currentSortOrder; @NonNull protected Context context; - public IntraFeedSortDialog(@NonNull Context context, @Nullable IntraFeedSortOrder sortOrder) { + public IntraFeedSortDialog(@NonNull Context context, @Nullable SortOrder sortOrder) { this.context = context; this.currentSortOrder = sortOrder; } @@ -24,9 +24,9 @@ public abstract class IntraFeedSortDialog { public void openDialog() { final String[] items = context.getResources().getStringArray(R.array.feed_episodes_sort_options); final String[] valueStrs = context.getResources().getStringArray(R.array.feed_episodes_sort_values); - final IntraFeedSortOrder[] values = new IntraFeedSortOrder[valueStrs.length]; + final SortOrder[] values = new SortOrder[valueStrs.length]; for (int i = 0; i < valueStrs.length; i++) { - values[i] = IntraFeedSortOrder.valueOf(valueStrs[i]); + values[i] = SortOrder.valueOf(valueStrs[i]); } int idxCurrentSort = -1; @@ -47,5 +47,5 @@ public abstract class IntraFeedSortDialog { builder.create().show(); } - protected abstract void updateSort(@NonNull IntraFeedSortOrder sortOrder); + protected abstract void updateSort(@NonNull SortOrder sortOrder); } 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 415af83d5..88f48003f 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/FeedItemlistFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/FeedItemlistFragment.java @@ -34,7 +34,6 @@ 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; @@ -53,7 +52,6 @@ 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; @@ -65,7 +63,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.QueueSorter; import de.danoeh.antennapod.core.util.gui.MoreContentListFooterUtil; import de.danoeh.antennapod.dialog.EpisodesApplyActionFragment; import de.danoeh.antennapod.dialog.RenameFeedDialog; @@ -634,19 +632,10 @@ public class FeedItemlistFragment extends ListFragment { 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 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 + if (feed != null && feed.getSortOrder() != null) { + List feedItems = feed.getItems(); + QueueSorter.getPermutor(feed.getSortOrder()).reorder(feedItems); + feed.setItems(feedItems); } 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 53d95bd1c..e32deba27 100644 --- a/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedMenuHandler.java +++ b/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedMenuHandler.java @@ -16,12 +16,12 @@ import java.util.Set; import de.danoeh.antennapod.R; import de.danoeh.antennapod.core.dialog.ConfirmationDialog; import de.danoeh.antennapod.core.feed.Feed; -import de.danoeh.antennapod.core.feed.IntraFeedSortOrder; import de.danoeh.antennapod.core.storage.DBTasks; import de.danoeh.antennapod.core.storage.DBWriter; import de.danoeh.antennapod.core.storage.DownloadRequestException; import de.danoeh.antennapod.core.util.IntentUtils; import de.danoeh.antennapod.core.util.ShareUtils; +import de.danoeh.antennapod.core.util.SortOrder; import de.danoeh.antennapod.dialog.FilterDialog; import de.danoeh.antennapod.dialog.IntraFeedSortDialog; @@ -120,7 +120,7 @@ public class FeedMenuHandler { private static void showSortDialog(Context context, Feed selectedFeed) { IntraFeedSortDialog sortDialog = new IntraFeedSortDialog(context, selectedFeed.getSortOrder()) { @Override - protected void updateSort(@NonNull IntraFeedSortOrder sortOrder) { + protected void updateSort(@NonNull SortOrder sortOrder) { selectedFeed.setSortOrder(sortOrder); DBWriter.setFeedItemSortOrder(selectedFeed.getId(), sortOrder); } -- cgit v1.2.3 From 306b6f30a4c416445886af33954fac20dbc29f22 Mon Sep 17 00:00:00 2001 From: orionlee Date: Thu, 24 Oct 2019 11:32:06 -0700 Subject: rename + refactor QueueSorter to FeedItemPermutors, to support both queue and podcast screen. --- .../antennapod/fragment/FeedItemlistFragment.java | 4 ++-- .../danoeh/antennapod/fragment/QueueFragment.java | 26 +++++++++++----------- 2 files changed, 15 insertions(+), 15 deletions(-) (limited to 'app/src/main/java') 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 88f48003f..076320754 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/FeedItemlistFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/FeedItemlistFragment.java @@ -60,10 +60,10 @@ import de.danoeh.antennapod.core.storage.DBReader; import de.danoeh.antennapod.core.storage.DBTasks; import de.danoeh.antennapod.core.storage.DownloadRequestException; import de.danoeh.antennapod.core.storage.DownloadRequester; +import de.danoeh.antennapod.core.util.FeedItemPermutors; 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.QueueSorter; import de.danoeh.antennapod.core.util.gui.MoreContentListFooterUtil; import de.danoeh.antennapod.dialog.EpisodesApplyActionFragment; import de.danoeh.antennapod.dialog.RenameFeedDialog; @@ -634,7 +634,7 @@ public class FeedItemlistFragment extends ListFragment { } if (feed != null && feed.getSortOrder() != null) { List feedItems = feed.getItems(); - QueueSorter.getPermutor(feed.getSortOrder()).reorder(feedItems); + FeedItemPermutors.getPermutor(feed.getSortOrder()).reorder(feedItems); feed.setItems(feedItems); } return Optional.ofNullable(feed); diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java index 7c1bcf034..ac381bec5 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java @@ -4,15 +4,6 @@ import android.content.Context; import android.content.DialogInterface; import android.content.SharedPreferences; import android.os.Bundle; -import com.google.android.material.snackbar.Snackbar; -import androidx.fragment.app.Fragment; -import androidx.core.view.MenuItemCompat; -import androidx.appcompat.app.AlertDialog; -import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; -import androidx.appcompat.widget.SearchView; -import androidx.recyclerview.widget.SimpleItemAnimator; -import androidx.recyclerview.widget.ItemTouchHelper; import android.util.Log; import android.view.LayoutInflater; import android.view.Menu; @@ -24,9 +15,18 @@ import android.widget.CheckBox; import android.widget.ProgressBar; import android.widget.TextView; +import androidx.appcompat.app.AlertDialog; +import androidx.appcompat.widget.SearchView; +import androidx.core.view.MenuItemCompat; +import androidx.fragment.app.Fragment; +import androidx.recyclerview.widget.ItemTouchHelper; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; +import androidx.recyclerview.widget.SimpleItemAnimator; + +import com.google.android.material.snackbar.Snackbar; import com.yqritc.recyclerviewflexibledivider.HorizontalDividerItemDecoration; -import de.danoeh.antennapod.core.event.PlaybackPositionEvent; import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.ThreadMode; @@ -40,6 +40,7 @@ import de.danoeh.antennapod.core.dialog.ConfirmationDialog; import de.danoeh.antennapod.core.event.DownloadEvent; import de.danoeh.antennapod.core.event.DownloaderUpdate; import de.danoeh.antennapod.core.event.FeedItemEvent; +import de.danoeh.antennapod.core.event.PlaybackPositionEvent; import de.danoeh.antennapod.core.event.QueueEvent; import de.danoeh.antennapod.core.feed.EventDistributor; import de.danoeh.antennapod.core.feed.FeedItem; @@ -54,7 +55,6 @@ import de.danoeh.antennapod.core.storage.DownloadRequester; import de.danoeh.antennapod.core.util.Converter; import de.danoeh.antennapod.core.util.FeedItemUtil; import de.danoeh.antennapod.core.util.LongList; -import de.danoeh.antennapod.core.util.QueueSorter; import de.danoeh.antennapod.core.util.SortOrder; import de.danoeh.antennapod.core.util.download.AutoUpdateManager; import de.danoeh.antennapod.dialog.EpisodesApplyActionFragment; @@ -373,7 +373,7 @@ public class QueueFragment extends Fragment { UserPreferences.setQueueKeepSorted(keepSortedNew); if (keepSortedNew) { SortOrder sortOrder = UserPreferences.getQueueKeepSortedOrder(); - QueueSorter.sort(sortOrder, true); + DBWriter.reorderQueue(sortOrder, true); if (recyclerAdapter != null) { recyclerAdapter.setLocked(true); } @@ -439,7 +439,7 @@ public class QueueFragment extends Fragment { */ private void setSortOrder(SortOrder sortOrder) { UserPreferences.setQueueKeepSortedOrder(sortOrder); - QueueSorter.sort(sortOrder, true); + DBWriter.reorderQueue(sortOrder, true); } @Override -- cgit v1.2.3