From 5093e7a5d6555984aa5b99f6fa0f04785ab3cd32 Mon Sep 17 00:00:00 2001 From: "Vitaly V. Pinchuk" Date: Tue, 3 Aug 2021 12:27:09 +0300 Subject: [PATCH] Dismisses search dialog if active in (RecentTabsHeaderViewHolder, RecentBookmarksViewHolderTest) and adapts test for the changes. --- .../recentbookmarks/view/RecentBookmarksViewHolder.kt | 9 +++++++++ .../home/recenttabs/view/RecentTabsHeaderViewHolder.kt | 9 +++++++++ .../view/RecentBookmarksViewHolderTest.kt | 3 ++- .../recenttabs/view/RecentTabsHeaderViewHolderTest.kt | 5 ++++- 4 files changed, 24 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/mozilla/fenix/home/recentbookmarks/view/RecentBookmarksViewHolder.kt b/app/src/main/java/org/mozilla/fenix/home/recentbookmarks/view/RecentBookmarksViewHolder.kt index 39a435321..0b408c994 100644 --- a/app/src/main/java/org/mozilla/fenix/home/recentbookmarks/view/RecentBookmarksViewHolder.kt +++ b/app/src/main/java/org/mozilla/fenix/home/recentbookmarks/view/RecentBookmarksViewHolder.kt @@ -5,6 +5,7 @@ package org.mozilla.fenix.home.recentbookmarks.view import android.view.View +import androidx.navigation.findNavController import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager.HORIZONTAL import kotlinx.android.synthetic.main.component_recent_bookmarks.view.* @@ -31,6 +32,7 @@ class RecentBookmarksViewHolder( } showAllBookmarksButton.setOnClickListener { + dismissSearchDialogIfDisplayed() interactor.onShowAllBookmarksClicked() } } @@ -39,6 +41,13 @@ class RecentBookmarksViewHolder( recentBookmarksAdapter.submitList(bookmarks) } + private fun dismissSearchDialogIfDisplayed() { + val navController = itemView.findNavController() + if (navController.currentDestination?.id == R.id.searchDialogFragment) { + navController.navigateUp() + } + } + companion object { const val LAYOUT_ID = R.layout.component_recent_bookmarks } diff --git a/app/src/main/java/org/mozilla/fenix/home/recenttabs/view/RecentTabsHeaderViewHolder.kt b/app/src/main/java/org/mozilla/fenix/home/recenttabs/view/RecentTabsHeaderViewHolder.kt index 844bfbb16..37e959957 100644 --- a/app/src/main/java/org/mozilla/fenix/home/recenttabs/view/RecentTabsHeaderViewHolder.kt +++ b/app/src/main/java/org/mozilla/fenix/home/recenttabs/view/RecentTabsHeaderViewHolder.kt @@ -5,6 +5,7 @@ package org.mozilla.fenix.home.recenttabs.view import android.view.View +import androidx.navigation.findNavController import org.mozilla.fenix.R import org.mozilla.fenix.databinding.RecentTabsHeaderBinding import org.mozilla.fenix.home.recenttabs.interactor.RecentTabInteractor @@ -24,10 +25,18 @@ class RecentTabsHeaderViewHolder( val binding = RecentTabsHeaderBinding.bind(view) binding.showAllButton.setOnClickListener { + dismissSearchDialogIfDisplayed() interactor.onRecentTabShowAllClicked() } } + private fun dismissSearchDialogIfDisplayed() { + val navController = itemView.findNavController() + if (navController.currentDestination?.id == R.id.searchDialogFragment) { + navController.navigateUp() + } + } + companion object { const val LAYOUT_ID = R.layout.recent_tabs_header } diff --git a/app/src/test/java/org/mozilla/fenix/home/recentbookmarks/view/RecentBookmarksViewHolderTest.kt b/app/src/test/java/org/mozilla/fenix/home/recentbookmarks/view/RecentBookmarksViewHolderTest.kt index e649b655e..ab4587595 100644 --- a/app/src/test/java/org/mozilla/fenix/home/recentbookmarks/view/RecentBookmarksViewHolderTest.kt +++ b/app/src/test/java/org/mozilla/fenix/home/recentbookmarks/view/RecentBookmarksViewHolderTest.kt @@ -6,6 +6,7 @@ package org.mozilla.fenix.home.recentbookmarks.view import android.view.LayoutInflater import android.view.View +import androidx.navigation.Navigation import io.mockk.mockk import io.mockk.verify import kotlinx.android.synthetic.main.recent_bookmarks_header.view.* @@ -39,7 +40,7 @@ class RecentBookmarksViewHolderTest { fun setup() { view = LayoutInflater.from(testContext) .inflate(RecentBookmarksViewHolder.LAYOUT_ID, null) - + Navigation.setViewNavController(view, mockk(relaxed = true)) interactor = mockk(relaxed = true) } diff --git a/app/src/test/java/org/mozilla/fenix/home/recenttabs/view/RecentTabsHeaderViewHolderTest.kt b/app/src/test/java/org/mozilla/fenix/home/recenttabs/view/RecentTabsHeaderViewHolderTest.kt index 66489c4cc..cbbf90936 100644 --- a/app/src/test/java/org/mozilla/fenix/home/recenttabs/view/RecentTabsHeaderViewHolderTest.kt +++ b/app/src/test/java/org/mozilla/fenix/home/recenttabs/view/RecentTabsHeaderViewHolderTest.kt @@ -6,6 +6,7 @@ package org.mozilla.fenix.home.recenttabs.view import android.view.LayoutInflater import android.view.View +import androidx.navigation.Navigation import io.mockk.mockk import io.mockk.verify import kotlinx.android.synthetic.main.recent_tabs_header.view.* @@ -24,7 +25,9 @@ class RecentTabsHeaderViewHolderTest { @Before fun setup() { - view = LayoutInflater.from(testContext).inflate(RecentTabsHeaderViewHolder.LAYOUT_ID, null) + view = LayoutInflater.from(testContext) + .inflate(RecentTabsHeaderViewHolder.LAYOUT_ID, null) + Navigation.setViewNavController(view, mockk(relaxed = true)) interactor = mockk(relaxed = true) }