diff options
author | damoasda <46045854+damoasda@users.noreply.github.com> | 2019-07-09 08:55:46 +0200 |
---|---|---|
committer | damoasda <46045854+damoasda@users.noreply.github.com> | 2019-07-09 08:55:46 +0200 |
commit | 9b7a61471d342a2db4a2a6fe0681e748f15ca903 (patch) | |
tree | c87cd23f6c33f8421326637955cd0c01cc3d9392 /app/src/main/java/de/danoeh/antennapod/fragment/preferences | |
parent | 63eb766dffe9684899f2d27e3dad540bc3c9f184 (diff) | |
download | AntennaPod-9b7a61471d342a2db4a2a6fe0681e748f15ca903.zip |
Queue: Keep sorted #1556
Diffstat (limited to 'app/src/main/java/de/danoeh/antennapod/fragment/preferences')
-rw-r--r-- | app/src/main/java/de/danoeh/antennapod/fragment/preferences/UserInterfacePreferencesFragment.java | 16 |
1 files changed, 16 insertions, 0 deletions
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<FeedItem> permutor = QueueSorter.getPermutor(sortRule); + DBWriter.reorderQueue(permutor, true); + } + return true; + }); } private void showDrawerPreferencesDialog() { |