Add a Navigation menu item to manage feeds
authorDa Risk <da_risk@geekorum.com>
Thu, 23 May 2019 11:35:48 -0700
changeset 179 b1c64670e18a
parent 178 d5a489985531
child 180 3f878624e97f
Add a Navigation menu item to manage feeds
app/src/main/java/com/geekorum/ttrss/articles_list/FeedListFragment.java
app/src/main/res/drawable/ic_tune_black_24dp.xml
app/src/main/res/menu/fragment_feed_list.xml
--- a/app/src/main/java/com/geekorum/ttrss/articles_list/FeedListFragment.java	Thu May 23 11:06:31 2019 -0700
+++ b/app/src/main/java/com/geekorum/ttrss/articles_list/FeedListFragment.java	Thu May 23 11:35:48 2019 -0700
@@ -40,14 +40,13 @@
 import androidx.lifecycle.ViewModelProviders;
 import com.geekorum.geekdroid.dagger.DaggerDelegateFragmentFactory;
 import com.geekorum.geekdroid.dagger.DaggerDelegateViewModelsFactory;
-import com.geekorum.geekdroid.dagger.DaggerDelegateFragmentFactory;
 import com.geekorum.ttrss.BaseFragment;
 import com.geekorum.ttrss.R;
-import com.geekorum.ttrss.settings.SettingsActivity;
 import com.geekorum.ttrss.data.Category;
 import com.geekorum.ttrss.data.Feed;
 import com.geekorum.ttrss.databinding.FragmentFeedsBinding;
 import com.geekorum.ttrss.databinding.MenuFeedActionViewBinding;
+import com.geekorum.ttrss.settings.SettingsActivity;
 import com.google.android.material.navigation.NavigationView;
 
 import java.util.List;
@@ -108,11 +107,13 @@
         if (categoriesDisplayed) {
             feedsViewModel.getCategories().observe(this, categories -> {
                 transformCategoriesInMenuEntry(binding.navigationView.getMenu(), categories);
+                binding.navigationView.inflateMenu(R.menu.fragment_feed_list);
             });
         } else {
             feedsViewModel.getAllFeeds().observe(this, feeds -> {
                 currentFeeds = feeds;
                 transformFeedsInMenuEntry(binding.navigationView.getMenu(), feeds);
+                binding.navigationView.inflateMenu(R.menu.fragment_feed_list);
             });
         }
         activityViewModel = ViewModelProviders.of(requireActivity(), getViewModelsFactory()).get(ActivityViewModel.class);
@@ -222,7 +223,9 @@
 
     @Override
     public boolean onNavigationItemSelected(@NonNull MenuItem item) {
-        if (categoriesDisplayed) {
+        if (item.getItemId() == R.id.manage_feeds) {
+            return true;
+        } else if (categoriesDisplayed) {
             return onCategoriesSelected(item);
         } else {
             return onFeedSelected(item);
@@ -267,7 +270,7 @@
                     feed.setId(category.getId());
                     feed.setTitle(category.getTitle());
                     // TODO is cat = true);
-//                    activityViewModel.setSelectedFeed(feed);
+                    // activityViewModel.setSelectedFeed(feed);
                 } else {
                     displayFeedCategory(category);
                 }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/app/src/main/res/drawable/ic_tune_black_24dp.xml	Thu May 23 11:35:48 2019 -0700
@@ -0,0 +1,9 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="24dp"
+        android:height="24dp"
+        android:viewportWidth="24.0"
+        android:viewportHeight="24.0">
+    <path
+        android:fillColor="#FF000000"
+        android:pathData="M3,17v2h6v-2L3,17zM3,5v2h10L13,5L3,5zM13,21v-2h8v-2h-8v-2h-2v6h2zM7,9v2L3,11v2h4v2h2L9,9L7,9zM21,13v-2L11,11v2h10zM15,9h2L17,7h4L21,5h-4L17,3h-2v6z"/>
+</vector>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/app/src/main/res/menu/fragment_feed_list.xml	Thu May 23 11:35:48 2019 -0700
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<menu xmlns:android="http://schemas.android.com/apk/res/android"
+      xmlns:app="http://schemas.android.com/apk/res-auto">
+
+    <group android:id="@+id/feed_settings">
+        <item android:id="@+id/manage_feeds"
+              android:title="@string/title_manage_feeds"
+              android:icon="@drawable/ic_tune_black_24dp" />
+    </group>
+
+</menu>