diff options
Diffstat (limited to 'app/src/main/java/de/danoeh/antennapod/fragment')
3 files changed, 30 insertions, 0 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/NavDrawerFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/NavDrawerFragment.java index 590f487f6..04714f4aa 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/NavDrawerFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/NavDrawerFragment.java @@ -36,6 +36,7 @@ import de.danoeh.antennapod.core.storage.DBReader; import de.danoeh.antennapod.core.storage.DBWriter; import de.danoeh.antennapod.core.util.FeedItemUtil; import de.danoeh.antennapod.core.util.IntentUtils; +import de.danoeh.antennapod.dialog.FeedFilterDialog; import de.danoeh.antennapod.dialog.RenameFeedDialog; import io.reactivex.Observable; import io.reactivex.android.schedulers.AndroidSchedulers; @@ -384,6 +385,9 @@ public class NavDrawerFragment extends Fragment implements AdapterView.OnItemCli startActivity(intent); } } + } else if (UserPreferences.getFeedFilter() != UserPreferences.FEED_FILTER_NONE + && navAdapter.showSubscriptionList) { + FeedFilterDialog.showDialog(requireContext()); } } 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 7ae28130e..33e4cb764 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/SubscriptionFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/SubscriptionFragment.java @@ -19,8 +19,10 @@ import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.GridView; +import android.widget.TextView; import com.google.android.material.floatingactionbutton.FloatingActionButton; +import com.joanzapata.iconify.Iconify; import java.util.concurrent.Callable; @@ -34,6 +36,7 @@ import de.danoeh.antennapod.core.event.FeedListUpdateEvent; import de.danoeh.antennapod.core.event.UnreadItemsUpdateEvent; import de.danoeh.antennapod.core.feed.Feed; import de.danoeh.antennapod.core.preferences.PlaybackPreferences; +import de.danoeh.antennapod.core.preferences.UserPreferences; import de.danoeh.antennapod.core.service.download.DownloadService; import de.danoeh.antennapod.core.service.playback.PlaybackService; import de.danoeh.antennapod.core.storage.DBReader; @@ -42,6 +45,7 @@ import de.danoeh.antennapod.core.storage.DownloadRequester; 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.RenameFeedDialog; import de.danoeh.antennapod.menuhandler.MenuItemUtils; import de.danoeh.antennapod.view.EmptyViewHandler; @@ -68,6 +72,7 @@ public class SubscriptionFragment extends Fragment { private FloatingActionButton subscriptionAddButton; private ProgressBar progressBar; private EmptyViewHandler emptyView; + private TextView feedsFilteredMsg; private int mPosition = -1; private boolean isUpdatingFeeds = false; @@ -94,6 +99,9 @@ public class SubscriptionFragment extends Fragment { registerForContextMenu(subscriptionGridLayout); subscriptionAddButton = root.findViewById(R.id.subscriptions_add); progressBar = root.findViewById(R.id.progLoading); + + feedsFilteredMsg = root.findViewById(R.id.feeds_filtered_message); + feedsFilteredMsg.setOnClickListener((l) -> FeedFilterDialog.showDialog(requireContext())); return root; } @@ -120,6 +128,9 @@ public class SubscriptionFragment extends Fragment { case R.id.refresh_item: AutoUpdateManager.runImmediate(requireContext()); return true; + case R.id.subscriptions_filter: + FeedFilterDialog.showDialog(requireContext()); + return true; case R.id.subscription_num_columns_2: setColumnNumber(2); return true; @@ -198,6 +209,14 @@ public class SubscriptionFragment extends Fragment { emptyView.updateVisibility(); progressBar.setVisibility(View.GONE); }, error -> Log.e(TAG, Log.getStackTraceString(error))); + + if (UserPreferences.getFeedFilter() != UserPreferences.FEED_FILTER_NONE) { + feedsFilteredMsg.setText("{md-info-outline} " + getString(R.string.subscriptions_are_filtered)); + Iconify.addIcons(feedsFilteredMsg); + feedsFilteredMsg.setVisibility(View.VISIBLE); + } else { + feedsFilteredMsg.setVisibility(View.GONE); + } } private int getDefaultNumOfColumns() { 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 a44623f48..4596fc90e 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 @@ -12,6 +12,7 @@ import de.danoeh.antennapod.R; import de.danoeh.antennapod.activity.MainActivity; import de.danoeh.antennapod.activity.PreferenceActivity; import de.danoeh.antennapod.core.preferences.UserPreferences; +import de.danoeh.antennapod.dialog.FeedFilterDialog; import de.danoeh.antennapod.fragment.NavDrawerFragment; import org.apache.commons.lang3.ArrayUtils; @@ -75,6 +76,12 @@ public class UserInterfacePreferencesFragment extends PreferenceFragmentCompat { return true; }); + findPreference(UserPreferences.PREF_FILTER_FEED) + .setOnPreferenceClickListener((preference -> { + FeedFilterDialog.showDialog(requireContext()); + return true; + })); + if (Build.VERSION.SDK_INT >= 26) { findPreference(UserPreferences.PREF_EXPANDED_NOTIFICATION).setVisible(false); } |