parent
806f74abe7
commit
82d7313add
|
@ -33,6 +33,7 @@ class SearchDialogController(
|
||||||
private val navController: NavController,
|
private val navController: NavController,
|
||||||
private val settings: Settings,
|
private val settings: Settings,
|
||||||
private val metrics: MetricController,
|
private val metrics: MetricController,
|
||||||
|
private val dismissDialog: () -> Unit,
|
||||||
private val clearToolbarFocus: () -> Unit
|
private val clearToolbarFocus: () -> Unit
|
||||||
) : SearchController {
|
) : SearchController {
|
||||||
|
|
||||||
|
@ -45,12 +46,15 @@ class SearchDialogController(
|
||||||
activity.startActivity(Intent(activity, CrashListActivity::class.java))
|
activity.startActivity(Intent(activity, CrashListActivity::class.java))
|
||||||
}
|
}
|
||||||
"about:addons" -> {
|
"about:addons" -> {
|
||||||
val directions = SearchDialogFragmentDirections.actionGlobalAddonsManagementFragment()
|
val directions =
|
||||||
|
SearchDialogFragmentDirections.actionGlobalAddonsManagementFragment()
|
||||||
navController.navigateSafe(R.id.searchDialogFragment, directions)
|
navController.navigateSafe(R.id.searchDialogFragment, directions)
|
||||||
}
|
}
|
||||||
"moz://a" -> openSearchOrUrl(SupportUtils.getMozillaPageUrl(SupportUtils.MozillaPage.MANIFESTO))
|
"moz://a" -> openSearchOrUrl(SupportUtils.getMozillaPageUrl(SupportUtils.MozillaPage.MANIFESTO))
|
||||||
else -> if (url.isNotBlank()) {
|
else -> if (url.isNotBlank()) {
|
||||||
openSearchOrUrl(url)
|
openSearchOrUrl(url)
|
||||||
|
} else {
|
||||||
|
dismissDialog()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -140,6 +140,7 @@ class SearchDialogFragment : AppCompatDialogFragment(), UserInteractionHandler {
|
||||||
navController = findNavController(),
|
navController = findNavController(),
|
||||||
settings = requireContext().settings(),
|
settings = requireContext().settings(),
|
||||||
metrics = requireComponents.analytics.metrics,
|
metrics = requireComponents.analytics.metrics,
|
||||||
|
dismissDialog = { dismissAllowingStateLoss() },
|
||||||
clearToolbarFocus = {
|
clearToolbarFocus = {
|
||||||
toolbarView.view.hideKeyboard()
|
toolbarView.view.hideKeyboard()
|
||||||
toolbarView.view.clearFocus()
|
toolbarView.view.clearFocus()
|
||||||
|
|
|
@ -44,6 +44,7 @@ class SearchDialogControllerTest {
|
||||||
@MockK(relaxed = true) private lateinit var settings: Settings
|
@MockK(relaxed = true) private lateinit var settings: Settings
|
||||||
@MockK private lateinit var sessionManager: SessionManager
|
@MockK private lateinit var sessionManager: SessionManager
|
||||||
@MockK(relaxed = true) private lateinit var clearToolbarFocus: () -> Unit
|
@MockK(relaxed = true) private lateinit var clearToolbarFocus: () -> Unit
|
||||||
|
@MockK(relaxed = true) private lateinit var dismissDialog: () -> Unit
|
||||||
|
|
||||||
private lateinit var controller: SearchDialogController
|
private lateinit var controller: SearchDialogController
|
||||||
|
|
||||||
|
@ -67,6 +68,7 @@ class SearchDialogControllerTest {
|
||||||
navController = navController,
|
navController = navController,
|
||||||
settings = settings,
|
settings = settings,
|
||||||
metrics = metrics,
|
metrics = metrics,
|
||||||
|
dismissDialog = dismissDialog,
|
||||||
clearToolbarFocus = clearToolbarFocus
|
clearToolbarFocus = clearToolbarFocus
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
@ -93,6 +95,17 @@ class SearchDialogControllerTest {
|
||||||
verify { metrics.track(Event.EnteredUrl(false)) }
|
verify { metrics.track(Event.EnteredUrl(false)) }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun handleBlankUrlCommitted() {
|
||||||
|
val url = ""
|
||||||
|
|
||||||
|
controller.handleUrlCommitted(url)
|
||||||
|
|
||||||
|
verify {
|
||||||
|
dismissDialog()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun handleSearchCommitted() {
|
fun handleSearchCommitted() {
|
||||||
val searchTerm = "Firefox"
|
val searchTerm = "Firefox"
|
||||||
|
|
Loading…
Reference in New Issue
Block a user