Start using release builds of GeckoView.

releases/v79.0.0
Sebastian Kaspari 4 years ago
parent e586e3cfdd
commit 09e5d4d8f6

@ -171,6 +171,10 @@ android {
setIgnore true
}
if (flavors.contains("geckoproduction") && buildType.name != 'fennecProduction') {
setIgnore true
}
if ((buildType.name == 'fennecProduction' || buildType.name == 'fennecBeta') && flavors.contains("geckonightly")) {
setIgnore true
}
@ -228,6 +232,10 @@ android {
geckoBeta {
dimension "engine"
}
geckoProduction {
dimension "engine"
}
}
splits {
@ -436,6 +444,7 @@ apply plugin: "org.mozilla.telemetry.glean-gradle-plugin"
dependencies {
geckoNightlyImplementation Deps.mozilla_browser_engine_gecko_nightly
geckoBetaImplementation Deps.mozilla_browser_engine_gecko_beta
geckoProductionImplementation Deps.mozilla_browser_engine_gecko_release
implementation Deps.kotlin_stdlib
implementation Deps.kotlin_coroutines

@ -0,0 +1,68 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
import android.content.Context
import android.os.Bundle
import mozilla.components.browser.engine.gecko.autofill.GeckoLoginDelegateWrapper
import mozilla.components.browser.engine.gecko.glean.GeckoAdapter
import mozilla.components.concept.storage.LoginsStorage
import mozilla.components.lib.crash.handler.CrashHandlerService
import mozilla.components.service.sync.logins.GeckoLoginStorageDelegate
import org.mozilla.fenix.Config
import org.mozilla.fenix.ext.settings
import org.mozilla.fenix.utils.Settings
import org.mozilla.geckoview.GeckoRuntime
import org.mozilla.geckoview.GeckoRuntimeSettings
object GeckoProvider {
var testConfig: Bundle? = null
private var runtime: GeckoRuntime? = null
@Synchronized
fun getOrCreateRuntime(
context: Context,
storage: Lazy<LoginsStorage>
): GeckoRuntime {
if (runtime == null) {
runtime = createRuntime(context, storage)
}
return runtime!!
}
private fun createRuntime(
context: Context,
storage: Lazy<LoginsStorage>
): GeckoRuntime {
val builder = GeckoRuntimeSettings.Builder()
testConfig?.let {
builder.extras(it)
.remoteDebuggingEnabled(true)
}
val runtimeSettings = builder
.crashHandler(CrashHandlerService::class.java)
.telemetryDelegate(GeckoAdapter())
.aboutConfigEnabled(Config.channel.isBeta)
.debugLogging(Config.channel.isDebug)
.build()
if (!Settings.getInstance(context).shouldUseAutoSize) {
runtimeSettings.automaticFontSizeAdjustment = false
val fontSize = Settings.getInstance(context).fontSizeFactor
runtimeSettings.fontSizeFactor = fontSize
}
val geckoRuntime = GeckoRuntime.create(context, runtimeSettings)
// As a quick fix for #8967 we are conflating "should autofill" with "should save logins"
val loginStorageDelegate = GeckoLoginStorageDelegate(
storage,
{ context.settings().shouldPromptToSaveLogins }
)
geckoRuntime.loginStorageDelegate = GeckoLoginDelegateWrapper(loginStorageDelegate)
return geckoRuntime
}
}

@ -172,7 +172,7 @@ jobs:
include-shippable-secrets: true
filter-incomplete-translations: true
run:
geckoview-engine: geckoBeta
geckoview-engine: geckoProduction
gradle-build-type: fennecProduction
treeherder:
symbol: productionFennec(B)

Loading…
Cancel
Save