* 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 kotlinx.coroutines.launch
|
||||||
import mozilla.components.browser.search.SearchEngineManager
|
import mozilla.components.browser.search.SearchEngineManager
|
||||||
import mozilla.components.browser.search.provider.AssetsSearchEngineProvider
|
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.test.Mockable
|
||||||
import org.mozilla.fenix.utils.Settings
|
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.
|
* 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.
|
* This component provides access to a centralized registry of search engines.
|
||||||
*/
|
*/
|
||||||
val searchEngineManager by lazy {
|
val searchEngineManager by lazy {
|
||||||
SearchEngineManager(coroutineContext = IO, providers = listOf(
|
SearchEngineManager(
|
||||||
AssetsSearchEngineProvider(FenixLocaleSearchLocalizationProvider())
|
coroutineContext = IO, providers = listOf(
|
||||||
)).apply {
|
AssetsSearchEngineProvider(LocaleSearchLocalizationProvider())
|
||||||
|
)
|
||||||
|
).apply {
|
||||||
registerForLocaleUpdates(context)
|
registerForLocaleUpdates(context)
|
||||||
GlobalScope.launch {
|
GlobalScope.launch {
|
||||||
loadAsync(context).await()
|
loadAsync(context).await()
|
||||||
|
|
|
@ -8,16 +8,16 @@ import kotlinx.coroutines.ObsoleteCoroutinesApi
|
||||||
import mozilla.components.browser.search.SearchEngine
|
import mozilla.components.browser.search.SearchEngine
|
||||||
import mozilla.components.browser.search.SearchEngineManager
|
import mozilla.components.browser.search.SearchEngineManager
|
||||||
import mozilla.components.browser.search.provider.AssetsSearchEngineProvider
|
import mozilla.components.browser.search.provider.AssetsSearchEngineProvider
|
||||||
|
import mozilla.components.browser.search.provider.localization.LocaleSearchLocalizationProvider
|
||||||
import mozilla.components.support.test.robolectric.testContext
|
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.Assert.assertTrue
|
||||||
|
import org.junit.Before
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
import org.junit.runner.RunWith
|
import org.junit.runner.RunWith
|
||||||
import org.mozilla.fenix.TestApplication
|
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.RobolectricTestRunner
|
||||||
import org.robolectric.annotation.Config
|
import org.robolectric.annotation.Config
|
||||||
|
|
||||||
|
@ -49,7 +49,7 @@ class PerformedSearchTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
private val provider = AssetsSearchEngineProvider(
|
private val provider = AssetsSearchEngineProvider(
|
||||||
localizationProvider = FenixLocaleSearchLocalizationProvider(),
|
localizationProvider = LocaleSearchLocalizationProvider(),
|
||||||
additionalIdentifiers = listOf(
|
additionalIdentifiers = listOf(
|
||||||
"amazon-au",
|
"amazon-au",
|
||||||
"amazon-br",
|
"amazon-br",
|
||||||
|
|
Loading…
Reference in New Issue