app/src/main/java/net/astropenguin/naroureader/ReaderApplication.java
raw · 1003 bytes
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<WebExtension> extension;
public synchronized GeckoRuntime runtime() {
if (runtime == null) {
runtime = GeckoRuntime.create(this, new GeckoRuntimeSettings.Builder()
.consoleOutput(BuildConfig.DEBUG).build());
extension = runtime.getWebExtensionController().ensureBuiltIn(
"resource://android/assets/reader/", "narou-reader-android@penguin.local");
}
return runtime;
}
public GeckoResult<WebExtension> extension() { runtime(); return extension; }
}