ActivityViewModel: selected feed event now contains the feed not just its id
authorDa Risk <da_risk@geekorum.com>
Mon, 23 Sep 2019 22:27:14 -0700
changeset 488 70652ddb8da3
parent 487 028855923579
child 489 1af8da6b6f07
ActivityViewModel: selected feed event now contains the feed not just its id
app/src/main/java/com/geekorum/ttrss/articles_list/ActivityViewModel.kt
app/src/main/java/com/geekorum/ttrss/articles_list/ArticleListActivity.kt
app/src/main/java/com/geekorum/ttrss/articles_list/FeedListFragment.kt
--- a/app/src/main/java/com/geekorum/ttrss/articles_list/ActivityViewModel.kt	Mon Sep 23 21:48:49 2019 -0700
+++ b/app/src/main/java/com/geekorum/ttrss/articles_list/ActivityViewModel.kt	Mon Sep 23 22:27:14 2019 -0700
@@ -62,8 +62,8 @@
         feedsRepository.getFeedById(it)
     }
 
-    private val _feedSelectedEvent = MutableLiveData<Event<Long>>()
-    val feedSelectedEvent: LiveData<Event<Long>> = _feedSelectedEvent
+    private val _feedSelectedEvent = MutableLiveData<Event<Feed>>()
+    val feedSelectedEvent: LiveData<Event<Feed>> = _feedSelectedEvent
 
     private val _articleSelectedEvent = MutableLiveData<Event<ArticleSelectedParameters>>()
     val articleSelectedEvent: LiveData<Event<ArticleSelectedParameters>> = _articleSelectedEvent
@@ -90,9 +90,9 @@
         state[STATE_ACCOUNT] = account
     }
 
-    fun setSelectedFeed(id: Long) {
-        state[STATE_FEED_ID] = id
-        _feedSelectedEvent.value = Event(id)
+    fun setSelectedFeed(feed: Feed) {
+        state[STATE_FEED_ID] = feed.id
+        _feedSelectedEvent.value = Event(feed)
     }
 
     fun refresh() {
--- a/app/src/main/java/com/geekorum/ttrss/articles_list/ArticleListActivity.kt	Mon Sep 23 21:48:49 2019 -0700
+++ b/app/src/main/java/com/geekorum/ttrss/articles_list/ArticleListActivity.kt	Mon Sep 23 22:27:14 2019 -0700
@@ -166,7 +166,7 @@
             supportFragmentManager.commit {
                 replace<FeedListFragment>(R.id.start_pane_layout, FRAGMENT_FEEDS_LIST)
             }
-            activityViewModel.setSelectedFeed(Feed.FEED_ID_ALL_ARTICLES)
+            activityViewModel.setSelectedFeed(Feed.createVirtualFeedForId(Feed.FEED_ID_ALL_ARTICLES))
         }
         setupToolbar()
         setUpEdgeToEdge()
@@ -283,7 +283,8 @@
         binding.toolbar.title = title
     }
 
-    private fun onFeedSelected(feedId: Long) {
+    private fun onFeedSelected(feed: Feed) {
+        val feedId =  feed.id
         navigateUpToList()
         supportFragmentManager.commit {
             replace<ArticlesListFragment>(R.id.middle_pane_layout, FRAGMENT_FEEDS_LIST, bundleOf(
--- a/app/src/main/java/com/geekorum/ttrss/articles_list/FeedListFragment.kt	Mon Sep 23 21:48:49 2019 -0700
+++ b/app/src/main/java/com/geekorum/ttrss/articles_list/FeedListFragment.kt	Mon Sep 23 22:27:14 2019 -0700
@@ -229,7 +229,7 @@
         // find feed
         val feedFound = currentFeeds?.find { it.id == item.itemId.toLong() }
         feedFound?.let {
-            activityViewModel.setSelectedFeed(it.id)
+            activityViewModel.setSelectedFeed(it)
             return true
         }
         return false