diff --git a/app/src/main/java/de/danoeh/antennapod/ui/screen/preferences/UserInterfacePreferencesFragment.java b/app/src/main/java/de/danoeh/antennapod/ui/screen/preferences/UserInterfacePreferencesFragment.java index 293a4bed3..01f6587d4 100644 --- a/app/src/main/java/de/danoeh/antennapod/ui/screen/preferences/UserInterfacePreferencesFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/ui/screen/preferences/UserInterfacePreferencesFragment.java @@ -6,28 +6,22 @@ import android.os.Build; import android.os.Bundle; import android.widget.Button; import android.widget.ListView; - import androidx.appcompat.app.AlertDialog; import androidx.core.app.ActivityCompat; import androidx.preference.Preference; - import com.google.android.material.dialog.MaterialAlertDialogBuilder; import com.google.android.material.snackbar.Snackbar; - +import de.danoeh.antennapod.R; +import de.danoeh.antennapod.event.PlayerStatusEvent; +import de.danoeh.antennapod.event.UnreadItemsUpdateEvent; import de.danoeh.antennapod.storage.preferences.UsageStatistics; +import de.danoeh.antennapod.storage.preferences.UserPreferences; import de.danoeh.antennapod.ui.preferences.screen.AnimatedPreferenceFragment; -import de.danoeh.antennapod.ui.screen.subscriptions.FeedSortDialog; +import de.danoeh.antennapod.ui.screen.drawer.DrawerPreferencesDialog; import org.greenrobot.eventbus.EventBus; import java.util.List; -import de.danoeh.antennapod.R; -import de.danoeh.antennapod.ui.screen.drawer.DrawerPreferencesDialog; -import de.danoeh.antennapod.ui.screen.subscriptions.SubscriptionsFilterDialog; -import de.danoeh.antennapod.event.PlayerStatusEvent; -import de.danoeh.antennapod.event.UnreadItemsUpdateEvent; -import de.danoeh.antennapod.storage.preferences.UserPreferences; - public class UserInterfacePreferencesFragment extends AnimatedPreferenceFragment { private static final String PREF_SWIPE = "prefSwipe"; @@ -76,17 +70,6 @@ public class UserInterfacePreferencesFragment extends AnimatedPreferenceFragment showFullNotificationButtonsDialog(); return true; }); - findPreference(UserPreferences.PREF_FILTER_FEED) - .setOnPreferenceClickListener((preference -> { - new SubscriptionsFilterDialog().show(getChildFragmentManager(), "filter"); - return true; - })); - - findPreference(UserPreferences.PREF_DRAWER_FEED_ORDER) - .setOnPreferenceClickListener((preference -> { - FeedSortDialog.showDialog(requireContext()); - return true; - })); findPreference(PREF_SWIPE) .setOnPreferenceClickListener(preference -> { ((PreferenceActivity) getActivity()).openScreen(R.xml.preferences_swipe); diff --git a/app/src/main/java/de/danoeh/antennapod/ui/screen/subscriptions/FeedCounterDialog.java b/app/src/main/java/de/danoeh/antennapod/ui/screen/subscriptions/FeedCounterDialog.java new file mode 100644 index 000000000..a0f5f8998 --- /dev/null +++ b/app/src/main/java/de/danoeh/antennapod/ui/screen/subscriptions/FeedCounterDialog.java @@ -0,0 +1,37 @@ +package de.danoeh.antennapod.ui.screen.subscriptions; + +import android.content.Context; +import com.google.android.material.dialog.MaterialAlertDialogBuilder; +import de.danoeh.antennapod.R; +import de.danoeh.antennapod.event.UnreadItemsUpdateEvent; +import de.danoeh.antennapod.model.feed.FeedCounter; +import de.danoeh.antennapod.storage.preferences.UserPreferences; +import org.greenrobot.eventbus.EventBus; + +import java.util.Arrays; +import java.util.List; + +public class FeedCounterDialog { + public static void showDialog(Context context) { + MaterialAlertDialogBuilder dialog = new MaterialAlertDialogBuilder(context); + dialog.setTitle(context.getString(R.string.pref_nav_drawer_feed_counter_title)); + dialog.setNegativeButton(android.R.string.cancel, (d, listener) -> d.dismiss()); + + int selected = UserPreferences.getFeedCounterSetting().id; + List entryValues = + Arrays.asList(context.getResources().getStringArray(R.array.nav_drawer_feed_counter_values)); + final int selectedIndex = entryValues.indexOf("" + selected); + + String[] items = context.getResources().getStringArray(R.array.nav_drawer_feed_counter_options); + dialog.setSingleChoiceItems(items, selectedIndex, (d, which) -> { + if (selectedIndex != which) { + UserPreferences.setFeedCounterSetting( + FeedCounter.fromOrdinal(Integer.parseInt(entryValues.get(which)))); + //Update subscriptions + EventBus.getDefault().post(new UnreadItemsUpdateEvent()); + } + d.dismiss(); + }); + dialog.show(); + } +} diff --git a/app/src/main/java/de/danoeh/antennapod/ui/screen/subscriptions/FeedSortDialog.java b/app/src/main/java/de/danoeh/antennapod/ui/screen/subscriptions/FeedSortDialog.java index 7e42581ce..1082fd9b8 100644 --- a/app/src/main/java/de/danoeh/antennapod/ui/screen/subscriptions/FeedSortDialog.java +++ b/app/src/main/java/de/danoeh/antennapod/ui/screen/subscriptions/FeedSortDialog.java @@ -17,7 +17,7 @@ import de.danoeh.antennapod.storage.preferences.UserPreferences; public class FeedSortDialog { public static void showDialog(Context context) { MaterialAlertDialogBuilder dialog = new MaterialAlertDialogBuilder(context); - dialog.setTitle(context.getString(R.string.pref_nav_drawer_feed_order_title)); + dialog.setTitle(context.getString(R.string.sort)); dialog.setNegativeButton(android.R.string.cancel, (d, listener) -> d.dismiss()); int selected = UserPreferences.getFeedOrder().id; diff --git a/app/src/main/java/de/danoeh/antennapod/ui/screen/subscriptions/SubscriptionFragment.java b/app/src/main/java/de/danoeh/antennapod/ui/screen/subscriptions/SubscriptionFragment.java index 307436bab..79a541068 100644 --- a/app/src/main/java/de/danoeh/antennapod/ui/screen/subscriptions/SubscriptionFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/ui/screen/subscriptions/SubscriptionFragment.java @@ -233,6 +233,9 @@ public class SubscriptionFragment extends Fragment } else if (itemId == R.id.subscriptions_sort) { FeedSortDialog.showDialog(requireContext()); return true; + } else if (itemId == R.id.subscriptions_counter) { + FeedCounterDialog.showDialog(requireContext()); + return true; } else if (itemId == R.id.subscription_display_list) { setColumnNumber(1); return true; diff --git a/app/src/main/res/menu/subscriptions.xml b/app/src/main/res/menu/subscriptions.xml index 927962b7a..aa9f55577 100644 --- a/app/src/main/res/menu/subscriptions.xml +++ b/app/src/main/res/menu/subscriptions.xml @@ -24,6 +24,10 @@ android:id="@+id/subscriptions_sort" android:title="@string/sort" custom:showAsAction="never" /> + Access the most important screens from everywhere, in a single tap Customize navigation Change which items appear in the navigation drawer or bottom navigation - Set subscription order - Change the order of your subscriptions - Set subscription counter - Change the information displayed by the subscription counter. Also affects the sorting of subscriptions if \'Subscription Order\' is set to \'Counter\'. + Counter Automatic download Automatically download episodes from the inbox. Can be overridden per podcast. Download queued @@ -561,8 +558,6 @@ Automatically remove an episode from the queue when it is deleted Play from downloads screen Display play button instead of delete button on downloads screen - Subscription filter - Filter your subscriptions in navigation drawer and subscriptions screen Counter greater than zero Auto downloaded Not auto downloaded diff --git a/ui/preferences/src/main/res/xml/preferences_user_interface.xml b/ui/preferences/src/main/res/xml/preferences_user_interface.xml index e00bc0d13..c5752ca11 100644 --- a/ui/preferences/src/main/res/xml/preferences_user_interface.xml +++ b/ui/preferences/src/main/res/xml/preferences_user_interface.xml @@ -17,23 +17,6 @@ android:summary="@string/pref_tinted_theme_message" android:defaultValue="false" /> - - - - -