From 0496249fe4a875129670bdf74f308aa9ccf7e214 Mon Sep 17 00:00:00 2001 From: mcarare Date: Wed, 19 Jan 2022 14:05:31 +0200 Subject: [PATCH] For #23256: Pass navController instance instead of lambda. --- .../quicksettings/QuickSettingsController.kt | 14 +++++++------- .../QuickSettingsSheetDialogFragment.kt | 6 ++++-- .../DefaultQuickSettingsControllerTest.kt | 6 +++--- 3 files changed, 14 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/org/mozilla/fenix/settings/quicksettings/QuickSettingsController.kt b/app/src/main/java/org/mozilla/fenix/settings/quicksettings/QuickSettingsController.kt index 20cceec8a8..75dfcd8383 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/quicksettings/QuickSettingsController.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/quicksettings/QuickSettingsController.kt @@ -107,7 +107,7 @@ class DefaultQuickSettingsController( private val quickSettingsStore: QuickSettingsFragmentStore, private val browserStore: BrowserStore, private val ioScope: CoroutineScope, - private val navController: () -> NavController, + private val navController: NavController, @VisibleForTesting internal val sessionId: String, @VisibleForTesting @@ -209,7 +209,7 @@ class DefaultQuickSettingsController( } override fun handleDetailsClicked() { - navController().popBackStack() + navController.popBackStack() val state = quickSettingsStore.state.trackingProtectionState val directions = NavGraphDirections @@ -220,11 +220,11 @@ class DefaultQuickSettingsController( gravity = context.components.settings.toolbarPosition.androidGravity, sitePermissions = sitePermissions ) - navController().navigate(directions) + navController.navigate(directions) } override fun handleConnectionDetailsClicked() { - navController().popBackStack() + navController.popBackStack() val state = quickSettingsStore.state.webInfoState val directions = ConnectionPanelDialogFragmentDirections @@ -237,7 +237,7 @@ class DefaultQuickSettingsController( gravity = context.components.settings.toolbarPosition.androidGravity, sitePermissions = sitePermissions ) - navController().navigate(directions) + navController.navigate(directions) } override fun handleClearSiteDataClicked(baseDomain: String) { @@ -248,7 +248,7 @@ class DefaultQuickSettingsController( Engine.BrowsingData.ALL_SITE_DATA, ), ) - navController().popBackStack() + navController.popBackStack() } /** @@ -293,6 +293,6 @@ class DefaultQuickSettingsController( private fun navigateToManagePhoneFeature(phoneFeature: PhoneFeature) { val directions = QuickSettingsSheetDialogFragmentDirections .actionGlobalSitePermissionsManagePhoneFeature(phoneFeature) - navController().navigate(directions) + navController.navigate(directions) } } diff --git a/app/src/main/java/org/mozilla/fenix/settings/quicksettings/QuickSettingsSheetDialogFragment.kt b/app/src/main/java/org/mozilla/fenix/settings/quicksettings/QuickSettingsSheetDialogFragment.kt index 65ee453dc3..009c3983c0 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/quicksettings/QuickSettingsSheetDialogFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/quicksettings/QuickSettingsSheetDialogFragment.kt @@ -78,6 +78,7 @@ class QuickSettingsSheetDialogFragment : FenixDialogFragment() { val rootView = inflateRootView(container) _binding = FragmentQuickSettingsDialogSheetBinding.bind(rootView) + val navController = findNavController() quickSettingsStore = QuickSettingsFragmentStore.createStore( context = context, websiteUrl = args.url, @@ -96,7 +97,7 @@ class QuickSettingsSheetDialogFragment : FenixDialogFragment() { quickSettingsStore = quickSettingsStore, browserStore = components.core.store, ioScope = viewLifecycleOwner.lifecycleScope + Dispatchers.IO, - navController = { findNavController() }, + navController = navController, sessionId = args.sessionId, sitePermissions = args.sitePermissions, settings = components.settings, @@ -122,7 +123,8 @@ class QuickSettingsSheetDialogFragment : FenixDialogFragment() { ioScope = viewLifecycleOwner.lifecycleScope + Dispatchers.IO, containerView = binding.clearSiteDataLayout, containerDivider = binding.clearSiteDataDivider, - interactor = interactor + interactor = interactor, + navController = navController ) return rootView diff --git a/app/src/test/java/org/mozilla/fenix/settings/quicksettings/DefaultQuickSettingsControllerTest.kt b/app/src/test/java/org/mozilla/fenix/settings/quicksettings/DefaultQuickSettingsControllerTest.kt index 3762c061cf..2c5072c6fc 100644 --- a/app/src/test/java/org/mozilla/fenix/settings/quicksettings/DefaultQuickSettingsControllerTest.kt +++ b/app/src/test/java/org/mozilla/fenix/settings/quicksettings/DefaultQuickSettingsControllerTest.kt @@ -101,7 +101,7 @@ class DefaultQuickSettingsControllerTest { browserStore = browserStore, sessionId = tab.id, ioScope = coroutinesScope, - navController = { navController }, + navController = navController, sitePermissions = sitePermissions, settings = appSettings, permissionStorage = permissionStorage, @@ -180,7 +180,7 @@ class DefaultQuickSettingsControllerTest { quickSettingsStore = store, browserStore = BrowserStore(), ioScope = coroutinesScope, - navController = { navController }, + navController = navController, sessionId = "123", sitePermissions = null, settings = appSettings, @@ -419,7 +419,7 @@ class DefaultQuickSettingsControllerTest { browserStore = browserStore, sessionId = tab.id, ioScope = coroutinesScope, - navController = { navController }, + navController = navController, sitePermissions = sitePermissions, settings = appSettings, permissionStorage = permissionStorage,