From 03284e2da0090cdc03eef053c2f39f3bc98a4ce5 Mon Sep 17 00:00:00 2001 From: ValentinTimisica Date: Fri, 15 May 2020 09:23:04 +0300 Subject: [PATCH] Fixes #10674: Add SignInView only once --- .../mozilla/fenix/library/bookmarks/BookmarkFragment.kt | 7 ++++++- .../java/org/mozilla/fenix/library/bookmarks/SignInView.kt | 2 +- 2 files changed, 7 insertions(+), 2 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 e1a56e0a5..c6b26e770 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 @@ -57,6 +57,7 @@ class BookmarkFragment : LibraryPageFragment(), UserInteractionHan private lateinit var bookmarkStore: BookmarkFragmentStore private lateinit var bookmarkView: BookmarkView + private lateinit var signInView: SignInView private var _bookmarkInteractor: BookmarkFragmentInteractor? = null protected val bookmarkInteractor: BookmarkFragmentInteractor get() = _bookmarkInteractor!! @@ -97,6 +98,8 @@ class BookmarkFragment : LibraryPageFragment(), UserInteractionHan ) bookmarkView = BookmarkView(view.bookmarkLayout, bookmarkInteractor) + signInView = SignInView(view.bookmarkLayout, findNavController()) + signInView.view.visibility = View.GONE viewLifecycleOwner.lifecycle.addObserver( BookmarkDeselectNavigationListener( @@ -147,7 +150,9 @@ class BookmarkFragment : LibraryPageFragment(), UserInteractionHan if (currentGuid == BookmarkRoot.Root.id && requireComponents.backgroundServices.accountManager.authenticatedAccount() == null ) { - view?.let { SignInView(it.bookmarkLayout, findNavController()) } + signInView.view.visibility = View.VISIBLE + } else { + signInView.view.visibility = View.GONE } initialJob = loadInitialBookmarkFolder(currentGuid) diff --git a/app/src/main/java/org/mozilla/fenix/library/bookmarks/SignInView.kt b/app/src/main/java/org/mozilla/fenix/library/bookmarks/SignInView.kt index c4c8bc5fa..8b0d41ebc 100644 --- a/app/src/main/java/org/mozilla/fenix/library/bookmarks/SignInView.kt +++ b/app/src/main/java/org/mozilla/fenix/library/bookmarks/SignInView.kt @@ -21,7 +21,7 @@ class SignInView( override val containerView: View? get() = container - private val view: MaterialButton = LayoutInflater.from(container.context) + val view: MaterialButton = LayoutInflater.from(container.context) .inflate(R.layout.component_sign_in, container, true) .findViewById(R.id.bookmark_folders_sign_in)