penguin/narou-android

Simple 縦書き reader for narou

app/src/main/java/net/astropenguin/naroureader/ReaderApplication.java

raw · 1277 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) {
            /* 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<WebExtension> extension() { runtime(); return extension; }
}