From 9fd1d8158b3c5f657125b787dcae9cef3f9edfe8 Mon Sep 17 00:00:00 2001 From: Gabriel Luong Date: Mon, 13 Mar 2023 13:09:20 -0400 Subject: [PATCH] Bug 1822110 - Refactor HomeMenuBuilder to HomeMenuView --- .../java/org/mozilla/fenix/home/HomeFragment.kt | 2 +- .../home/{HomeMenuBuilder.kt => HomeMenuView.kt} | 3 +- ...{HomeMenuBuilderTest.kt => HomeMenuViewTest.kt} | 32 +++++++++++----------- 3 files changed, 18 insertions(+), 19 deletions(-) rename mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/{HomeMenuBuilder.kt => HomeMenuView.kt} (99%) rename mobile/android/fenix/app/src/test/java/org/mozilla/fenix/home/{HomeMenuBuilderTest.kt => HomeMenuViewTest.kt} (86%) diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt index dcbf6bef948e..ca99b68b35d8 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt +++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt @@ -570,7 +570,7 @@ class HomeFragment : Fragment() { observeSearchEngineNameChanges() observeWallpaperUpdates() - HomeMenuBuilder( + HomeMenuView( view = view, context = view.context, lifecycleOwner = viewLifecycleOwner, diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/HomeMenuBuilder.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/HomeMenuView.kt similarity index 99% rename from mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/HomeMenuBuilder.kt rename to mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/HomeMenuView.kt index d964670b245c..fe4df4bc6ea8 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/HomeMenuBuilder.kt +++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/HomeMenuView.kt @@ -16,7 +16,6 @@ import mozilla.appservices.places.BookmarkRoot import mozilla.components.browser.menu.view.MenuButton import mozilla.components.service.glean.private.NoExtras import org.mozilla.fenix.BrowserDirection -import org.mozilla.fenix.Config import org.mozilla.fenix.GleanMetrics.Events import org.mozilla.fenix.GleanMetrics.HomeScreen import org.mozilla.fenix.HomeActivity @@ -45,7 +44,7 @@ import org.mozilla.fenix.GleanMetrics.HomeMenu as HomeMenuMetrics * @property hideOnboardingIfNeeded Lambda invoked to dismiss onboarding. */ @Suppress("LongParameterList") -class HomeMenuBuilder( +class HomeMenuView( private val view: View, private val context: Context, private val lifecycleOwner: LifecycleOwner, diff --git a/mobile/android/fenix/app/src/test/java/org/mozilla/fenix/home/HomeMenuBuilderTest.kt b/mobile/android/fenix/app/src/test/java/org/mozilla/fenix/home/HomeMenuViewTest.kt similarity index 86% rename from mobile/android/fenix/app/src/test/java/org/mozilla/fenix/home/HomeMenuBuilderTest.kt rename to mobile/android/fenix/app/src/test/java/org/mozilla/fenix/home/HomeMenuViewTest.kt index 69a08feb3d8d..a656bddd26e5 100644 --- a/mobile/android/fenix/app/src/test/java/org/mozilla/fenix/home/HomeMenuBuilderTest.kt +++ b/mobile/android/fenix/app/src/test/java/org/mozilla/fenix/home/HomeMenuViewTest.kt @@ -37,7 +37,7 @@ import java.lang.ref.WeakReference import org.mozilla.fenix.GleanMetrics.HomeMenu as HomeMenuMetrics @RunWith(FenixRobolectricTestRunner::class) -class HomeMenuBuilderTest { +class HomeMenuViewTest { @get:Rule val gleanTestRule = GleanTestRule(testContext) @@ -47,7 +47,7 @@ class HomeMenuBuilderTest { private lateinit var homeActivity: HomeActivity private lateinit var navController: NavController private lateinit var menuButton: WeakReference - private lateinit var homeMenuBuilder: HomeMenuBuilder + private lateinit var homeMenuView: HomeMenuView @Before fun setup() { @@ -57,7 +57,7 @@ class HomeMenuBuilderTest { menuButton = mockk(relaxed = true) navController = mockk(relaxed = true) - homeMenuBuilder = HomeMenuBuilder( + homeMenuView = HomeMenuView( view = view, context = testContext, lifecycleOwner = lifecycleOwner, @@ -72,7 +72,7 @@ class HomeMenuBuilderTest { fun `WHEN Settings menu item is tapped THEN navigate to settings fragment and record metrics`() { assertNull(HomeMenuMetrics.settingsItemClicked.testGetValue()) - homeMenuBuilder.onItemTapped(HomeMenu.Item.Settings) + homeMenuView.onItemTapped(HomeMenu.Item.Settings) assertNotNull(HomeMenuMetrics.settingsItemClicked.testGetValue()) @@ -88,7 +88,7 @@ class HomeMenuBuilderTest { fun `WHEN Customize Home menu item is tapped THEN navigate to home settings fragment and record metrics`() { assertNull(HomeScreen.customizeHomeClicked.testGetValue()) - homeMenuBuilder.onItemTapped(HomeMenu.Item.CustomizeHome) + homeMenuView.onItemTapped(HomeMenu.Item.CustomizeHome) assertNotNull(HomeScreen.customizeHomeClicked.testGetValue()) @@ -102,7 +102,7 @@ class HomeMenuBuilderTest { @Test fun `GIVEN various sync account state WHEN Sync Account menu item is tapped THEN navigate to the appropriate sync fragment`() { - homeMenuBuilder.onItemTapped(HomeMenu.Item.SyncAccount(AccountState.AUTHENTICATED)) + homeMenuView.onItemTapped(HomeMenu.Item.SyncAccount(AccountState.AUTHENTICATED)) verify { navController.nav( @@ -111,7 +111,7 @@ class HomeMenuBuilderTest { ) } - homeMenuBuilder.onItemTapped(HomeMenu.Item.SyncAccount(AccountState.NEEDS_REAUTHENTICATION)) + homeMenuView.onItemTapped(HomeMenu.Item.SyncAccount(AccountState.NEEDS_REAUTHENTICATION)) verify { navController.nav( @@ -120,7 +120,7 @@ class HomeMenuBuilderTest { ) } - homeMenuBuilder.onItemTapped(HomeMenu.Item.SyncAccount(AccountState.NO_ACCOUNT)) + homeMenuView.onItemTapped(HomeMenu.Item.SyncAccount(AccountState.NO_ACCOUNT)) verify { navController.nav( @@ -132,7 +132,7 @@ class HomeMenuBuilderTest { @Test fun `WHEN Bookmarks menu item is tapped THEN navigate to the bookmarks fragment`() { - homeMenuBuilder.onItemTapped(HomeMenu.Item.Bookmarks) + homeMenuView.onItemTapped(HomeMenu.Item.Bookmarks) verify { navController.nav( @@ -144,7 +144,7 @@ class HomeMenuBuilderTest { @Test fun `WHEN History menu item is tapped THEN navigate to the history fragment`() { - homeMenuBuilder.onItemTapped(HomeMenu.Item.History) + homeMenuView.onItemTapped(HomeMenu.Item.History) verify { navController.nav( @@ -156,7 +156,7 @@ class HomeMenuBuilderTest { @Test fun `WHEN Downloads menu item is tapped THEN navigate to the downloads fragment`() { - homeMenuBuilder.onItemTapped(HomeMenu.Item.Downloads) + homeMenuView.onItemTapped(HomeMenu.Item.Downloads) verify { navController.nav( @@ -168,7 +168,7 @@ class HomeMenuBuilderTest { @Test fun `WHEN Help menu item is tapped THEN open the browser to the SUMO help page`() { - homeMenuBuilder.onItemTapped(HomeMenu.Item.Help) + homeMenuView.onItemTapped(HomeMenu.Item.Help) verify { homeActivity.openToBrowserAndLoad( @@ -186,7 +186,7 @@ class HomeMenuBuilderTest { fun `WHEN Whats New menu item is tapped THEN open the browser to the SUMO whats new page and record metrics`() { assertNull(Events.whatsNewTapped.testGetValue()) - homeMenuBuilder.onItemTapped(HomeMenu.Item.WhatsNew) + homeMenuView.onItemTapped(HomeMenu.Item.WhatsNew) assertNotNull(Events.whatsNewTapped.testGetValue()) @@ -203,7 +203,7 @@ class HomeMenuBuilderTest { @Test fun `WHEN Reconnect Sync menu item is tapped THEN navigate to the account problem fragment`() { - homeMenuBuilder.onItemTapped(HomeMenu.Item.ReconnectSync) + homeMenuView.onItemTapped(HomeMenu.Item.ReconnectSync) verify { navController.nav( @@ -215,7 +215,7 @@ class HomeMenuBuilderTest { @Test fun `WHEN Extensions menu item is tapped THEN navigate to the addons management fragment`() { - homeMenuBuilder.onItemTapped(HomeMenu.Item.Extensions) + homeMenuView.onItemTapped(HomeMenu.Item.Extensions) verify { navController.nav( @@ -229,7 +229,7 @@ class HomeMenuBuilderTest { fun `WHEN Desktop Mode menu item is tapped THEN set the desktop mode settings`() { every { testContext.settings() } returns Settings(testContext) - homeMenuBuilder.onItemTapped(HomeMenu.Item.DesktopMode(checked = true)) + homeMenuView.onItemTapped(HomeMenu.Item.DesktopMode(checked = true)) assertTrue(testContext.settings().openNextTabInDesktopMode) } -- 2.11.4.GIT