diff --git a/app/src/main/java/com/cappielloantonio/tempo/ui/adapter/PodcastEpisodeAdapter.java b/app/src/main/java/com/cappielloantonio/tempo/ui/adapter/PodcastEpisodeAdapter.java index 77eee263..956da56a 100644 --- a/app/src/main/java/com/cappielloantonio/tempo/ui/adapter/PodcastEpisodeAdapter.java +++ b/app/src/main/java/com/cappielloantonio/tempo/ui/adapter/PodcastEpisodeAdapter.java @@ -2,6 +2,7 @@ package com.cappielloantonio.tempo.ui.adapter; import android.os.Bundle; import android.view.LayoutInflater; +import android.view.View; import android.view.ViewGroup; import androidx.annotation.NonNull; @@ -18,11 +19,14 @@ import com.cappielloantonio.tempo.util.MusicUtil; import java.text.SimpleDateFormat; import java.util.Collections; import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; public class PodcastEpisodeAdapter extends RecyclerView.Adapter { private final ClickCallback click; private List podcastEpisodes; + private List podcastEpisodesFull; public PodcastEpisodeAdapter(ClickCallback click) { this.click = click; @@ -50,6 +54,9 @@ public class PodcastEpisodeAdapter extends RecyclerView.Adapter podcastEpisodes) { - this.podcastEpisodes = podcastEpisodes; + this.podcastEpisodesFull = podcastEpisodes; + this.podcastEpisodes = podcastEpisodesFull.stream().filter(podcastEpisode -> Objects.equals(podcastEpisode.getStatus(), "completed")).collect(Collectors.toList()); notifyDataSetChanged(); } @@ -88,19 +96,42 @@ public class PodcastEpisodeAdapter extends RecyclerView.Adapter Objects.equals(podcastEpisode.getStatus(), "completed")).collect(Collectors.toList()); + break; + case Constants.PODCAST_FILTER_BY_ALL: + podcastEpisodes = podcastEpisodesFull; + break; + } + + notifyDataSetChanged(); + } } \ No newline at end of file diff --git a/app/src/main/java/com/cappielloantonio/tempo/util/Constants.kt b/app/src/main/java/com/cappielloantonio/tempo/util/Constants.kt index ccb740c2..b82c712c 100644 --- a/app/src/main/java/com/cappielloantonio/tempo/util/Constants.kt +++ b/app/src/main/java/com/cappielloantonio/tempo/util/Constants.kt @@ -44,6 +44,9 @@ object Constants { const val PLAYLIST_ORDER_BY_NAME = "ORDER_BY_NAME" const val PLAYLIST_ORDER_BY_RANDOM = "ORDER_BY_RANDOM" + const val PODCAST_FILTER_BY_DOWNLOAD = "PODCAST_FILTER_BY_DOWNLOAD" + const val PODCAST_FILTER_BY_ALL = "PODCAST_FILTER_BY_ALL" + const val MEDIA_TYPE_MUSIC = "music" const val MEDIA_TYPE_PODCAST = "podcast" const val MEDIA_TYPE_AUDIOBOOK = "audiobook" diff --git a/app/src/main/res/menu/filter_podcast_episode_popup_menu.xml b/app/src/main/res/menu/filter_podcast_episode_popup_menu.xml new file mode 100644 index 00000000..d6fea4e4 --- /dev/null +++ b/app/src/main/res/menu/filter_podcast_episode_popup_menu.xml @@ -0,0 +1,9 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 2174c54d..8c2a4710 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -265,4 +265,6 @@ Name Random No description available + Downloaded + All \ No newline at end of file