From e7ad50b4fe926dac3e6a2a7a197025c83d5b2714 Mon Sep 17 00:00:00 2001 From: Severin Rudie Date: Tue, 24 Sep 2019 18:21:58 -0700 Subject: [PATCH] [fenix] Issue https://github.com/mozilla-mobile/fenix/issues/4513: added isLoading to bookmark state This was added to the state object as a top level param because it could reasonably coexist with any value of `tree` or `mode`. Even if we don't now, we may someday want to display a loading indicator while also showing cached bookmarks. For now, we set isLoading to false whenever we receive any bookmarks --- .../mozilla/fenix/library/bookmarks/BookmarkFragment.kt | 2 +- .../fenix/library/bookmarks/BookmarkFragmentStore.kt | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkFragment.kt b/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkFragment.kt index 7cd78ff2c9..d0899daa59 100644 --- a/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkFragment.kt @@ -73,7 +73,7 @@ class BookmarkFragment : LibraryPageFragment(), BackHandler, Accou val view = inflater.inflate(R.layout.fragment_bookmark, container, false) bookmarkStore = StoreProvider.get(this) { - BookmarkFragmentStore(BookmarkFragmentState(null)) + BookmarkFragmentStore(BookmarkFragmentState(null, isLoading = true)) } bookmarkInteractor = BookmarkFragmentInteractor( bookmarkStore = bookmarkStore, diff --git a/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkFragmentStore.kt b/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkFragmentStore.kt index 9d9b8953dc..2821dbf411 100644 --- a/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkFragmentStore.kt +++ b/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkFragmentStore.kt @@ -20,7 +20,11 @@ class BookmarkFragmentStore( * @property tree The current tree of bookmarks, if one is loaded * @property mode The current bookmark multi-selection mode */ -data class BookmarkFragmentState(val tree: BookmarkNode?, val mode: Mode = Mode.Normal) : State { +data class BookmarkFragmentState( + val tree: BookmarkNode?, + val mode: Mode = Mode.Normal, + val isLoading: Boolean +) : State { sealed class Mode { open val selectedItems = emptySet() @@ -58,7 +62,8 @@ private fun bookmarkFragmentStateReducer( BookmarkFragmentState.Mode.Normal } else { BookmarkFragmentState.Mode.Selecting(items.toSet()) - } + }, + isLoading = false ) } is BookmarkFragmentAction.Select ->