diff options
Diffstat (limited to 'app/src/main/java/de/danoeh/antennapod/fragment/SearchFragment.java')
-rw-r--r-- | app/src/main/java/de/danoeh/antennapod/fragment/SearchFragment.java | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/SearchFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/SearchFragment.java index c96f7d8fb..2061a8ba4 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/SearchFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/SearchFragment.java @@ -17,6 +17,9 @@ import androidx.appcompat.widget.SearchView; import androidx.fragment.app.Fragment; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; + +import com.google.android.material.chip.Chip; + import de.danoeh.antennapod.R; import de.danoeh.antennapod.activity.MainActivity; import de.danoeh.antennapod.adapter.EpisodeItemListAdapter; @@ -53,6 +56,7 @@ public class SearchFragment extends Fragment { private static final String TAG = "SearchFragment"; private static final String ARG_QUERY = "query"; private static final String ARG_FEED = "feed"; + private static final String ARG_FEED_NAME = "feedName"; private EpisodeItemListAdapter adapter; private FeedSearchResultAdapter adapterFeeds; @@ -61,6 +65,7 @@ public class SearchFragment extends Fragment { private EmptyViewHandler emptyViewHandler; private EpisodeItemListRecyclerView recyclerView; private List<FeedItem> results; + private Chip chip; /** * Create a new SearchFragment that searches all feeds. @@ -80,9 +85,10 @@ public class SearchFragment extends Fragment { /** * Create a new SearchFragment that searches one specific feed. */ - public static SearchFragment newInstance(String query, long feed) { + public static SearchFragment newInstance(String query, long feed, String feedTitle) { SearchFragment fragment = newInstance(query); fragment.getArguments().putLong(ARG_FEED, feed); + fragment.getArguments().putString(ARG_FEED_NAME, feedTitle); return fragment; } @@ -133,6 +139,12 @@ public class SearchFragment extends Fragment { emptyViewHandler.setIcon(R.attr.action_search); emptyViewHandler.setTitle(R.string.search_status_no_results); EventBus.getDefault().register(this); + + chip = layout.findViewById(R.id.feed_title_chip); + chip.setOnCloseIconClickListener(v -> { + getArguments().putLong(ARG_FEED, 0); + search(); + }); return layout; } @@ -262,8 +274,10 @@ public class SearchFragment extends Fragment { adapter.updateItems(results.first); if (getArguments().getLong(ARG_FEED, 0) == 0) { adapterFeeds.updateData(results.second); + chip.setVisibility(View.GONE); } else { adapterFeeds.updateData(Collections.emptyList()); + chip.setText(getArguments().getString(ARG_FEED_NAME, "")); } String query = getArguments().getString(ARG_QUERY); emptyViewHandler.setMessage(getString(R.string.no_results_for_query, query)); |