From 9b7a61471d342a2db4a2a6fe0681e748f15ca903 Mon Sep 17 00:00:00 2001 From: damoasda <46045854+damoasda@users.noreply.github.com> Date: Tue, 9 Jul 2019 08:55:46 +0200 Subject: Queue: Keep sorted #1556 --- .../preferences/UserInterfacePreferencesFragment.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'app/src/main/java/de/danoeh/antennapod/fragment/preferences') diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/preferences/UserInterfacePreferencesFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/preferences/UserInterfacePreferencesFragment.java index e1d44f7d3..db852cee7 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/preferences/UserInterfacePreferencesFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/preferences/UserInterfacePreferencesFragment.java @@ -11,7 +11,12 @@ import android.widget.ListView; import android.widget.Toast; import de.danoeh.antennapod.R; import de.danoeh.antennapod.activity.MainActivity; +import de.danoeh.antennapod.core.feed.FeedItem; import de.danoeh.antennapod.core.preferences.UserPreferences; +import de.danoeh.antennapod.core.storage.DBWriter; +import de.danoeh.antennapod.core.util.Permutor; +import de.danoeh.antennapod.core.util.QueueSorter; + import org.apache.commons.lang3.ArrayUtils; import java.util.List; @@ -89,6 +94,17 @@ public class UserInterfacePreferencesFragment extends PreferenceFragmentCompat { if (Build.VERSION.SDK_INT >= 26) { findPreference(UserPreferences.PREF_EXPANDED_NOTIFICATION).setVisible(false); } + + findPreference(UserPreferences.PREF_QUEUE_SORT_ORDER) + .setOnPreferenceChangeListener((preference, newValue) -> { + UserPreferences.QueueSortOrder newSortOrder = UserPreferences.parseQueueSortOrder((String) newValue); + if (newSortOrder != UserPreferences.QueueSortOrder.MANUALLY) { + QueueSorter.Rule sortRule = QueueSorter.queueSortOrder2Rule(newSortOrder); + Permutor permutor = QueueSorter.getPermutor(sortRule); + DBWriter.reorderQueue(permutor, true); + } + return true; + }); } private void showDrawerPreferencesDialog() { -- cgit v1.2.3