package net.astropenguin.naroureader; import android.app.Application; import org.mozilla.geckoview.GeckoRuntime; import org.mozilla.geckoview.GeckoRuntimeSettings; import org.mozilla.geckoview.GeckoResult; import org.mozilla.geckoview.WebExtension; /** Gecko supports one runtime per app process. Keep it across Activity lifetimes. */ public final class ReaderApplication extends Application { private GeckoRuntime runtime; private GeckoResult extension; public synchronized GeckoRuntime runtime() { if (runtime == null) { /* PROD runtime = GeckoRuntime.create(this, new GeckoRuntimeSettings.Builder() .consoleOutput(BuildConfig.DEBUG).build()); */ runtime = GeckoRuntime.create(this, new GeckoRuntimeSettings.Builder() .consoleOutput(BuildConfig.DEBUG) .remoteDebuggingEnabled(BuildConfig.DEBUG) .build()); extension = runtime.getWebExtensionController().ensureBuiltIn( "resource://android/assets/reader/", "narou-reader-android@penguin.local"); } return runtime; } public GeckoResult extension() { runtime(); return extension; } }