summaryrefslogtreecommitdiff
path: root/app/src/main/java/de/danoeh/antennapod/fragment/preferences
diff options
context:
space:
mode:
authordamoasda <46045854+damoasda@users.noreply.github.com>2019-07-09 08:55:46 +0200
committerdamoasda <46045854+damoasda@users.noreply.github.com>2019-07-09 08:55:46 +0200
commit9b7a61471d342a2db4a2a6fe0681e748f15ca903 (patch)
treec87cd23f6c33f8421326637955cd0c01cc3d9392 /app/src/main/java/de/danoeh/antennapod/fragment/preferences
parent63eb766dffe9684899f2d27e3dad540bc3c9f184 (diff)
downloadAntennaPod-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.java16
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() {