From 4a66c60548f86c07cfce43758381527342c7f0e1 Mon Sep 17 00:00:00 2001 From: Sebastian Kaspari Date: Thu, 14 Feb 2019 14:59:27 +0100 Subject: [PATCH] Pass concept-fetch Client implementation to SearchSuggestionProvider. --- .../java/org/mozilla/fenix/components/Core.kt | 23 ++++++++++++++----- .../search/awesomebar/AwesomeBarUIView.kt | 1 + 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/org/mozilla/fenix/components/Core.kt b/app/src/main/java/org/mozilla/fenix/components/Core.kt index 6f9d55543..b9d439167 100644 --- a/app/src/main/java/org/mozilla/fenix/components/Core.kt +++ b/app/src/main/java/org/mozilla/fenix/components/Core.kt @@ -12,12 +12,14 @@ import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.async import kotlinx.coroutines.launch import mozilla.components.browser.engine.gecko.GeckoEngine +import mozilla.components.browser.engine.gecko.fetch.GeckoViewFetchClient import mozilla.components.browser.session.SessionManager import mozilla.components.browser.session.storage.SessionStorage import mozilla.components.browser.storage.sync.PlacesHistoryStorage import mozilla.components.concept.engine.DefaultSettings import mozilla.components.concept.engine.Engine import mozilla.components.concept.engine.EngineSession.TrackingProtectionPolicy +import mozilla.components.concept.fetch.Client import mozilla.components.feature.session.HistoryDelegate import mozilla.components.feature.session.bundling.SessionBundleStorage import mozilla.components.lib.crash.handler.CrashHandlerService @@ -31,6 +33,14 @@ import java.util.concurrent.TimeUnit */ class Core(private val context: Context) { + private val runtime by lazy { + val runtimeSettings = GeckoRuntimeSettings.Builder() + .crashHandler(CrashHandlerService::class.java) + .build() + + GeckoRuntime.create(context, runtimeSettings) + } + /** * The browser engine component initialized based on the build * configuration (see build variants). @@ -46,15 +56,16 @@ class Core(private val context: Context) { historyTrackingDelegate = HistoryDelegate(historyStorage) ) - val runtimeSettings = GeckoRuntimeSettings.Builder() - .crashHandler(CrashHandlerService::class.java) - .build() - - val runtime = GeckoRuntime.create(context, runtimeSettings) - GeckoEngine(context, defaultSettings, runtime) } + /** + * [Client] implementation to be used for code depending on `concept-fetch`` + */ + val client: Client by lazy { + GeckoViewFetchClient(context, runtime) + } + val sessionStorage by lazy { SessionBundleStorage(context, bundleLifetime = Pair(1, TimeUnit.HOURS)) } diff --git a/app/src/main/java/org/mozilla/fenix/search/awesomebar/AwesomeBarUIView.kt b/app/src/main/java/org/mozilla/fenix/search/awesomebar/AwesomeBarUIView.kt index c9f2c7bc2..1702cbb61 100644 --- a/app/src/main/java/org/mozilla/fenix/search/awesomebar/AwesomeBarUIView.kt +++ b/app/src/main/java/org/mozilla/fenix/search/awesomebar/AwesomeBarUIView.kt @@ -59,6 +59,7 @@ class AwesomeBarUIView( if (useNewTab) { components.useCases.searchUseCases.newTabSearch } else components.useCases.searchUseCases.defaultSearch, + components.core.client, SearchSuggestionProvider.Mode.MULTIPLE_SUGGESTIONS ) )