* For #3869: Switch to A-C SearchLocalizationProvider * Fix testmaster
parent
23b9a41059
commit
051ae9f584
|
@ -10,26 +10,9 @@ import kotlinx.coroutines.GlobalScope
|
|||
import kotlinx.coroutines.launch
|
||||
import mozilla.components.browser.search.SearchEngineManager
|
||||
import mozilla.components.browser.search.provider.AssetsSearchEngineProvider
|
||||
import mozilla.components.browser.search.provider.localization.SearchLocalizationProvider
|
||||
import mozilla.components.browser.search.provider.localization.LocaleSearchLocalizationProvider
|
||||
import org.mozilla.fenix.test.Mockable
|
||||
import org.mozilla.fenix.utils.Settings
|
||||
import java.util.Locale
|
||||
|
||||
// Create our own SearchLocalizationProivder that sets the region based on the country
|
||||
// This is a temporary fix until we have a localization provider that can look up the users
|
||||
// issue
|
||||
// https://github.com/mozilla-mobile/fenix/issues/3869
|
||||
// https://github.com/mozilla-mobile/android-components/issues/3637
|
||||
class FenixLocaleSearchLocalizationProvider : SearchLocalizationProvider() {
|
||||
override val language: String
|
||||
get() = Locale.getDefault().language
|
||||
|
||||
override val country: String
|
||||
get() = Locale.getDefault().country
|
||||
|
||||
override val region: String
|
||||
get() = country
|
||||
}
|
||||
|
||||
/**
|
||||
* Component group for all search engine integration related functionality.
|
||||
|
@ -41,9 +24,11 @@ class Search(private val context: Context) {
|
|||
* This component provides access to a centralized registry of search engines.
|
||||
*/
|
||||
val searchEngineManager by lazy {
|
||||
SearchEngineManager(coroutineContext = IO, providers = listOf(
|
||||
AssetsSearchEngineProvider(FenixLocaleSearchLocalizationProvider())
|
||||
)).apply {
|
||||
SearchEngineManager(
|
||||
coroutineContext = IO, providers = listOf(
|
||||
AssetsSearchEngineProvider(LocaleSearchLocalizationProvider())
|
||||
)
|
||||
).apply {
|
||||
registerForLocaleUpdates(context)
|
||||
GlobalScope.launch {
|
||||
loadAsync(context).await()
|
||||
|
|
|
@ -8,16 +8,16 @@ import kotlinx.coroutines.ObsoleteCoroutinesApi
|
|||
import mozilla.components.browser.search.SearchEngine
|
||||
import mozilla.components.browser.search.SearchEngineManager
|
||||
import mozilla.components.browser.search.provider.AssetsSearchEngineProvider
|
||||
import mozilla.components.browser.search.provider.localization.LocaleSearchLocalizationProvider
|
||||
import mozilla.components.support.test.robolectric.testContext
|
||||
import org.junit.Before
|
||||
import org.mozilla.fenix.components.metrics.Event.PerformedSearch
|
||||
import org.mozilla.fenix.components.metrics.Event.PerformedSearch.EngineSource
|
||||
import org.mozilla.fenix.components.metrics.Event.PerformedSearch.EventSource
|
||||
import org.junit.Assert.assertTrue
|
||||
import org.junit.Before
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
import org.mozilla.fenix.TestApplication
|
||||
import org.mozilla.fenix.components.FenixLocaleSearchLocalizationProvider
|
||||
import org.mozilla.fenix.components.metrics.Event.PerformedSearch
|
||||
import org.mozilla.fenix.components.metrics.Event.PerformedSearch.EngineSource
|
||||
import org.mozilla.fenix.components.metrics.Event.PerformedSearch.EventSource
|
||||
import org.robolectric.RobolectricTestRunner
|
||||
import org.robolectric.annotation.Config
|
||||
|
||||
|
@ -49,7 +49,7 @@ class PerformedSearchTest {
|
|||
}
|
||||
|
||||
private val provider = AssetsSearchEngineProvider(
|
||||
localizationProvider = FenixLocaleSearchLocalizationProvider(),
|
||||
localizationProvider = LocaleSearchLocalizationProvider(),
|
||||
additionalIdentifiers = listOf(
|
||||
"amazon-au",
|
||||
"amazon-br",
|
||||
|
|
Loading…
Reference in New Issue