Revert "For #12544 - Prevent search engines mixup"

This reverts commit 0a4a170f7e.
pull/149/head
Jeff Boek 4 years ago
parent 0afb7a3f25
commit 8bdc9d0431

@ -7,6 +7,7 @@ package org.mozilla.fenix.components.searchengine
import android.content.Context
import androidx.annotation.VisibleForTesting
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Deferred
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.Job
import kotlinx.coroutines.async
@ -32,16 +33,14 @@ import java.util.Locale
open class FenixSearchEngineProvider(
private val context: Context
) : SearchEngineProvider, CoroutineScope by CoroutineScope(Job() + Dispatchers.IO) {
private val locationService = with(MozillaLocationService(
context,
context.components.core.client,
BuildConfig.MLS_TOKEN
)) {
if (Config.channel.isDebug || !this.hasRegionCached()) {
LocationService.dummy()
} else {
this
}
private val locationService: LocationService = if (Config.channel.isDebug) {
LocationService.dummy()
} else {
MozillaLocationService(
context,
context.components.core.client,
BuildConfig.MLS_TOKEN
)
}
// We have two search engine types: one based on MLS reported region, one based only on Locale.
@ -94,6 +93,17 @@ open class FenixSearchEngineProvider(
private var loadedSearchEngines = refreshAsync()
// https://github.com/mozilla-mobile/fenix/issues/9935
// Create new getter that will return the fallback SearchEngineList if
// the main one hasn't completed yet
private val searchEngines: Deferred<SearchEngineList>
get() =
if (isRegionCachedByLocationService) {
loadedSearchEngines
} else {
fallbackEngines
}
fun getDefaultEngine(context: Context): SearchEngine {
val engines = installedSearchEngines(context)
val selectedName = context.settings().defaultSearchEngineName
@ -107,7 +117,7 @@ open class FenixSearchEngineProvider(
*/
fun installedSearchEngines(context: Context): SearchEngineList = runBlocking {
val installedIdentifiers = installedSearchEngineIdentifiers(context)
val engineList = loadedSearchEngines.await()
val engineList = searchEngines.await()
engineList.copy(
list = engineList.list.filter {
@ -178,11 +188,7 @@ open class FenixSearchEngineProvider(
}
private fun refreshAsync() = async {
val engineList = if (isRegionCachedByLocationService) {
baseSearchEngines.await()
} else {
fallbackEngines.await()
}
val engineList = baseSearchEngines.await()
val bundledList = bundledSearchEngines.await().list
val customList = customSearchEngines.await().list

Loading…
Cancel
Save