summaryrefslogtreecommitdiff
path: root/app/src/main
diff options
context:
space:
mode:
authorasdoi <asdoi@t-online.de>2020-09-03 13:16:48 +0200
committerasdoi <asdoi@t-online.de>2020-09-03 13:16:48 +0200
commitbd0d0b5008fe2735b335df03ffe16bdae73785d0 (patch)
tree0295190e1957210006aa3b1118b5b45ab87ecfc6 /app/src/main
parentd9814d2563a4f16635c757aa81d39e5d1e115d7e (diff)
downloadAntennaPod-bd0d0b5008fe2735b335df03ffe16bdae73785d0.zip
add feed sort menu item
Diffstat (limited to 'app/src/main')
-rw-r--r--app/src/main/java/de/danoeh/antennapod/dialog/FeedSortDialog.java40
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/SubscriptionFragment.java3
-rw-r--r--app/src/main/res/menu/subscriptions.xml4
3 files changed, 47 insertions, 0 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/dialog/FeedSortDialog.java b/app/src/main/java/de/danoeh/antennapod/dialog/FeedSortDialog.java
new file mode 100644
index 000000000..e05cb034f
--- /dev/null
+++ b/app/src/main/java/de/danoeh/antennapod/dialog/FeedSortDialog.java
@@ -0,0 +1,40 @@
+package de.danoeh.antennapod.dialog;
+
+import android.content.Context;
+
+import androidx.appcompat.app.AlertDialog;
+
+import org.greenrobot.eventbus.EventBus;
+
+import de.danoeh.antennapod.R;
+import de.danoeh.antennapod.core.event.UnreadItemsUpdateEvent;
+import de.danoeh.antennapod.core.preferences.UserPreferences;
+
+public class FeedSortDialog {
+ public static void showDialog(Context context) {
+ AlertDialog.Builder dialog = new AlertDialog.Builder(context);
+ dialog.setTitle(context.getString(R.string.pref_nav_drawer_feed_order_title));
+ dialog.setNegativeButton(android.R.string.cancel, (d, listener) -> d.dismiss());
+
+ int selectedIndexTemp = 0;
+ int selected = UserPreferences.getFeedOrder();
+ String[] entryValues = context.getResources().getStringArray(R.array.nav_drawer_feed_order_values);
+ for (int i = 0; i < entryValues.length; i++) {
+ if (Integer.parseInt(entryValues[i]) == selected) {
+ selectedIndexTemp = i;
+ }
+ }
+
+ final int selectedIndex = selectedIndexTemp;
+ String[] items = context.getResources().getStringArray(R.array.nav_drawer_feed_order_options);
+ dialog.setSingleChoiceItems(items, selectedIndex, (d, which) -> {
+ if (selectedIndex != which) {
+ UserPreferences.setFeedOrder(entryValues[which]);
+ //Update subscriptions
+ EventBus.getDefault().post(new UnreadItemsUpdateEvent());
+ }
+ d.dismiss();
+ });
+ dialog.show();
+ }
+}
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/SubscriptionFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/SubscriptionFragment.java
index 33e4cb764..b49376b4c 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/SubscriptionFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/SubscriptionFragment.java
@@ -46,6 +46,7 @@ import de.danoeh.antennapod.core.util.FeedItemUtil;
import de.danoeh.antennapod.core.util.IntentUtils;
import de.danoeh.antennapod.core.util.download.AutoUpdateManager;
import de.danoeh.antennapod.dialog.FeedFilterDialog;
+import de.danoeh.antennapod.dialog.FeedSortDialog;
import de.danoeh.antennapod.dialog.RenameFeedDialog;
import de.danoeh.antennapod.menuhandler.MenuItemUtils;
import de.danoeh.antennapod.view.EmptyViewHandler;
@@ -131,6 +132,8 @@ public class SubscriptionFragment extends Fragment {
case R.id.subscriptions_filter:
FeedFilterDialog.showDialog(requireContext());
return true;
+ case R.id.subscriptions_sort:
+ FeedSortDialog.showDialog(requireContext());
case R.id.subscription_num_columns_2:
setColumnNumber(2);
return true;
diff --git a/app/src/main/res/menu/subscriptions.xml b/app/src/main/res/menu/subscriptions.xml
index 8009061e5..f732592ae 100644
--- a/app/src/main/res/menu/subscriptions.xml
+++ b/app/src/main/res/menu/subscriptions.xml
@@ -15,6 +15,10 @@
android:title="@string/filter"
custom:showAsAction="never" />
<item
+ android:id="@+id/subscriptions_sort"
+ android:title="@string/sort_order"
+ custom:showAsAction="never" />
+ <item
android:id="@+id/subscription_num_columns"
android:title="@string/subscription_num_columns"
custom:showAsAction="never">