From 2e9e453117002fec1b2472e9c17063df077d6c83 Mon Sep 17 00:00:00 2001 From: ysdragon Date: Sat, 5 Sep 2026 20:19:07 +0300 Subject: [PATCH 1/9] feat(android): add WebView backend (C + MainActivity) Same webview_* Ring C-API as desktop, backed by android.webkit.WebView over JNI. Package io.github.ysdragon.webview. UI thread owns the WebView and only enqueues; worker thread owns the Ring VM and runs the job queue. g_on* names are worker-only; JNI enqueues raw events. Flags are C11 atomics; queue bounded at 4096. Rotation re-attaches and re-pushes shim+scripts; renderer crash rebuilds the view and reloads. Single instance per process. --- .../github/ysdragon/webview/MainActivity.java | 464 ++++ src/android/proguard-webview.pro | 17 + src/c_src/ring_webview_android.c | 2197 +++++++++++++++++ 3 files changed, 2678 insertions(+) create mode 100644 src/android/io/github/ysdragon/webview/MainActivity.java create mode 100644 src/android/proguard-webview.pro create mode 100644 src/c_src/ring_webview_android.c diff --git a/src/android/io/github/ysdragon/webview/MainActivity.java b/src/android/io/github/ysdragon/webview/MainActivity.java new file mode 100644 index 0000000..5fa51e2 --- /dev/null +++ b/src/android/io/github/ysdragon/webview/MainActivity.java @@ -0,0 +1,464 @@ +/* + * MainActivity.java + * Copyright (c) Youssef Saeed + * All rights reserved. + */ +package io.github.ysdragon.webview; + +import android.annotation.SuppressLint; +import android.app.Activity; +import android.app.AlertDialog; +import android.content.DialogInterface; +import android.graphics.Color; +import android.os.Build; +import android.os.Bundle; +import android.os.Looper; +import android.util.Log; +import android.view.View; +import android.view.Window; +import android.view.WindowInsetsController; +import android.view.WindowManager; +import android.webkit.ConsoleMessage; +import android.webkit.JavascriptInterface; +import android.webkit.JsPromptResult; +import android.webkit.JsResult; +import android.webkit.WebChromeClient; +import android.webkit.WebSettings; +import android.webkit.WebView; +import android.webkit.WebViewClient; +import android.widget.EditText; + +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicReference; + +// Android host: owns the WebView on the UI thread. Ring VM runs on a native +// worker thread; all cross-talk goes through ring_webview_android.c. +public class MainActivity extends Activity { + + private static final String TAG = "RingWebView"; + private static final long SYNC_TIMEOUT_MS = 5000; + + static { + System.loadLibrary("main"); + } + + private WebView webView; + private volatile String injectJs = ""; + private volatile boolean destroyed = false; + // Last URL / HTML (crash reload; reset on rotation). Last size (resize on change). + // UI thread only. + private String lastUrl = ""; + private String lastHtml = ""; + private int lastW = -1, lastH = -1; + // Crash-loop guard: a poison page must not rebuild forever. + private int crashCount = 0; + private long lastCrashMs = 0; + + /* ------------------------------------------------------------------ */ + /* Lifecycle */ + /* ------------------------------------------------------------------ */ + + @SuppressLint("SetJavaScriptEnabled") + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + requestWindowFeature(Window.FEATURE_NO_TITLE); + getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); + + Window window = getWindow(); + window.setStatusBarColor(Color.TRANSPARENT); + if (Build.VERSION.SDK_INT >= 30) { + window.setDecorFitsSystemWindows(false); + } else { + int flags = View.SYSTEM_UI_FLAG_LAYOUT_STABLE + | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN; + window.getDecorView().setSystemUiVisibility(flags); + } + + webView = createWebView(); + setContentView(webView); + + // Dark page: keep light status-bar icons. + if (Build.VERSION.SDK_INT >= 30) { + WindowInsetsController controller = window.getInsetsController(); + if (controller != null) { + controller.setSystemBarsAppearance( + 0, + WindowInsetsController.APPEARANCE_LIGHT_STATUS_BARS); + } + } + + nativeStart(); + } + + // Fully configured WebView. Shared by onCreate and crash recovery. + // UI thread only. + private WebView createWebView() { + final WebView v = new WebView(this); + + WebSettings settings = v.getSettings(); + settings.setJavaScriptEnabled(true); + settings.setDomStorageEnabled(true); + settings.setAllowFileAccess(true); + settings.setAllowContentAccess(true); + settings.setMediaPlaybackRequiresUserGesture(false); + settings.setLoadWithOverviewMode(true); + settings.setUseWideViewPort(true); + + v.setWebViewClient(new WebViewClient() { + @Override + public boolean shouldOverrideUrlLoading(WebView view, String url) { + return false; + } + + @Override + public void onPageStarted(WebView view, String url, android.graphics.Bitmap favicon) { + if (url != null) { + lastUrl = url; + // Real navigation wins over earlier setHtml content. + if (!url.equals("about:blank")) lastHtml = ""; + } + nativeOnPageStarted(url); + } + + @Override + public void onPageFinished(WebView view, String url) { + String js = injectJs; + if (js != null && js.length() > 0) { + view.evaluateJavascript(js, null); + } + nativeOnPageFinished(url); + } + + @Override + public boolean onRenderProcessGone(WebView view, android.webkit.RenderProcessGoneDetail detail) { + return handleRenderCrash(view, detail); + } + }); + + v.setWebChromeClient(new WebChromeClient() { + @Override + public void onReceivedTitle(WebView view, String title) { + nativeOnTitleChanged(title); + } + + @Override + public boolean onConsoleMessage(ConsoleMessage cm) { + Log.i(TAG, "JS: " + cm.message() + " @" + cm.sourceId() + ":" + cm.lineNumber()); + return true; + } + + @Override + public boolean onJsAlert(WebView view, String url, String message, final JsResult result) { + new AlertDialog.Builder(MainActivity.this, android.R.style.Theme_DeviceDefault_Dialog_Alert) + .setMessage(message) + .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + result.confirm(); + } + }) + .setCancelable(false) + .show(); + return true; + } + + @Override + public boolean onJsConfirm(WebView view, String url, String message, final JsResult result) { + new AlertDialog.Builder(MainActivity.this, android.R.style.Theme_DeviceDefault_Dialog_Alert) + .setMessage(message) + .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + result.confirm(); + } + }) + .setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + result.cancel(); + } + }) + .setCancelable(false) + .show(); + return true; + } + + @Override + public boolean onJsPrompt(WebView view, String url, String message, String defaultValue, + final JsPromptResult result) { + final EditText input = new EditText(MainActivity.this); + input.setText(defaultValue); + new AlertDialog.Builder(MainActivity.this, android.R.style.Theme_DeviceDefault_Dialog_Alert) + .setMessage(message) + .setView(input) + .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + result.confirm(input.getText().toString()); + } + }) + .setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + result.cancel(); + } + }) + .setCancelable(false) + .show(); + return true; + } + }); + + v.addJavascriptInterface(new RingBridge(), "RingBridge"); + + v.getViewTreeObserver().addOnGlobalLayoutListener(new android.view.ViewTreeObserver.OnGlobalLayoutListener() { + @Override + public void onGlobalLayout() { + int w = v.getWidth(), h = v.getHeight(); + if (w != lastW || h != lastH) { + lastW = w; + lastH = h; + if (w > 0 && h > 0) nativeOnResize(w, h); + } + } + }); + + return v; + } + + // Renderer gone: destroy the dead view, build an identical one, reload. + // Inject JS persists, so bindings come back with the page. True = handled. + // API 26+ only. + private boolean handleRenderCrash(WebView view, android.webkit.RenderProcessGoneDetail detail) { + boolean crashed = detail != null && detail.didCrash(); + Log.w(TAG, "WebView render process " + (crashed ? "crashed" : "killed by system") + + "; rebuilding view, lastUrl=" + lastUrl); + if (view != null) view.destroy(); + lastW = lastH = -1; + webView = createWebView(); + setContentView(webView); + long now = System.currentTimeMillis(); + if (now - lastCrashMs > 10000) crashCount = 0; + lastCrashMs = now; + // Same page crashing repeatedly: rebuild empty, stop reloading it. + if (++crashCount > 3) { + Log.e(TAG, "WebView crashed repeatedly; showing empty view"); + return true; + } + if (!lastHtml.isEmpty()) renderHtml(webView, lastHtml); + else if (!lastUrl.isEmpty()) webView.loadUrl(lastUrl); + return true; + } + + private void renderHtml(WebView v, String html) { + if (v != null) v.loadDataWithBaseURL(null, html, "text/html", "UTF-8", null); + } + + @Override + public void onWindowFocusChanged(boolean hasFocus) { + super.onWindowFocusChanged(hasFocus); + nativeOnFocusChanged(hasFocus); + } + + @Override + public void onBackPressed() { + if (webView != null && webView.canGoBack()) { + webView.goBack(); + } else { + nativeOnClose(); + super.onBackPressed(); + } + } + + @Override + protected void onDestroy() { + // Rotation destroys too; only a real finish kills the worker. + if (isFinishing()) { + destroyed = true; + nativeDestroy(); + } + if (webView != null) { + webView.destroy(); + webView = null; + } + super.onDestroy(); + } + + /* ------------------------------------------------------------------ */ + /* Called from native (worker thread unless noted) */ + /* ------------------------------------------------------------------ */ + + public void evalJs(final String js) { + if (destroyed || webView == null) return; + runOnUiThread(new Runnable() { + @Override + public void run() { + if (webView != null) webView.evaluateJavascript(js, null); + } + }); + } + + public void loadUrl(final String url) { + if (destroyed || webView == null) return; + runOnUiThread(new Runnable() { + @Override + public void run() { + if (webView != null) webView.loadUrl(url); + } + }); + } + + public void loadHtml(final String html) { + if (destroyed || webView == null) return; + lastHtml = (html == null) ? "" : html; + runOnUiThread(new Runnable() { + @Override + public void run() { + renderHtml(webView, html); + } + }); + } + + public void goBack() { + if (destroyed || webView == null) return; + runOnUiThread(new Runnable() { + @Override + public void run() { + if (webView != null && webView.canGoBack()) webView.goBack(); + } + }); + } + + public void goForward() { + if (destroyed || webView == null) return; + runOnUiThread(new Runnable() { + @Override + public void run() { + if (webView != null && webView.canGoForward()) webView.goForward(); + } + }); + } + + public void reload() { + if (destroyed || webView == null) return; + runOnUiThread(new Runnable() { + @Override + public void run() { + if (webView != null) webView.reload(); + } + }); + } + + // Sync URL query; blocks the caller on the UI thread. + public String getUrlSync() { + if (destroyed || webView == null) return ""; + if (Looper.myLooper() == Looper.getMainLooper()) { + String u = webView.getUrl(); + return u == null ? "" : u; + } + final AtomicReference ref = new AtomicReference(""); + final CountDownLatch latch = new CountDownLatch(1); + runOnUiThread(new Runnable() { + @Override + public void run() { + String u = (webView != null) ? webView.getUrl() : null; + ref.set(u == null ? "" : u); + latch.countDown(); + } + }); + try { + boolean ok = latch.await(SYNC_TIMEOUT_MS, TimeUnit.MILLISECONDS); + if (!ok) { + Log.w(TAG, "getUrlSync timed out after " + SYNC_TIMEOUT_MS + "ms; returning \"\""); + } + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + Log.w(TAG, "getUrlSync interrupted; returning \"\""); + } + return ref.get(); + } + + // Sync title query; blocks the caller on the UI thread. + public String getTitleSync() { + if (destroyed || webView == null) return ""; + if (Looper.myLooper() == Looper.getMainLooper()) { + String t = webView.getTitle(); + return t == null ? "" : t; + } + final AtomicReference ref = new AtomicReference(""); + final CountDownLatch latch = new CountDownLatch(1); + runOnUiThread(new Runnable() { + @Override + public void run() { + String t = (webView != null) ? webView.getTitle() : null; + ref.set(t == null ? "" : t); + latch.countDown(); + } + }); + try { + boolean ok = latch.await(SYNC_TIMEOUT_MS, TimeUnit.MILLISECONDS); + if (!ok) { + Log.w(TAG, "getTitleSync timed out after " + SYNC_TIMEOUT_MS + "ms; returning \"\""); + } + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + Log.w(TAG, "getTitleSync interrupted; returning \"\""); + } + return ref.get(); + } + + public void setDebug(final boolean enabled) { + // setWebContentsDebuggingEnabled must run on the UI thread. + runOnUiThread(new Runnable() { + @Override + public void run() { + WebView.setWebContentsDebuggingEnabled(enabled); + } + }); + } + + // Script re-injected after every page load. + public void setInjectJs(String js) { + injectJs = (js == null) ? "" : js; + } + + public void finishApp() { + if (destroyed) return; + runOnUiThread(new Runnable() { + @Override + public void run() { + finish(); + } + }); + } + + /* ------------------------------------------------------------------ */ + /* JavaScript bridge */ + /* ------------------------------------------------------------------ */ + + // TRUST BOUNDARY: every page, remote included, can call any bound Ring + // function by name. Validate args; no privileged ops. + private class RingBridge { + @JavascriptInterface + public void call(String name, String id, String req) { + nativeOnBridgeCall(name, id, req); + } + } + + /* ------------------------------------------------------------------ */ + /* Native methods (implemented in ring_webview_android.c) */ + /* ------------------------------------------------------------------ */ + + private native void nativeStart(); + private native void nativeDestroy(); + private native void nativeOnBridgeCall(String name, String id, String req); + private native void nativeOnPageStarted(String url); + private native void nativeOnPageFinished(String url); + private native void nativeOnClose(); + private native void nativeOnTitleChanged(String title); + private native void nativeOnFocusChanged(boolean focused); + private native void nativeOnResize(int width, int height); +} diff --git a/src/android/proguard-webview.pro b/src/android/proguard-webview.pro new file mode 100644 index 0000000..8c4573a --- /dev/null +++ b/src/android/proguard-webview.pro @@ -0,0 +1,17 @@ +# Ring WebView Android backend — ProGuard / R8 keep rules. +# +# The native backend (ring_webview_android.c) looks up MainActivity methods by +# string name via GetMethodID, and the JS bridge entry point is reached by +# reflection (@JavascriptInterface). With minification enabled, R8 would rename +# or strip them and the bridge would break silently at runtime (UnsatisfiedLink +# errors never fire — calls just stop arriving). +# +# Pass this file to the APK packager (ring2apk) whenever minify is enabled. +# Without minification it is inert documentation of the reflective boundary. + +-keep class io.github.ysdragon.webview.MainActivity { + *; +} +-keepclassmembers class io.github.ysdragon.webview.MainActivity$RingBridge { + *; +} diff --git a/src/c_src/ring_webview_android.c b/src/c_src/ring_webview_android.c new file mode 100644 index 0000000..3a16f88 --- /dev/null +++ b/src/c_src/ring_webview_android.c @@ -0,0 +1,2197 @@ +/* + * ring_webview_android.c + * + * Copyright (c) Youssef Saeed + * All rights reserved. + * + * Android backend: same `webview_*` Ring C-API as ring_webview.c, + * backed by android.webkit.WebView through JNI. + * + * UI thread (Java) owns the WebView; JNI entry points only enqueue. + * Worker thread (C) owns the Ring VM and runs the job queue. + * g_on* names are worker-only; JNI enqueues raw events, never reads them. + * Flags are C11 atomics; queue is bounded + condvar (no polling). + * C->Java calls hold g_activityMutex; rotation swaps under the same lock. + * Java host is io.github.ysdragon.webview.MainActivity (static JNI naming). + * + * RingBridge is callable by any page JS, remote included. Validate bind args. + */ + +#include "ring.h" + +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +#define LOG_TAG "RingWebView" +#define LOGI(...) __android_log_print(ANDROID_LOG_INFO, LOG_TAG, __VA_ARGS__) +#define LOGE(...) __android_log_print(ANDROID_LOG_ERROR, LOG_TAG, __VA_ARGS__) + +// Webview version this binding tracks. +#define RING_WEBVIEW_ANDROID_VERSION "0.12.0" + +#define RING_WEBVIEW_UI_TIMEOUT_MS 5000 + +// Provided by the app's main.c: creates the Ring state, runs the bytecode. +extern void ring_app_main(void); + +/* ============================================================================ + * Globals + * ============================================================================ + */ + +static JavaVM *g_jvm = NULL; +// Global refs: MainActivity + AssetManager. +static jobject g_activity = NULL; +static jobject g_assetMgrJava = NULL; +static AAssetManager *g_assetMgr = NULL; +static char g_basePath[1024] = {0}; +static char g_apkPath[1024] = {0}; + +/* Cached Activity method IDs */ +static jmethodID mid_evalJs = NULL; +static jmethodID mid_loadUrl = NULL; +static jmethodID mid_loadHtml = NULL; +static jmethodID mid_goBack = NULL; +static jmethodID mid_goForward = NULL; +static jmethodID mid_reload = NULL; +static jmethodID mid_getUrlSync = NULL; +static jmethodID mid_getTitleSync = NULL; +static jmethodID mid_setDebug = NULL; +static jmethodID mid_setInjectJs = NULL; +static jmethodID mid_finishApp = NULL; + +/* Cached AssetManager.list method ID */ +static jmethodID mid_assetList = NULL; + +// Set in webview_create (worker thread). +static RingState *g_ringState = NULL; + +// Atomics: shared between UI/JNI threads and the worker. +static atomic_int g_running = 0; +static atomic_int g_terminate = 0; +static atomic_int g_webviewCreated = 0; +static pthread_t g_workerThread; +// UI thread only (nativeStart), before the worker exists. +static int g_workerStarted = 0; + +// Worker-only: written by SET_EVENT, read by process_job. +static char *g_onClose = NULL; +static char *g_onLoad = NULL; +static char *g_onDomReady = NULL; +static char *g_onNavigate = NULL; +static char *g_onTitle = NULL; +static char *g_onFocus = NULL; +static char *g_onResize = NULL; + +/* Bound functions: jsName -> ringFuncName */ +#define MAX_BINDS 256 +static char *g_bindJsName[MAX_BINDS]; +static char *g_bindRingFunc[MAX_BINDS]; +static int g_bindCount = 0; + +/* Init scripts injected on every page load */ +#define MAX_INIT_SCRIPTS 64 +static char *g_initScripts[MAX_INIT_SCRIPTS]; +static int g_initScriptCount = 0; + +/* ============================================================================ + * Job queue (Java threads -> worker thread) + * ============================================================================ + */ + +// JNI enqueues; worker resolves g_on* at process time. +typedef enum +{ + JOB_BIND_CALL, /* name=jsName, id, req */ + JOB_PAGE_STARTED, /* arg=url (may be NULL) */ + JOB_PAGE_FINISHED, /* arg=url (may be NULL) */ + JOB_TITLE_CHANGED, /* arg=title */ + JOB_FOCUS_CHANGED, /* arg="true"/"false" (window focus, desktop parity) */ + JOB_RESIZED, /* arg="WIDTHxHEIGHT" */ + JOB_CLOSE, /* no arg */ + JOB_DISPATCH, /* req=Ring code */ + JOB_REATTACH, /* no arg: re-push shim+scripts (rotation) */ + JOB_TERMINATE +} JobType; + +typedef struct Job +{ + JobType type; + char *name; + char *id; + char *req; + char *arg; + struct Job *next; +} Job; + +static Job *g_queueHead = NULL; +static Job *g_queueTail = NULL; +static pthread_mutex_t g_queueMutex = PTHREAD_MUTEX_INITIALIZER; +static pthread_cond_t g_queueCond = PTHREAD_COND_INITIALIZER; +// Drop page/bind jobs past this depth; TERMINATE/REATTACH always pass. +#define RING_WEBVIEW_MAX_QUEUE 4096 +// Guarded by g_queueMutex. +static int g_queueLen = 0; + +// Guards g_activity swaps (rotation) vs in-flight JNI calls. +static pthread_mutex_t g_activityMutex = PTHREAD_MUTEX_INITIALIZER; + +static void free_job(Job *job); + +static char *xstrdup(const char *s) +{ + size_t n; + char *p; + if (!s) + return NULL; + n = strlen(s); + p = (char *)malloc(n + 1); + if (p) + { + memcpy(p, s, n); + p[n] = '\0'; + } + return p; +} + +static void enqueue_job(Job *job) +{ + pthread_mutex_lock(&g_queueMutex); + if (g_queueLen >= RING_WEBVIEW_MAX_QUEUE && job->type != JOB_TERMINATE && job->type != JOB_REATTACH) + { + pthread_mutex_unlock(&g_queueMutex); + LOGE("job queue full (%d); dropping type %d", RING_WEBVIEW_MAX_QUEUE, (int)job->type); + free_job(job); + return; + } + job->next = NULL; + if (g_queueTail) + g_queueTail->next = job; + else + g_queueHead = job; + g_queueTail = job; + g_queueLen++; + pthread_cond_signal(&g_queueCond); + pthread_mutex_unlock(&g_queueMutex); +} + +// Worker pop: waits on condvar. NULL = terminated and empty. +static Job *dequeue_job_blocking(void) +{ + Job *job; + pthread_mutex_lock(&g_queueMutex); + while (!g_queueHead && !atomic_load_explicit(&g_terminate, memory_order_acquire)) + pthread_cond_wait(&g_queueCond, &g_queueMutex); + job = g_queueHead; + if (job) + { + g_queueHead = job->next; + if (!g_queueHead) + g_queueTail = NULL; + job->next = NULL; + g_queueLen--; + } + pthread_mutex_unlock(&g_queueMutex); + return job; +} + +static void queue_signal_all(void) +{ + pthread_mutex_lock(&g_queueMutex); + pthread_cond_broadcast(&g_queueCond); + pthread_mutex_unlock(&g_queueMutex); +} + +// Drain pop; NULL when empty. +static Job *try_dequeue_job(void) +{ + Job *job; + pthread_mutex_lock(&g_queueMutex); + job = g_queueHead; + if (job) + { + g_queueHead = job->next; + if (!g_queueHead) + g_queueTail = NULL; + job->next = NULL; + g_queueLen--; + } + pthread_mutex_unlock(&g_queueMutex); + return job; +} + +static void free_job(Job *job) +{ + if (!job) + return; + if (job->name) + free(job->name); + if (job->id) + free(job->id); + if (job->req) + free(job->req); + if (job->arg) + free(job->arg); + free(job); +} + +static void enqueue_bind_call(const char *name, const char *id, const char *req) +{ + Job *job = (Job *)calloc(1, sizeof(Job)); + if (!job) + return; + job->type = JOB_BIND_CALL; + job->name = xstrdup(name); + job->id = xstrdup(id); + job->req = xstrdup(req); + enqueue_job(job); +} + +static void enqueue_raw_event(JobType type, const char *arg) +{ + Job *job = (Job *)calloc(1, sizeof(Job)); + if (!job) + return; + job->type = type; + job->arg = arg ? xstrdup(arg) : NULL; + enqueue_job(job); +} + +static void enqueue_dispatch(const char *code) +{ + Job *job = (Job *)calloc(1, sizeof(Job)); + if (!job) + return; + job->type = JOB_DISPATCH; + job->req = xstrdup(code); + enqueue_job(job); +} + +static void enqueue_terminate(void) +{ + Job *job = (Job *)calloc(1, sizeof(Job)); + if (!job) + return; + job->type = JOB_TERMINATE; + enqueue_job(job); +} + +/* ============================================================================ + * JNI helpers + * ============================================================================ + */ + +static JNIEnv *get_env(void) +{ + JNIEnv *env = NULL; + jint rc; + if (!g_jvm) + return NULL; + rc = (*g_jvm)->GetEnv(g_jvm, (void **)&env, JNI_VERSION_1_6); + if (rc == JNI_EDETACHED) + { + if ((*g_jvm)->AttachCurrentThread(g_jvm, &env, NULL) != 0) + return NULL; + } + return env; +} + +// Hold g_activityMutex for the whole call; rotation swaps under the same lock. +static void call_java_void_string(jmethodID mid, const char *value) +{ + JNIEnv *env = get_env(); + jstring s; + jobject activity; + if (!env || !mid) + return; + pthread_mutex_lock(&g_activityMutex); + activity = g_activity; + if (!activity) + { + pthread_mutex_unlock(&g_activityMutex); + return; + } + s = (*env)->NewStringUTF(env, value ? value : ""); + if (!s) + { + if ((*env)->ExceptionCheck(env)) + (*env)->ExceptionClear(env); + LOGE("NewStringUTF OOM; dropping Java call"); + pthread_mutex_unlock(&g_activityMutex); + return; + } + (*env)->CallVoidMethod(env, activity, mid, s); + (*env)->DeleteLocalRef(env, s); + if ((*env)->ExceptionCheck(env)) + { + (*env)->ExceptionDescribe(env); + (*env)->ExceptionClear(env); + } + pthread_mutex_unlock(&g_activityMutex); +} + +static void call_java_void(jmethodID mid) +{ + JNIEnv *env = get_env(); + jobject activity; + if (!env || !mid) + return; + pthread_mutex_lock(&g_activityMutex); + activity = g_activity; + if (!activity) + { + pthread_mutex_unlock(&g_activityMutex); + return; + } + (*env)->CallVoidMethod(env, activity, mid); + if ((*env)->ExceptionCheck(env)) + { + (*env)->ExceptionDescribe(env); + (*env)->ExceptionClear(env); + } + pthread_mutex_unlock(&g_activityMutex); +} + +// Blocks the worker on the Java latch. Timeout reads back as "". +static char *call_java_string_sync(jmethodID mid) +{ + JNIEnv *env = get_env(); + jstring s; + const char *utf; + char *result = NULL; + jobject activity; + if (!env || !mid) + return xstrdup(""); + pthread_mutex_lock(&g_activityMutex); + activity = g_activity; + if (!activity) + { + pthread_mutex_unlock(&g_activityMutex); + return xstrdup(""); + } + s = (jstring)(*env)->CallObjectMethod(env, activity, mid); + if ((*env)->ExceptionCheck(env)) + { + (*env)->ExceptionDescribe(env); + (*env)->ExceptionClear(env); + pthread_mutex_unlock(&g_activityMutex); + return xstrdup(""); + } + pthread_mutex_unlock(&g_activityMutex); + if (!s) + { + // Null = latch timeout/interrupt (Java logs too). + LOGE("sync query timed out; returning \"\""); + return xstrdup(""); + } + utf = (*env)->GetStringUTFChars(env, s, NULL); + if (!utf) + { + if ((*env)->ExceptionCheck(env)) + (*env)->ExceptionClear(env); + LOGE("GetStringUTFChars OOM on sync query result"); + (*env)->DeleteLocalRef(env, s); + return xstrdup(""); + } + result = xstrdup(utf); + (*env)->ReleaseStringUTFChars(env, s, utf); + (*env)->DeleteLocalRef(env, s); + return result ? result : xstrdup(""); +} + +// Escape for a single-quoted JS string. +static char *js_escape(const char *s) +{ + size_t len, cap; + char *out, *o; + const unsigned char *p; + if (!s) + return xstrdup(""); + len = strlen(s); + cap = len * 6 + 1; + out = (char *)malloc(cap); + if (!out) + return xstrdup(""); + o = out; + for (p = (const unsigned char *)s; *p; p++) + { + unsigned char c = *p; + switch (c) + { + case '\\': + *o++ = '\\'; + *o++ = '\\'; + break; + case '\'': + *o++ = '\\'; + *o++ = '\''; + break; + case '\n': + *o++ = '\\'; + *o++ = 'n'; + break; + case '\r': + *o++ = '\\'; + *o++ = 'r'; + break; + case '\t': + *o++ = '\\'; + *o++ = 't'; + break; + default: + if (c < 0x20) + o += sprintf(o, "\\x%02x", c); + else + *o++ = (char)c; + } + } + *o = '\0'; + return out; +} + +/* ============================================================================ + * JS injection shim (Promise-based bind protocol, matches desktop webview) + * ============================================================================ + */ + +static const char *BASE_SHIM = "(function(){" + "if(window.__ringwebview){return;}" + "window.__ringwebview={seq:0,pending:{}};" + "window.__ringwebview.result=function(id,status,json){" + "var p=window.__ringwebview.pending[id];" + "if(!p){return;}" + "delete window.__ringwebview.pending[id];" + "var data;try{data=JSON.parse(json);}catch(e){data=json;}" + "if(status===0){p.resolve(data);}else{p.reject(data);}" + "};" + "})();"; + +// Safe to eval anytime: shim guards re-init, wrappers re-assign. +// PREFIX + escName + SUFFIX, sized exactly. +static const char *BIND_WRAPPER_PREFIX = "(function(){var n='"; +static const char *BIND_WRAPPER_SUFFIX = + "';" + "window[n]=function(){" + "var a=Array.prototype.slice.call(arguments);" + "var id=String(++window.__ringwebview.seq);" + "return new Promise(function(res,rej){" + "window.__ringwebview.pending[id]={resolve:res,reject:rej};" + "RingBridge.call(n,id,JSON.stringify(a));" + "});};" + "})();"; + +static char *build_bind_js(void) +{ + // Escape first, then size from escaped lengths (js_escape expands up to 6x). + char *escNames[MAX_BINDS]; + size_t cap = strlen(BASE_SHIM) + 1; + char *js, *o; + int i; + if (g_bindCount < 0 || g_bindCount > MAX_BINDS) + return NULL; + for (i = 0; i < g_bindCount; i++) + { + if (!g_bindJsName[i]) + { + while (--i >= 0) + free(escNames[i]); + return NULL; + } + escNames[i] = js_escape(g_bindJsName[i]); + if (!escNames[i]) + { + while (--i >= 0) + free(escNames[i]); + return NULL; + } + cap += strlen(BIND_WRAPPER_PREFIX) + strlen(escNames[i]) + strlen(BIND_WRAPPER_SUFFIX); + } + + js = (char *)malloc(cap); + if (!js) + { + for (i = 0; i < g_bindCount; i++) + free(escNames[i]); + return NULL; + } + o = js; + // Clamp: truncation must not run past the allocation. + { + size_t rem = cap - (size_t)(o - js); + int w = snprintf(o, rem, "%s", BASE_SHIM); + o += (w < 0) ? 0 : ((size_t)w >= rem ? rem - 1 : (size_t)w); + } + + for (i = 0; i < g_bindCount; i++) + { + size_t rem = cap - (size_t)(o - js); + int w = snprintf(o, rem, "%s%s%s", BIND_WRAPPER_PREFIX, escNames[i], BIND_WRAPPER_SUFFIX); + o += (w < 0) ? 0 : ((size_t)w >= rem ? rem - 1 : (size_t)w); + free(escNames[i]); + } + return js; +} + +// Store for re-inject on page load; eval now for the current page. +static void rebuild_inject_js(void) +{ + size_t cap; + char *full, *o, *bindJs; + int i; + + bindJs = build_bind_js(); + if (!bindJs) + return; + + // +64 covers the 33-char wrapper; snprintf truncates on miscount. + cap = strlen(bindJs) + 1 + 64; + for (i = 0; i < g_initScriptCount; i++) + cap += strlen(g_initScripts[i]) + 64; + + full = (char *)malloc(cap); + if (full) + { + size_t left = cap; + o = full; + { + size_t rem = left - (size_t)(o - full); + int w = snprintf(o, rem, "%s", bindJs); + o += (w < 0) ? 0 : ((size_t)w >= rem ? rem - 1 : (size_t)w); + } + for (i = 0; i < g_initScriptCount; i++) + { + size_t rem = left - (size_t)(o - full); + int w = snprintf(o, rem, "(function(){try{%s}catch(e){}})();", g_initScripts[i]); + o += (w < 0) ? 0 : ((size_t)w >= rem ? rem - 1 : (size_t)w); + } + call_java_void_string(mid_setInjectJs, full); + free(full); + } + + call_java_void_string(mid_evalJs, bindJs); + free(bindJs); +} + +#include "ring_webview_json.h" + +/* ============================================================================ + * Ring callback execution (worker thread) + * ============================================================================ + */ + +static void call_ring_func(const char *cCallback, const char *cArg) +{ + VM *pVM; + unsigned int nSP_before, nFuncSP_before, nCallListSize_before; + + if (!g_ringState || !cCallback) + return; + pVM = g_ringState->pVM; + if (!pVM) + return; + if (!atomic_load_explicit(&g_running, memory_order_acquire)) + return; + + ring_vm_mutexlock(pVM); + + nSP_before = pVM->nSP; + nFuncSP_before = pVM->nFuncSP; + nCallListSize_before = RING_VM_FUNCCALLSCOUNT; + + if (!ring_vm_loadfunc2(pVM, (char *)cCallback, RING_FALSE)) + { + pVM->nSP = nSP_before; + pVM->nFuncSP = nFuncSP_before; + ring_vm_mutexunlock(pVM); + return; + } + + if (cArg) + { + RING_VM_STACK_PUSHCVALUE2(cArg, strlen(cArg)); + } + + ring_vm_call2(pVM); + while (RING_VM_FUNCCALLSCOUNT > nCallListSize_before) + ring_vm_fetch(pVM); + + pVM->nSP = nSP_before; + pVM->nFuncSP = nFuncSP_before; + + ring_vm_mutexunlock(pVM); +} + +static void call_ring_bind_func(const char *cFunc, const char *id, const char *req) +{ + VM *pVM; + unsigned int nSP_before, nFuncSP_before, nCallListSize_before; + + if (!g_ringState || !cFunc) + return; + pVM = g_ringState->pVM; + if (!pVM) + return; + if (!atomic_load_explicit(&g_running, memory_order_acquire)) + return; + + ring_vm_mutexlock(pVM); + + nSP_before = pVM->nSP; + nFuncSP_before = pVM->nFuncSP; + nCallListSize_before = RING_VM_FUNCCALLSCOUNT; + + if (!ring_vm_loadfunc2(pVM, (char *)cFunc, RING_FALSE)) + { + pVM->nSP = nSP_before; + pVM->nFuncSP = nFuncSP_before; + ring_vm_mutexunlock(pVM); + return; + } + + RING_VM_STACK_PUSHCVALUE2(id ? id : "", id ? strlen(id) : 0); + + // req = JSON array of JS args; pass as Ring list. + { + List *pReqList = json_decode_to_ring_list(pVM, req); + if (!pReqList) + { + LOGE("bind call \"%s\": invalid JSON request; passing an empty list", cFunc); + pReqList = ring_vm_api_newlist(pVM); + } + ring_vm_api_retlist2(pVM, pReqList, RING_OUTPUT_RETLISTBYREF); + } + + ring_vm_call2(pVM); + while (RING_VM_FUNCCALLSCOUNT > nCallListSize_before) + ring_vm_fetch(pVM); + + pVM->nSP = nSP_before; + pVM->nFuncSP = nFuncSP_before; + + ring_vm_mutexunlock(pVM); +} + +static const char *find_ring_func(const char *jsName) +{ + int i; + if (!jsName) + return NULL; + for (i = 0; i < g_bindCount; i++) + { + if (g_bindJsName[i] && strcmp(g_bindJsName[i], jsName) == 0) + return g_bindRingFunc[i]; + } + return NULL; +} + +// Worker-only state; JNI never touches it. +static void process_job(Job *job) +{ + if (!job) + return; + switch (job->type) + { + case JOB_BIND_CALL: { + const char *fn = find_ring_func(job->name); + if (fn) + call_ring_bind_func(fn, job->id, job->req); + else + LOGE("No Ring binding for JS function: %s", job->name ? job->name : "?"); + break; + } + case JOB_PAGE_STARTED: + if (g_onLoad) + call_ring_func(g_onLoad, "started"); + if (g_onNavigate && job->arg) + call_ring_func(g_onNavigate, job->arg); + break; + case JOB_PAGE_FINISHED: + if (g_onLoad) + call_ring_func(g_onLoad, "finished"); + if (g_onDomReady) + call_ring_func(g_onDomReady, NULL); + break; + case JOB_TITLE_CHANGED: + if (g_onTitle && job->arg) + call_ring_func(g_onTitle, job->arg); + break; + case JOB_FOCUS_CHANGED: + if (g_onFocus && job->arg) + call_ring_func(g_onFocus, job->arg); + break; + case JOB_RESIZED: + if (g_onResize && job->arg) + call_ring_func(g_onResize, job->arg); + break; + case JOB_CLOSE: + if (g_onClose) + call_ring_func(g_onClose, NULL); + break; + case JOB_DISPATCH: + if (g_ringState && g_ringState->pVM && job->req) + ring_vm_runcodefromthread(g_ringState->pVM, job->req); + break; + case JOB_REATTACH: + // Re-push shim+scripts; tables stay single-threaded. + rebuild_inject_js(); + break; + case JOB_TERMINATE: + atomic_store_explicit(&g_terminate, 1, memory_order_release); + break; + } +} + +/* ============================================================================ + * Asset extraction (APK assets -> filesDir) via JNI AssetManager.list() + * ============================================================================ + */ + +static void mkdirs_for(const char *path) +{ + char tmp[1024]; + char *p; + size_t len; + int n; + if (!path || !*path) + return; + n = snprintf(tmp, sizeof(tmp), "%s", path); + if (n < 0 || (size_t)n >= sizeof(tmp)) + { + LOGE("path too long, skipping mkdirs: %.64s...", path); + return; + } + len = strlen(tmp); + if (len > 0 && tmp[len - 1] == '/') + tmp[len - 1] = '\0'; + for (p = tmp + 1; *p; p++) + { + if (*p == '/') + { + *p = '\0'; + mkdir(tmp, 0755); + *p = '/'; + } + } +} + +static int asset_is_file(const char *assetPath) +{ + AAsset *asset; + if (!g_assetMgr) + return 0; + asset = AAssetManager_open(g_assetMgr, assetPath, AASSET_MODE_STREAMING); + if (asset) + { + AAsset_close(asset); + return 1; + } + return 0; +} + +static void extract_asset_file(const char *assetPath, const char *destPath) +{ + AAsset *asset; + off_t length; + char buf[8192]; + int rd; + FILE *out; + + if (!g_assetMgr) + return; + asset = AAssetManager_open(g_assetMgr, assetPath, AASSET_MODE_STREAMING); + if (!asset) + { + LOGE("Cannot open asset: %s", assetPath); + return; + } + length = AAsset_getLength(asset); + (void)length; + + mkdirs_for(destPath); + out = fopen(destPath, "wb"); + if (!out) + { + LOGE("Cannot write: %s", destPath); + AAsset_close(asset); + return; + } + while ((rd = AAsset_read(asset, buf, sizeof(buf))) > 0) + fwrite(buf, 1, rd, out); + fclose(out); + AAsset_close(asset); + LOGI("Extracted: %s", assetPath); +} + +static void extract_dir(JNIEnv *env, const char *assetDir, const char *destDir) +{ + jstring jdir; + jobjectArray entries; + jsize n, i; + + if (!env || !g_assetMgrJava || !mid_assetList) + return; + + jdir = (*env)->NewStringUTF(env, assetDir ? assetDir : ""); + if (!jdir) + { + if ((*env)->ExceptionCheck(env)) + (*env)->ExceptionClear(env); + LOGE("NewStringUTF OOM in extract_dir"); + return; + } + entries = (jobjectArray)(*env)->CallObjectMethod(env, g_assetMgrJava, mid_assetList, jdir); + (*env)->DeleteLocalRef(env, jdir); + if ((*env)->ExceptionCheck(env)) + { + (*env)->ExceptionDescribe(env); + (*env)->ExceptionClear(env); + return; + } + if (!entries) + return; + + n = (*env)->GetArrayLength(env, entries); + for (i = 0; i < n; i++) + { + jstring jname = (jstring)(*env)->GetObjectArrayElement(env, entries, i); + const char *name; + char assetPath[1024]; + char destPath[1024]; + int na, nd; + if (!jname) + continue; + if ((*env)->ExceptionCheck(env)) + { + (*env)->ExceptionClear(env); + continue; + } + name = (*env)->GetStringUTFChars(env, jname, NULL); + if (!name) + { + if ((*env)->ExceptionCheck(env)) + (*env)->ExceptionClear(env); + LOGE("GetStringUTFChars OOM in extract_dir"); + (*env)->DeleteLocalRef(env, jname); + continue; + } + + if (assetDir && assetDir[0]) + na = snprintf(assetPath, sizeof(assetPath), "%s/%s", assetDir, name); + else + na = snprintf(assetPath, sizeof(assetPath), "%s", name); + nd = snprintf(destPath, sizeof(destPath), "%s/%s", destDir, name); + if (na < 0 || (size_t)na >= sizeof(assetPath) || nd < 0 || (size_t)nd >= sizeof(destPath)) + { + LOGE("asset path too long, skipping: %.64s", name); + (*env)->ReleaseStringUTFChars(env, jname, name); + (*env)->DeleteLocalRef(env, jname); + continue; + } + + if (asset_is_file(assetPath)) + { + extract_asset_file(assetPath, destPath); + } + else + { + mkdir(destPath, 0755); + extract_dir(env, assetPath, destPath); + } + + (*env)->ReleaseStringUTFChars(env, jname, name); + (*env)->DeleteLocalRef(env, jname); + } + (*env)->DeleteLocalRef(env, entries); +} + +// 1 = assets present or unreadable (extract); 0 = confirmed none. +static int apk_has_assets(const char *path) +{ + FILE *f; + long fsize, scanStart, cdSize, p, i, eocd = -1; + static unsigned char buf[65557]; + unsigned char *cd; + unsigned int nEntries, e; + int found; + + if (!path || !*path) + return 1; + f = fopen(path, "rb"); + if (!f) + return 1; + if (fseek(f, 0, SEEK_END) != 0 || (fsize = ftell(f)) < 22) + { + fclose(f); + return 1; + } + + // Find EOCD scanning backwards. + scanStart = fsize - (long)sizeof(buf); + if (scanStart < 0) + scanStart = 0; + if (fseek(f, scanStart, SEEK_SET) != 0) + { + fclose(f); + return 1; + } + { + long n = (long)fread(buf, 1, sizeof(buf), f); + for (i = n - 22; i >= 0; i--) + if (buf[i] == 0x50 && buf[i + 1] == 0x4b && buf[i + 2] == 0x05 && buf[i + 3] == 0x06) + { + eocd = i; + break; + } + } + if (eocd < 0) + { + fclose(f); + return 1; + } + + nEntries = (unsigned int)(buf[eocd + 10] | (buf[eocd + 11] << 8)); + { + long cdOff = (long)((unsigned int)(buf[eocd + 16] | (buf[eocd + 17] << 8) | (buf[eocd + 18] << 16) | + ((unsigned int)buf[eocd + 19] << 24))); + if (nEntries == 0) + { + fclose(f); + return 0; + } + if (nEntries == 0xFFFF || cdOff < 0 || cdOff >= fsize) + { + fclose(f); + // zip64/malformed: extract. + return 1; + } + + cdSize = fsize - cdOff; + // Cap the transient malloc; fall back to extracting. + if (cdSize > (long)(8 * 1024 * 1024)) + { + fclose(f); + LOGI("APK central dir too large (%ld); assuming assets exist", cdSize); + return 1; + } + cd = (unsigned char *)malloc((size_t)cdSize); + if (!cd) + { + fclose(f); + return 1; + } + if (fseek(f, cdOff, SEEK_SET) != 0 || fread(cd, 1, (size_t)cdSize, f) != (size_t)cdSize) + { + free(cd); + fclose(f); + return 1; + } + fclose(f); + + found = 0; + for (e = 0, p = 0; e < nEntries; e++) + { + unsigned int nameLen, extraLen, commentLen; + if (p + 46 > cdSize) + break; + if (!(cd[p] == 0x50 && cd[p + 1] == 0x4b && cd[p + 2] == 0x01 && cd[p + 3] == 0x02)) + break; + nameLen = (unsigned int)(cd[p + 28] | (cd[p + 29] << 8)); + extraLen = (unsigned int)(cd[p + 30] | (cd[p + 31] << 8)); + commentLen = (unsigned int)(cd[p + 32] | (cd[p + 33] << 8)); + if (nameLen >= 7 && memcmp(cd + p + 46, "assets/", 7) == 0) + { + found = 1; + break; + } + p += 46 + nameLen + extraLen + commentLen; + } + free(cd); + } + return found; +} + +static void extract_assets(void) +{ + JNIEnv *env = get_env(); + if (!env) + return; + // Skip when the APK has no assets/ (merged providers would dump junk). + if (!apk_has_assets(g_apkPath)) + { + LOGI("No app assets; skipping extraction"); + return; + } + mkdir(g_basePath, 0755); + extract_dir(env, "", g_basePath); +} + +/* ============================================================================ + * stdout/stderr -> logcat pipe (so Ring `see` output is visible in logcat) + * ============================================================================ + */ + +static int g_logPipe[2]; +static pthread_t g_logThread; +static atomic_int g_loggerStarted = 0; + +static void *log_thread(void *arg) +{ + ssize_t rdsz; + char buf[256]; + (void)arg; + while ((rdsz = read(g_logPipe[0], buf, sizeof(buf) - 1)) > 0) + { + buf[rdsz] = '\0'; + __android_log_write(ANDROID_LOG_INFO, "RingOutput", buf); + } + return NULL; +} + +static void start_logger(void) +{ + // Detached thread, process lifetime; single-start for rotation. + if (atomic_exchange_explicit(&g_loggerStarted, 1, memory_order_acq_rel)) + return; + setvbuf(stdout, 0, _IOLBF, 0); + setvbuf(stderr, 0, _IONBF, 0); + if (pipe(g_logPipe) != 0) + { + atomic_store_explicit(&g_loggerStarted, 0, memory_order_release); + return; + } + dup2(g_logPipe[1], 1); + dup2(g_logPipe[1], 2); + if (pthread_create(&g_logThread, 0, log_thread, 0) != 0) + return; + pthread_detach(g_logThread); +} + +/* ============================================================================ + * Worker thread: runs the Ring VM + * ============================================================================ + */ + +static void *worker_thread(void *arg) +{ + JNIEnv *env = NULL; + + (void)arg; + if (g_jvm) + (*g_jvm)->AttachCurrentThread(g_jvm, &env, NULL); + + LOGI("Worker started, base path: %s", g_basePath); + + start_logger(); + + extract_assets(); + if (chdir(g_basePath) != 0) + LOGE("chdir failed: %s", g_basePath); + + // Ring loading lives in the app's main.c. + ring_app_main(); + LOGI("Ring app finished"); + + // Finish the Activity if still alive. + call_java_void(mid_finishApp); + + // Worker is the last native user; drop global refs. + { + JNIEnv *cleanEnv = NULL; + if (g_jvm && (*g_jvm)->GetEnv(g_jvm, (void **)&cleanEnv, JNI_VERSION_1_6) == JNI_OK && cleanEnv) + { + pthread_mutex_lock(&g_activityMutex); + if (g_activity) + { + (*cleanEnv)->DeleteGlobalRef(cleanEnv, g_activity); + g_activity = NULL; + } + if (g_assetMgrJava) + { + (*cleanEnv)->DeleteGlobalRef(cleanEnv, g_assetMgrJava); + g_assetMgrJava = NULL; + } + pthread_mutex_unlock(&g_activityMutex); + g_assetMgr = NULL; + } + } + + if (g_jvm) + (*g_jvm)->DetachCurrentThread(g_jvm); + return NULL; +} + +// Java -> C (io.github.ysdragon.webview.MainActivity). Entry points only enqueue. + +JNIEXPORT jint JNI_OnLoad(JavaVM *vm, void *reserved) +{ + (void)reserved; + g_jvm = vm; + LOGI("ring_webview_android loaded"); + return JNI_VERSION_1_6; +} + +static void cache_activity_methods(JNIEnv *env, jobject thiz) +{ + jclass cls = (*env)->GetObjectClass(env, thiz); + if (!cls) + return; + mid_evalJs = (*env)->GetMethodID(env, cls, "evalJs", "(Ljava/lang/String;)V"); + mid_loadUrl = (*env)->GetMethodID(env, cls, "loadUrl", "(Ljava/lang/String;)V"); + mid_loadHtml = (*env)->GetMethodID(env, cls, "loadHtml", "(Ljava/lang/String;)V"); + mid_goBack = (*env)->GetMethodID(env, cls, "goBack", "()V"); + mid_goForward = (*env)->GetMethodID(env, cls, "goForward", "()V"); + mid_reload = (*env)->GetMethodID(env, cls, "reload", "()V"); + mid_getUrlSync = (*env)->GetMethodID(env, cls, "getUrlSync", "()Ljava/lang/String;"); + mid_getTitleSync = (*env)->GetMethodID(env, cls, "getTitleSync", "()Ljava/lang/String;"); + mid_setDebug = (*env)->GetMethodID(env, cls, "setDebug", "(Z)V"); + mid_setInjectJs = (*env)->GetMethodID(env, cls, "setInjectJs", "(Ljava/lang/String;)V"); + mid_finishApp = (*env)->GetMethodID(env, cls, "finishApp", "()V"); + (*env)->DeleteLocalRef(env, cls); +} + +JNIEXPORT void JNICALL Java_io_github_ysdragon_webview_MainActivity_nativeStart(JNIEnv *env, jobject thiz) +{ + jobject assets; + jclass assetCls; + jobject filesDir; + jmethodID midGetFilesDir, midGetAbsPath, midGetAssets; + jstring absPath; + const char *utf; + jclass clsForPaths; + + // Rotation: worker runs, just swap to the new Activity. + if (g_workerStarted) + { + jobject newRef; + jobject oldRef; + pthread_mutex_lock(&g_activityMutex); + newRef = (*env)->NewGlobalRef(env, thiz); + if (newRef) + { + oldRef = g_activity; + g_activity = newRef; + cache_activity_methods(env, thiz); + if (oldRef) + (*env)->DeleteGlobalRef(env, oldRef); + LOGI("re-attached to new Activity after rotation"); + } + else + { + if ((*env)->ExceptionCheck(env)) + (*env)->ExceptionClear(env); + LOGE("NewGlobalRef OOM on re-attach; keeping old Activity"); + } + pthread_mutex_unlock(&g_activityMutex); + // New Activity lost injectJs; re-push from worker. + enqueue_raw_event(JOB_REATTACH, NULL); + return; + } + + pthread_mutex_lock(&g_activityMutex); + g_activity = (*env)->NewGlobalRef(env, thiz); + if (!g_activity) + { + if ((*env)->ExceptionCheck(env)) + (*env)->ExceptionClear(env); + pthread_mutex_unlock(&g_activityMutex); + LOGE("NewGlobalRef OOM in nativeStart"); + return; + } + cache_activity_methods(env, thiz); + pthread_mutex_unlock(&g_activityMutex); + clsForPaths = (*env)->GetObjectClass(env, thiz); + + if (!clsForPaths) + { + pthread_mutex_lock(&g_activityMutex); + if (g_activity) + { + (*env)->DeleteGlobalRef(env, g_activity); + g_activity = NULL; + } + pthread_mutex_unlock(&g_activityMutex); + LOGE("GetObjectClass failed in nativeStart"); + return; + } + // AssetManager (Java + native). + midGetAssets = (*env)->GetMethodID(env, clsForPaths, "getAssets", "()Landroid/content/res/AssetManager;"); + assets = midGetAssets ? (*env)->CallObjectMethod(env, thiz, midGetAssets) : NULL; + if (assets && !(*env)->ExceptionCheck(env)) + { + jobject assetRef = (*env)->NewGlobalRef(env, assets); + if (assetRef) + { + g_assetMgrJava = assetRef; + g_assetMgr = AAssetManager_fromJava(env, assets); + assetCls = (*env)->GetObjectClass(env, assets); + if (assetCls) + { + mid_assetList = (*env)->GetMethodID(env, assetCls, "list", "(Ljava/lang/String;)[Ljava/lang/String;"); + (*env)->DeleteLocalRef(env, assetCls); + } + } + else if ((*env)->ExceptionCheck(env)) + (*env)->ExceptionClear(env); + (*env)->DeleteLocalRef(env, assets); + } + else if ((*env)->ExceptionCheck(env)) + { + (*env)->ExceptionDescribe(env); + (*env)->ExceptionClear(env); + if (assets) + (*env)->DeleteLocalRef(env, assets); + } + + // Base path = filesDir. + midGetFilesDir = (*env)->GetMethodID(env, clsForPaths, "getFilesDir", "()Ljava/io/File;"); + filesDir = midGetFilesDir ? (*env)->CallObjectMethod(env, thiz, midGetFilesDir) : NULL; + if (filesDir && !(*env)->ExceptionCheck(env)) + { + jclass fileCls = (*env)->GetObjectClass(env, filesDir); + if (fileCls) + { + midGetAbsPath = (*env)->GetMethodID(env, fileCls, "getAbsolutePath", "()Ljava/lang/String;"); + absPath = midGetAbsPath ? (jstring)(*env)->CallObjectMethod(env, filesDir, midGetAbsPath) : NULL; + if (absPath && !(*env)->ExceptionCheck(env)) + { + utf = (*env)->GetStringUTFChars(env, absPath, NULL); + if (utf) + { + snprintf(g_basePath, sizeof(g_basePath), "%s", utf); + (*env)->ReleaseStringUTFChars(env, absPath, utf); + } + else if ((*env)->ExceptionCheck(env)) + (*env)->ExceptionClear(env); + (*env)->DeleteLocalRef(env, absPath); + } + else if ((*env)->ExceptionCheck(env)) + { + (*env)->ExceptionClear(env); + if (absPath) + (*env)->DeleteLocalRef(env, absPath); + } + (*env)->DeleteLocalRef(env, fileCls); + } + (*env)->DeleteLocalRef(env, filesDir); + } + else if ((*env)->ExceptionCheck(env)) + { + (*env)->ExceptionClear(env); + if (filesDir) + (*env)->DeleteLocalRef(env, filesDir); + } + + // APK path (asset-presence check). + { + jmethodID midGetPkgPath = (*env)->GetMethodID(env, clsForPaths, "getPackageCodePath", "()Ljava/lang/String;"); + jstring pkgPath = midGetPkgPath ? (jstring)(*env)->CallObjectMethod(env, thiz, midGetPkgPath) : NULL; + if (pkgPath && !(*env)->ExceptionCheck(env)) + { + const char *putf = (*env)->GetStringUTFChars(env, pkgPath, NULL); + if (putf) + { + snprintf(g_apkPath, sizeof(g_apkPath), "%s", putf); + (*env)->ReleaseStringUTFChars(env, pkgPath, putf); + } + else if ((*env)->ExceptionCheck(env)) + (*env)->ExceptionClear(env); + (*env)->DeleteLocalRef(env, pkgPath); + } + else if ((*env)->ExceptionCheck(env)) + { + (*env)->ExceptionClear(env); + if (pkgPath) + (*env)->DeleteLocalRef(env, pkgPath); + } + } + (*env)->DeleteLocalRef(env, clsForPaths); + if (pthread_create(&g_workerThread, NULL, worker_thread, NULL) == 0) + g_workerStarted = 1; + else + LOGE("Failed to create worker thread"); +} + +// Java calls this only when finishing; rotation re-attaches instead. +JNIEXPORT void JNICALL Java_io_github_ysdragon_webview_MainActivity_nativeDestroy(JNIEnv *env, jobject thiz) +{ + (void)env; + (void)thiz; + atomic_store_explicit(&g_terminate, 1, memory_order_release); + enqueue_terminate(); + queue_signal_all(); +} + +JNIEXPORT void JNICALL Java_io_github_ysdragon_webview_MainActivity_nativeOnBridgeCall(JNIEnv *env, jobject thiz, jstring jname, + jstring jid, jstring jreq) +{ + const char *name, *id, *req; + (void)thiz; + name = jname ? (*env)->GetStringUTFChars(env, jname, NULL) : NULL; + id = jid ? (*env)->GetStringUTFChars(env, jid, NULL) : NULL; + req = jreq ? (*env)->GetStringUTFChars(env, jreq, NULL) : NULL; + if ((jname && !name) || (jid && !id) || (jreq && !req)) + { + if ((*env)->ExceptionCheck(env)) + (*env)->ExceptionClear(env); + LOGE("GetStringUTFChars OOM in bridge call; dropping"); + } + else + { + enqueue_bind_call(name, id, req); + } + + if (name) + (*env)->ReleaseStringUTFChars(env, jname, name); + if (id) + (*env)->ReleaseStringUTFChars(env, jid, id); + if (req) + (*env)->ReleaseStringUTFChars(env, jreq, req); +} + +JNIEXPORT void JNICALL Java_io_github_ysdragon_webview_MainActivity_nativeOnPageStarted(JNIEnv *env, jobject thiz, jstring jurl) +{ + const char *url; + (void)thiz; + url = jurl ? (*env)->GetStringUTFChars(env, jurl, NULL) : NULL; + if (jurl && !url) + { + if ((*env)->ExceptionCheck(env)) + (*env)->ExceptionClear(env); + LOGE("GetStringUTFChars OOM in onPageStarted"); + return; + } + enqueue_raw_event(JOB_PAGE_STARTED, url); + if (url) + (*env)->ReleaseStringUTFChars(env, jurl, url); +} + +JNIEXPORT void JNICALL Java_io_github_ysdragon_webview_MainActivity_nativeOnPageFinished(JNIEnv *env, jobject thiz, jstring jurl) +{ + const char *url; + (void)thiz; + url = jurl ? (*env)->GetStringUTFChars(env, jurl, NULL) : NULL; + if (jurl && !url) + { + if ((*env)->ExceptionCheck(env)) + (*env)->ExceptionClear(env); + LOGE("GetStringUTFChars OOM in onPageFinished"); + return; + } + enqueue_raw_event(JOB_PAGE_FINISHED, url); + if (url) + (*env)->ReleaseStringUTFChars(env, jurl, url); +} + +JNIEXPORT void JNICALL Java_io_github_ysdragon_webview_MainActivity_nativeOnTitleChanged(JNIEnv *env, jobject thiz, + jstring jtitle) +{ + const char *title; + (void)thiz; + title = jtitle ? (*env)->GetStringUTFChars(env, jtitle, NULL) : NULL; + if (jtitle && !title) + { + if ((*env)->ExceptionCheck(env)) + (*env)->ExceptionClear(env); + LOGE("GetStringUTFChars OOM in onTitleChanged"); + return; + } + if (title) + enqueue_raw_event(JOB_TITLE_CHANGED, title); + if (title) + (*env)->ReleaseStringUTFChars(env, jtitle, title); +} + +JNIEXPORT void JNICALL Java_io_github_ysdragon_webview_MainActivity_nativeOnFocusChanged(JNIEnv *env, jobject thiz, + jboolean focused) +{ + (void)env; + (void)thiz; + enqueue_raw_event(JOB_FOCUS_CHANGED, focused ? "true" : "false"); +} + +JNIEXPORT void JNICALL Java_io_github_ysdragon_webview_MainActivity_nativeOnResize(JNIEnv *env, jobject thiz, jint width, + jint height) +{ + char buf[32]; + (void)env; + (void)thiz; + snprintf(buf, sizeof(buf), "%dx%d", (int)width, (int)height); + buf[sizeof(buf) - 1] = '\0'; + enqueue_raw_event(JOB_RESIZED, buf); +} + +JNIEXPORT void JNICALL Java_io_github_ysdragon_webview_MainActivity_nativeOnClose(JNIEnv *env, jobject thiz) +{ + (void)env; + (void)thiz; + enqueue_raw_event(JOB_CLOSE, NULL); +} + +/* ============================================================================ + * Ring C-API: helpers + * ============================================================================ + */ + +static void ring_webview_android_free(void *pState, void *pPointer) +{ + if (pPointer) + ring_state_free(pState, pPointer); +} + +static int api_check_webview(void *pPointer) +{ + if (RING_API_PARACOUNT < 1) + return 0; + if (!RING_API_ISCPOINTER(1)) + return 0; + if (!atomic_load_explicit(&g_webviewCreated, memory_order_acquire)) + return 0; + (void)pPointer; + return 1; +} + +/* ============================================================================ + * Ring C-API: core lifecycle + * ============================================================================ + */ + +RING_FUNC(ring_webview_create) +{ + int debug; + int *pHandle; + + if (RING_API_PARACOUNT != 2) + { + RING_API_ERROR(RING_API_MISS2PARA); + return; + } + if (!RING_API_ISNUMBER(1)) + { + RING_API_ERROR(RING_API_BADPARATYPE); + return; + } + debug = (int)RING_API_GETNUMBER(1); + + // One webview per process; all state is global. + if (atomic_exchange_explicit(&g_webviewCreated, 1, memory_order_acq_rel)) + { + RING_API_ERROR("webview_create: Android backend supports a single webview instance"); + return; + } + g_ringState = RING_API_STATE; + atomic_store_explicit(&g_terminate, 0, memory_order_release); + + // Forward debug flag to Java. + { + JNIEnv *env = get_env(); + jobject activity; + jmethodID setDebug; + pthread_mutex_lock(&g_activityMutex); + activity = g_activity; + setDebug = mid_setDebug; + if (env && activity && setDebug) + { + (*env)->CallVoidMethod(env, activity, setDebug, debug ? JNI_TRUE : JNI_FALSE); + // Clear: a pending exception aborts the next JNI call. + if ((*env)->ExceptionCheck(env)) + { + (*env)->ExceptionDescribe(env); + (*env)->ExceptionClear(env); + } + } + pthread_mutex_unlock(&g_activityMutex); + } + + // Shim now so bind works before the first page load. + rebuild_inject_js(); + + pHandle = (int *)RING_API_MALLOC(sizeof(int)); + if (!pHandle) + { + RING_API_ERROR(RING_OOM); + return; + } + *pHandle = 1; + RING_API_RETMANAGEDCPOINTER(pHandle, "webview_t", ring_webview_android_free); +} + +RING_FUNC(ring_webview_run) +{ + if (!api_check_webview(pPointer)) + { + RING_API_ERROR(RING_API_BADPARATYPE); + return; + } + + atomic_store_explicit(&g_running, 1, memory_order_release); + while (!atomic_load_explicit(&g_terminate, memory_order_acquire)) + { + Job *job = dequeue_job_blocking(); + if (job) + { + process_job(job); + free_job(job); + } + // NULL = terminated with an empty queue. + } + // Drain jobs that raced terminate; VM still alive. + for (;;) + { + Job *job = try_dequeue_job(); + if (!job) + break; + process_job(job); + free_job(job); + } + atomic_store_explicit(&g_running, 0, memory_order_release); +} + +RING_FUNC(ring_webview_terminate) +{ + if (!api_check_webview(pPointer)) + return; + atomic_store_explicit(&g_terminate, 1, memory_order_release); + enqueue_terminate(); + queue_signal_all(); + call_java_void(mid_finishApp); +} + +RING_FUNC(ring_webview_destroy) +{ + if (RING_API_PARACOUNT < 1) + return; + atomic_store_explicit(&g_terminate, 1, memory_order_release); + atomic_store_explicit(&g_running, 0, memory_order_release); + atomic_store_explicit(&g_webviewCreated, 0, memory_order_release); + enqueue_terminate(); + queue_signal_all(); + if (RING_API_ISCPOINTER(1)) + RING_API_SETNULLPOINTER(1); +} + +RING_FUNC(ring_webview_dispatch) +{ + if (RING_API_PARACOUNT != 2) + { + RING_API_ERROR(RING_API_MISS2PARA); + return; + } + if (!RING_API_ISCPOINTER(1) || !RING_API_ISSTRING(2)) + { + RING_API_ERROR(RING_API_BADPARATYPE); + return; + } + enqueue_dispatch(RING_API_GETSTRING(2)); + // WEBVIEW_ERROR_OK. + RING_API_RETNUMBER(0); +} + +/* ============================================================================ + * Ring C-API: navigation & content + * ============================================================================ + */ + +RING_FUNC(ring_webview_navigate) +{ + if (RING_API_PARACOUNT != 2 || !RING_API_ISCPOINTER(1) || !RING_API_ISSTRING(2)) + { + RING_API_ERROR(RING_API_BADPARATYPE); + return; + } + call_java_void_string(mid_loadUrl, RING_API_GETSTRING(2)); +} + +RING_FUNC(ring_webview_set_html) +{ + if (RING_API_PARACOUNT != 2 || !RING_API_ISCPOINTER(1) || !RING_API_ISSTRING(2)) + { + RING_API_ERROR(RING_API_BADPARATYPE); + return; + } + call_java_void_string(mid_loadHtml, RING_API_GETSTRING(2)); +} + +RING_FUNC(ring_webview_eval) +{ + if (RING_API_PARACOUNT != 2 || !RING_API_ISCPOINTER(1) || !RING_API_ISSTRING(2)) + { + RING_API_ERROR(RING_API_BADPARATYPE); + return; + } + call_java_void_string(mid_evalJs, RING_API_GETSTRING(2)); +} + +RING_FUNC(ring_webview_init) +{ + if (RING_API_PARACOUNT != 2 || !RING_API_ISCPOINTER(1) || !RING_API_ISSTRING(2)) + { + RING_API_ERROR(RING_API_BADPARATYPE); + return; + } + if (g_initScriptCount < MAX_INIT_SCRIPTS) + { + g_initScripts[g_initScriptCount] = xstrdup(RING_API_GETSTRING(2)); + g_initScriptCount++; + rebuild_inject_js(); + } +} + +RING_FUNC(ring_webview_back) +{ + if (!api_check_webview(pPointer)) + return; + call_java_void(mid_goBack); + RING_API_RETNUMBER(1); +} + +RING_FUNC(ring_webview_forward) +{ + if (!api_check_webview(pPointer)) + return; + call_java_void(mid_goForward); + RING_API_RETNUMBER(1); +} + +RING_FUNC(ring_webview_reload) +{ + if (!api_check_webview(pPointer)) + return; + call_java_void(mid_reload); + RING_API_RETNUMBER(1); +} + +RING_FUNC(ring_webview_get_url) +{ + char *url; + if (!api_check_webview(pPointer)) + { + RING_API_RETSTRING(""); + return; + } + url = call_java_string_sync(mid_getUrlSync); + RING_API_RETSTRING(url ? url : ""); + if (url) + free(url); +} + +RING_FUNC(ring_webview_get_title) +{ + char *title; + if (!api_check_webview(pPointer)) + { + RING_API_RETSTRING(""); + return; + } + title = call_java_string_sync(mid_getTitleSync); + RING_API_RETSTRING(title ? title : ""); + if (title) + free(title); +} + +/* ============================================================================ + * Ring C-API: binding + * ============================================================================ + */ + +RING_FUNC(ring_webview_bind) +{ + const char *jsName; + const char *ringFunc; + char *lower; + char *p; + int *h; + + if (RING_API_PARACOUNT != 3) + { + RING_API_ERROR(RING_API_MISS3PARA); + return; + } + if (!RING_API_ISCPOINTER(1) || !RING_API_ISSTRING(2) || !RING_API_ISSTRING(3)) + { + RING_API_ERROR(RING_API_BADPARATYPE); + return; + } + jsName = RING_API_GETSTRING(2); + ringFunc = RING_API_GETSTRING(3); + + if (g_bindCount >= MAX_BINDS) + { + RING_API_RETNUMBER(-1); + return; + } + + g_bindJsName[g_bindCount] = xstrdup(jsName); + lower = xstrdup(ringFunc); + for (p = lower; p && *p; p++) + *p = (char)tolower((unsigned char)*p); + g_bindRingFunc[g_bindCount] = lower; + g_bindCount++; + + rebuild_inject_js(); + + h = (int *)RING_API_MALLOC(sizeof(int)); + if (!h) + { + RING_API_ERROR(RING_OOM); + return; + } + *h = g_bindCount; + RING_API_RETMANAGEDCPOINTER(h, "webview_bind_t", ring_webview_android_free); +} + +RING_FUNC(ring_webview_unbind) +{ + const char *jsName; + int i; + if (RING_API_PARACOUNT != 2 || !RING_API_ISCPOINTER(1) || !RING_API_ISSTRING(2)) + { + RING_API_ERROR(RING_API_BADPARATYPE); + return; + } + jsName = RING_API_GETSTRING(2); + for (i = 0; i < g_bindCount; i++) + { + if (g_bindJsName[i] && strcmp(g_bindJsName[i], jsName) == 0) + { + free(g_bindJsName[i]); + free(g_bindRingFunc[i]); + g_bindJsName[i] = g_bindJsName[g_bindCount - 1]; + g_bindRingFunc[i] = g_bindRingFunc[g_bindCount - 1]; + g_bindCount--; + rebuild_inject_js(); + RING_API_RETNUMBER(0); + return; + } + } + RING_API_RETNUMBER(-1); +} + +RING_FUNC(ring_webview_return) +{ + const char *id; + int status; + const char *json; + char *cJsonOwned = NULL; + char *escId, *escJson, *js; + size_t cap; + + if (RING_API_PARACOUNT != 4) + { + RING_API_ERROR(RING_API_MISS4PARA); + return; + } + if (!RING_API_ISCPOINTER(1) || !RING_API_ISSTRING(2) || !RING_API_ISNUMBER(3)) + { + RING_API_ERROR(RING_API_BADPARATYPE); + return; + } + id = RING_API_GETSTRING(2); + status = (int)RING_API_GETNUMBER(3); + + if (RING_API_ISLIST(4)) + { + cJsonOwned = ring_list_to_json_string(RING_API_STATE, RING_API_GETLIST(4)); + if (!cJsonOwned) + { + RING_API_ERROR("Failed to generate JSON string from list."); + return; + } + json = cJsonOwned; + } + else if (RING_API_ISNUMBER(4)) + { + cJsonOwned = ring_number_to_json_string(RING_API_GETNUMBER(4)); + if (!cJsonOwned) + { + RING_API_ERROR("Failed to generate JSON number."); + return; + } + json = cJsonOwned; + } + else if (RING_API_ISSTRING(4)) + { + json = RING_API_GETSTRING(4); + } + else + { + RING_API_ERROR(RING_API_BADPARATYPE); + return; + } + + escId = js_escape(id); + escJson = js_escape(json); + // Stale wreturn: page moved on, shim not back yet. Drop; the promise died with the page. + // Fixed overhead 71 + int; +128 slack, snprintf truncates on miscount. + cap = strlen(escId) + strlen(escJson) + 128; + js = (char *)malloc(cap); + if (js) + { + snprintf(js, cap, "(function(){var w=window.__ringwebview;if(w)w.result('%s',%d,'%s');})();", escId, status, escJson); + js[cap - 1] = '\0'; + call_java_void_string(mid_evalJs, js); + free(js); + } + free(escId); + free(escJson); + if (cJsonOwned) + free(cJsonOwned); +} + +RING_FUNC(ring_webview_version) +{ + if (RING_API_PARACOUNT != 0) + { + RING_API_ERROR(RING_API_BADPARACOUNT); + return; + } + RING_API_RETSTRING(RING_WEBVIEW_ANDROID_VERSION); +} + +/* ============================================================================ + * Ring C-API: event callbacks + * ============================================================================ + */ + +#define RING_WEBVIEW_ANDROID_SET_EVENT(funcname, member) \ + RING_FUNC(funcname) \ + { \ + if (RING_API_PARACOUNT != 2) \ + { \ + RING_API_ERROR(RING_API_MISS2PARA); \ + return; \ + } \ + if (!RING_API_ISCPOINTER(1) || !RING_API_ISSTRING(2)) \ + { \ + RING_API_ERROR(RING_API_BADPARATYPE); \ + return; \ + } \ + if (member) \ + { \ + free(member); \ + member = NULL; \ + } \ + member = xstrdup(RING_API_GETSTRING(2)); \ + RING_API_RETNUMBER(1); \ + } + +RING_WEBVIEW_ANDROID_SET_EVENT(ring_webview_on_close, g_onClose) +RING_WEBVIEW_ANDROID_SET_EVENT(ring_webview_on_resize, g_onResize) +RING_WEBVIEW_ANDROID_SET_EVENT(ring_webview_on_focus, g_onFocus) +RING_WEBVIEW_ANDROID_SET_EVENT(ring_webview_on_dom_ready, g_onDomReady) +RING_WEBVIEW_ANDROID_SET_EVENT(ring_webview_on_load, g_onLoad) +RING_WEBVIEW_ANDROID_SET_EVENT(ring_webview_on_navigate, g_onNavigate) +RING_WEBVIEW_ANDROID_SET_EVENT(ring_webview_on_title, g_onTitle) + +/* ============================================================================ + * Ring C-API: window-management no-ops (desktop parity, safe on Android) + * ============================================================================ + */ + +#define RING_WEBVIEW_ANDROID_NOOP_RET1(funcname) \ + RING_FUNC(funcname) \ + { \ + RING_API_RETNUMBER(1); \ + } + +#define RING_WEBVIEW_ANDROID_NOOP_RET0(funcname) \ + RING_FUNC(funcname) \ + { \ + RING_API_RETNUMBER(0); \ + } + +RING_WEBVIEW_ANDROID_NOOP_RET1(ring_webview_set_title) +RING_WEBVIEW_ANDROID_NOOP_RET1(ring_webview_set_size) +RING_WEBVIEW_ANDROID_NOOP_RET1(ring_webview_set_decorated) +RING_WEBVIEW_ANDROID_NOOP_RET1(ring_webview_set_opacity) +RING_WEBVIEW_ANDROID_NOOP_RET1(ring_webview_set_always_on_top) +RING_WEBVIEW_ANDROID_NOOP_RET1(ring_webview_minimize) +RING_WEBVIEW_ANDROID_NOOP_RET1(ring_webview_maximize) +RING_WEBVIEW_ANDROID_NOOP_RET1(ring_webview_restore) +RING_WEBVIEW_ANDROID_NOOP_RET0(ring_webview_is_maximized) +RING_WEBVIEW_ANDROID_NOOP_RET1(ring_webview_start_drag) +RING_WEBVIEW_ANDROID_NOOP_RET1(ring_webview_set_position) +RING_WEBVIEW_ANDROID_NOOP_RET1(ring_webview_focus) +RING_WEBVIEW_ANDROID_NOOP_RET1(ring_webview_hide) +RING_WEBVIEW_ANDROID_NOOP_RET1(ring_webview_show) +RING_WEBVIEW_ANDROID_NOOP_RET1(ring_webview_start_resize) +RING_WEBVIEW_ANDROID_NOOP_RET1(ring_webview_set_fullscreen) +RING_WEBVIEW_ANDROID_NOOP_RET0(ring_webview_is_fullscreen) +RING_WEBVIEW_ANDROID_NOOP_RET1(ring_webview_set_resizable) +RING_WEBVIEW_ANDROID_NOOP_RET0(ring_webview_is_resizable) +RING_WEBVIEW_ANDROID_NOOP_RET1(ring_webview_set_min_size) +RING_WEBVIEW_ANDROID_NOOP_RET1(ring_webview_set_max_size) +RING_WEBVIEW_ANDROID_NOOP_RET1(ring_webview_set_background_color) +RING_WEBVIEW_ANDROID_NOOP_RET1(ring_webview_set_icon) +RING_WEBVIEW_ANDROID_NOOP_RET0(ring_webview_is_focused) +RING_WEBVIEW_ANDROID_NOOP_RET1(ring_webview_is_visible) +RING_WEBVIEW_ANDROID_NOOP_RET1(ring_webview_close) +RING_WEBVIEW_ANDROID_NOOP_RET1(ring_webview_set_dev_tools) +RING_WEBVIEW_ANDROID_NOOP_RET1(ring_webview_set_context_menu) +RING_WEBVIEW_ANDROID_NOOP_RET1(ring_webview_set_force_dark) +RING_WEBVIEW_ANDROID_NOOP_RET0(ring_webview_is_force_dark) +RING_WEBVIEW_ANDROID_NOOP_RET1(ring_webview_set_click_through) +RING_WEBVIEW_ANDROID_NOOP_RET0(ring_webview_is_click_through) + +RING_FUNC(ring_webview_get_window) +{ + RING_API_RETCPOINTER(NULL, "void"); +} + +RING_FUNC(ring_webview_get_native_handle) +{ + RING_API_RETCPOINTER(NULL, "void"); +} + +RING_FUNC(ring_webview_get_position) +{ + List *pList = ring_list_new(0); + ring_list_adddouble_gc(RING_API_STATE, pList, 0); + ring_list_adddouble_gc(RING_API_STATE, pList, 0); + RING_API_RETLIST(pList); +} + +RING_FUNC(ring_webview_get_size) +{ + List *pList = ring_list_new(0); + ring_list_adddouble_gc(RING_API_STATE, pList, 0); + ring_list_adddouble_gc(RING_API_STATE, pList, 0); + RING_API_RETLIST(pList); +} + +RING_FUNC(ring_webview_get_screens) +{ + List *pList = ring_list_new(0); + RING_API_RETLIST(pList); +} + +/* ============================================================================ + * Ring C-API: constants + * ============================================================================ + */ + +RING_FUNC(ring_get_webview_hint_none) +{ + RING_API_RETNUMBER(0); +} +RING_FUNC(ring_get_webview_hint_min) +{ + RING_API_RETNUMBER(1); +} +RING_FUNC(ring_get_webview_hint_max) +{ + RING_API_RETNUMBER(2); +} +RING_FUNC(ring_get_webview_hint_fixed) +{ + RING_API_RETNUMBER(3); +} +RING_FUNC(ring_get_webview_native_handle_kind_ui_window) +{ + RING_API_RETNUMBER(0); +} +RING_FUNC(ring_get_webview_native_handle_kind_ui_widget) +{ + RING_API_RETNUMBER(1); +} +RING_FUNC(ring_get_webview_native_handle_kind_browser_controller) +{ + RING_API_RETNUMBER(2); +} +RING_FUNC(ring_get_webview_error_ok) +{ + RING_API_RETNUMBER(0); +} +RING_FUNC(ring_get_webview_error_unspecified) +{ + RING_API_RETNUMBER(1); +} +RING_FUNC(ring_get_webview_error_invalid_argument) +{ + RING_API_RETNUMBER(2); +} +RING_FUNC(ring_get_webview_error_invalid_state) +{ + RING_API_RETNUMBER(3); +} +RING_FUNC(ring_get_webview_error_canceled) +{ + RING_API_RETNUMBER(4); +} +RING_FUNC(ring_get_webview_error_missing_dependency) +{ + RING_API_RETNUMBER(5); +} +RING_FUNC(ring_get_webview_error_duplicate) +{ + RING_API_RETNUMBER(6); +} +RING_FUNC(ring_get_webview_error_not_found) +{ + RING_API_RETNUMBER(7); +} +RING_FUNC(ring_get_webview_version_major) +{ + RING_API_RETNUMBER(0); +} +RING_FUNC(ring_get_webview_version_minor) +{ + RING_API_RETNUMBER(12); +} +RING_FUNC(ring_get_webview_version_patch) +{ + RING_API_RETNUMBER(0); +} +RING_FUNC(ring_get_webview_edge_top) +{ + RING_API_RETNUMBER(0); +} +RING_FUNC(ring_get_webview_edge_bottom) +{ + RING_API_RETNUMBER(1); +} +RING_FUNC(ring_get_webview_edge_left) +{ + RING_API_RETNUMBER(2); +} +RING_FUNC(ring_get_webview_edge_right) +{ + RING_API_RETNUMBER(3); +} +RING_FUNC(ring_get_webview_edge_top_left) +{ + RING_API_RETNUMBER(4); +} +RING_FUNC(ring_get_webview_edge_top_right) +{ + RING_API_RETNUMBER(5); +} +RING_FUNC(ring_get_webview_edge_bottom_left) +{ + RING_API_RETNUMBER(6); +} +RING_FUNC(ring_get_webview_edge_bottom_right) +{ + RING_API_RETNUMBER(7); +} + +/* ============================================================================ + * Library initialization + * ============================================================================ + */ + +RING_LIBINIT +{ + /* Core lifecycle */ + RING_API_REGISTER("webview_create", ring_webview_create); + RING_API_REGISTER("webview_destroy", ring_webview_destroy); + RING_API_REGISTER("webview_run", ring_webview_run); + RING_API_REGISTER("webview_terminate", ring_webview_terminate); + RING_API_REGISTER("webview_dispatch", ring_webview_dispatch); + RING_API_REGISTER("webview_version", ring_webview_version); + + /* Navigation & content */ + RING_API_REGISTER("webview_navigate", ring_webview_navigate); + RING_API_REGISTER("webview_set_html", ring_webview_set_html); + RING_API_REGISTER("webview_eval", ring_webview_eval); + RING_API_REGISTER("webview_init", ring_webview_init); + RING_API_REGISTER("webview_back", ring_webview_back); + RING_API_REGISTER("webview_forward", ring_webview_forward); + RING_API_REGISTER("webview_reload", ring_webview_reload); + RING_API_REGISTER("webview_get_url", ring_webview_get_url); + RING_API_REGISTER("webview_get_title", ring_webview_get_title); + + /* Binding */ + RING_API_REGISTER("webview_bind", ring_webview_bind); + RING_API_REGISTER("webview_unbind", ring_webview_unbind); + RING_API_REGISTER("webview_return", ring_webview_return); + + /* Handles */ + RING_API_REGISTER("webview_get_window", ring_webview_get_window); + RING_API_REGISTER("webview_get_native_handle", ring_webview_get_native_handle); + + /* Window management */ + RING_API_REGISTER("webview_set_title", ring_webview_set_title); + RING_API_REGISTER("webview_set_size", ring_webview_set_size); + RING_API_REGISTER("webview_set_decorated", ring_webview_set_decorated); + RING_API_REGISTER("webview_set_opacity", ring_webview_set_opacity); + RING_API_REGISTER("webview_set_always_on_top", ring_webview_set_always_on_top); + RING_API_REGISTER("webview_minimize", ring_webview_minimize); + RING_API_REGISTER("webview_maximize", ring_webview_maximize); + RING_API_REGISTER("webview_restore", ring_webview_restore); + RING_API_REGISTER("webview_is_maximized", ring_webview_is_maximized); + RING_API_REGISTER("webview_start_drag", ring_webview_start_drag); + RING_API_REGISTER("webview_set_position", ring_webview_set_position); + RING_API_REGISTER("webview_get_position", ring_webview_get_position); + RING_API_REGISTER("webview_get_size", ring_webview_get_size); + RING_API_REGISTER("webview_focus", ring_webview_focus); + RING_API_REGISTER("webview_hide", ring_webview_hide); + RING_API_REGISTER("webview_show", ring_webview_show); + RING_API_REGISTER("webview_start_resize", ring_webview_start_resize); + RING_API_REGISTER("webview_set_fullscreen", ring_webview_set_fullscreen); + RING_API_REGISTER("webview_is_fullscreen", ring_webview_is_fullscreen); + RING_API_REGISTER("webview_set_resizable", ring_webview_set_resizable); + RING_API_REGISTER("webview_is_resizable", ring_webview_is_resizable); + RING_API_REGISTER("webview_set_min_size", ring_webview_set_min_size); + RING_API_REGISTER("webview_set_max_size", ring_webview_set_max_size); + RING_API_REGISTER("webview_set_background_color", ring_webview_set_background_color); + RING_API_REGISTER("webview_set_icon", ring_webview_set_icon); + RING_API_REGISTER("webview_is_focused", ring_webview_is_focused); + RING_API_REGISTER("webview_is_visible", ring_webview_is_visible); + RING_API_REGISTER("webview_close", ring_webview_close); + RING_API_REGISTER("webview_set_dev_tools", ring_webview_set_dev_tools); + RING_API_REGISTER("webview_set_context_menu", ring_webview_set_context_menu); + RING_API_REGISTER("webview_set_force_dark", ring_webview_set_force_dark); + RING_API_REGISTER("webview_is_force_dark", ring_webview_is_force_dark); + RING_API_REGISTER("webview_get_screens", ring_webview_get_screens); + RING_API_REGISTER("webview_set_click_through", ring_webview_set_click_through); + RING_API_REGISTER("webview_is_click_through", ring_webview_is_click_through); + + /* Event callbacks */ + RING_API_REGISTER("webview_on_close", ring_webview_on_close); + RING_API_REGISTER("webview_on_resize", ring_webview_on_resize); + RING_API_REGISTER("webview_on_focus", ring_webview_on_focus); + RING_API_REGISTER("webview_on_dom_ready", ring_webview_on_dom_ready); + RING_API_REGISTER("webview_on_load", ring_webview_on_load); + RING_API_REGISTER("webview_on_navigate", ring_webview_on_navigate); + RING_API_REGISTER("webview_on_title", ring_webview_on_title); + + /* Constants */ + RING_API_REGISTER("get_webview_hint_none", ring_get_webview_hint_none); + RING_API_REGISTER("get_webview_hint_min", ring_get_webview_hint_min); + RING_API_REGISTER("get_webview_hint_max", ring_get_webview_hint_max); + RING_API_REGISTER("get_webview_hint_fixed", ring_get_webview_hint_fixed); + RING_API_REGISTER("get_webview_native_handle_kind_ui_window", ring_get_webview_native_handle_kind_ui_window); + RING_API_REGISTER("get_webview_native_handle_kind_ui_widget", ring_get_webview_native_handle_kind_ui_widget); + RING_API_REGISTER("get_webview_native_handle_kind_browser_controller", + ring_get_webview_native_handle_kind_browser_controller); + RING_API_REGISTER("get_webview_error_ok", ring_get_webview_error_ok); + RING_API_REGISTER("get_webview_error_unspecified", ring_get_webview_error_unspecified); + RING_API_REGISTER("get_webview_error_invalid_argument", ring_get_webview_error_invalid_argument); + RING_API_REGISTER("get_webview_error_invalid_state", ring_get_webview_error_invalid_state); + RING_API_REGISTER("get_webview_error_canceled", ring_get_webview_error_canceled); + RING_API_REGISTER("get_webview_error_missing_dependency", ring_get_webview_error_missing_dependency); + RING_API_REGISTER("get_webview_error_duplicate", ring_get_webview_error_duplicate); + RING_API_REGISTER("get_webview_error_not_found", ring_get_webview_error_not_found); + RING_API_REGISTER("get_webview_version_major", ring_get_webview_version_major); + RING_API_REGISTER("get_webview_version_minor", ring_get_webview_version_minor); + RING_API_REGISTER("get_webview_version_patch", ring_get_webview_version_patch); + RING_API_REGISTER("get_webview_edge_top", ring_get_webview_edge_top); + RING_API_REGISTER("get_webview_edge_bottom", ring_get_webview_edge_bottom); + RING_API_REGISTER("get_webview_edge_left", ring_get_webview_edge_left); + RING_API_REGISTER("get_webview_edge_right", ring_get_webview_edge_right); + RING_API_REGISTER("get_webview_edge_top_left", ring_get_webview_edge_top_left); + RING_API_REGISTER("get_webview_edge_top_right", ring_get_webview_edge_top_right); + RING_API_REGISTER("get_webview_edge_bottom_left", ring_get_webview_edge_bottom_left); + RING_API_REGISTER("get_webview_edge_bottom_right", ring_get_webview_edge_bottom_right); +} From c0f77bff2ce491bbc72521f4671ae309c8463156 Mon Sep 17 00:00:00 2001 From: ysdragon Date: Sat, 5 Sep 2026 21:35:35 +0300 Subject: [PATCH 2/9] feat(cmake): add Android WebView backend build configuration Adds CMake target for ring_webview_android when building for Android, linking against android, log, and yyjson libraries. --- CMakeLists.txt | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 6bbf8f8..9071f97 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -18,6 +18,33 @@ set(YYJSON_INSTALL OFF) add_subdirectory(src/c_src/yyjson EXCLUDE_FROM_ALL) set_target_properties(yyjson PROPERTIES POSITION_INDEPENDENT_CODE ON) +# ============================================================================ +# Android backend +# ============================================================================ +if(ANDROID) + add_library(ring_webview_android OBJECT + src/c_src/ring_webview_android.c + ) + set_target_properties(ring_webview_android PROPERTIES + POSITION_INDEPENDENT_CODE ON + ) + if(TARGET ring) + target_link_libraries(ring_webview_android PUBLIC ring) + else() + target_include_directories(ring_webview_android PUBLIC + "${RING_ROOT}/language/include" + ) + endif() + target_link_libraries(ring_webview_android PUBLIC + android + log + yyjson + ) + message(STATUS "Ring Webview: Android backend") + return() +endif() + + if(NOT TARGET Ring::Ring) add_library(Ring::Ring UNKNOWN IMPORTED) find_path(RING_INCLUDE_DIR ring.h PATHS "${RING_ROOT}/language/include") From 77f4a351b69f83e40c979e8ceed7e791383e1ecf Mon Sep 17 00:00:00 2001 From: ysdragon Date: Sat, 5 Sep 2026 21:35:49 +0300 Subject: [PATCH 3/9] feat(android): add Nota example app Notes app with glassmorphism mobile UI: add/edit/pin/delete/search, file-backed persistence, bridge driven by native onDomReady. Includes ring2apk config, Java/C sources, README, and screenshot. --- examples/android/.gitignore | 3 + examples/android/README.md | 52 ++ examples/android/img/nota-screenshot.png | Bin 0 -> 427157 bytes .../android/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 7876 bytes .../android/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 4797 bytes .../android/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 10903 bytes .../android/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 17766 bytes .../res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 25454 bytes examples/android/res/values/colors.xml | 6 + examples/android/res/values/strings.xml | 4 + examples/android/res/values/styles.xml | 15 + examples/android/ring/main.ring | 587 +++++++++++++ examples/android/ring/src/assets.ring | 60 ++ examples/android/ring/src/webview.rh | 26 + examples/android/ring/src/webview.ring | 780 ++++++++++++++++++ examples/android/ring/webview.ring | 5 + examples/android/ring2apk.ring | 41 + examples/android/src/cpp/CMakeLists.txt | 45 + examples/android/src/cpp/main.c | 79 ++ .../github/ysdragon/webview/MainActivity.java | 464 +++++++++++ examples/android/src/proguard-webview.pro | 17 + 21 files changed, 2184 insertions(+) create mode 100644 examples/android/.gitignore create mode 100644 examples/android/README.md create mode 100644 examples/android/img/nota-screenshot.png create mode 100644 examples/android/res/mipmap-hdpi/ic_launcher.png create mode 100644 examples/android/res/mipmap-mdpi/ic_launcher.png create mode 100644 examples/android/res/mipmap-xhdpi/ic_launcher.png create mode 100644 examples/android/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 examples/android/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 examples/android/res/values/colors.xml create mode 100644 examples/android/res/values/strings.xml create mode 100644 examples/android/res/values/styles.xml create mode 100644 examples/android/ring/main.ring create mode 100644 examples/android/ring/src/assets.ring create mode 100644 examples/android/ring/src/webview.rh create mode 100644 examples/android/ring/src/webview.ring create mode 100644 examples/android/ring/webview.ring create mode 100644 examples/android/ring2apk.ring create mode 100644 examples/android/src/cpp/CMakeLists.txt create mode 100644 examples/android/src/cpp/main.c create mode 100644 examples/android/src/java/io/github/ysdragon/webview/MainActivity.java create mode 100644 examples/android/src/proguard-webview.pro diff --git a/examples/android/.gitignore b/examples/android/.gitignore new file mode 100644 index 0000000..eb5234b --- /dev/null +++ b/examples/android/.gitignore @@ -0,0 +1,3 @@ +src/cpp/ring +build/ +.ring2apk.hash \ No newline at end of file diff --git a/examples/android/README.md b/examples/android/README.md new file mode 100644 index 0000000..4c86752 --- /dev/null +++ b/examples/android/README.md @@ -0,0 +1,52 @@ +# Nota — Ring WebView on Android + +A real notes app with a glassmorphism mobile UI, built with Ring + WebView. +Same-language backend as desktop: Ring owns the state, JavaScript renders it. + +Nota on Android + +## What it does + +- Add, edit, delete, pin, and search notes +- Color-coded glass cards, bottom-sheet editor, toasts +- Persists to `notes.db` in the app's `filesDir` (survives restarts) +- Survives rotation and renderer kills (system memory pressure) + +## Bridge pattern + +Ring never touches JSON text. Binds receive Ring lists (decoded from the +JS argument array) and `wreturn` the full notes list back; JS re-renders +from the promise resolution: + +| JS call | Ring callback | +|---|---| +| `getState()` | `fetchNotes` | +| `note_save([id, title, body, color, pinned])` | `storeNote` | +| `note_delete([id])` | `removeNote` | +| `note_pin([id])` | `toggleNotePin` | + +The first pull is driven by native `onDomReady` (`evalJS("refresh()")`), +which runs strictly after the bind shim is injected — no polling. + +## Build + +Needs [ring2apk](https://github.com/ysdragon/ring2apk): + +```sh +ringpm install ring2apk from ysdragon +cd examples/android +ring2apk build # → build/webviewdemo-debug.apk +ring2apk run # build + install + launch + logcat +adb logcat -s RingOutput:D # `see` output +``` + +## Layout + +``` +ring/main.ring # app: state, binds, persistence, embedded UI +ring/fulltest.ring # backend conformance suite (20 checks) +ring/src/ # webview.ring loader (same API as desktop) +src/cpp/ # libmain.so: Ring VM + backend (ring/ vendored, ignored by git) +src/java/ # MainActivity mirror (canonical copy in src/android/) +ring2apk.ring # package io.github.ysdragon.webview, arm64-v8a +``` diff --git a/examples/android/img/nota-screenshot.png b/examples/android/img/nota-screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..b91ff99b662739991387fbef3622281e3ebcacad GIT binary patch literal 427157 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⋙TEg_dg)1k-m)+wuP$yx5)+#k_wxYu|tm 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

4tL_cMBjGSI@x_4F_@ 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 R_B$7#r)8{J^V~7+{{Sh9pA-N9 literal 0 HcmV?d00001 diff --git a/examples/android/res/mipmap-mdpi/ic_launcher.png b/examples/android/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..2a3e0d1e9a79daaddb7f2fa0a172353bbcc9d27a GIT binary patch literal 4797 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 literal 0 HcmV?d00001 diff --git a/examples/android/res/mipmap-xxxhdpi/ic_launcher.png b/examples/android/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..d202917cb0e5a79d367da27c8f48df9bff332925 GIT binary patch literal 25454 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 O0000 + + #6200EE + #3700B3 + #03DAC5 + diff --git a/examples/android/res/values/strings.xml b/examples/android/res/values/strings.xml new file mode 100644 index 0000000..70e5284 --- /dev/null +++ b/examples/android/res/values/strings.xml @@ -0,0 +1,4 @@ + + + Ring WebView + diff --git a/examples/android/res/values/styles.xml b/examples/android/res/values/styles.xml new file mode 100644 index 0000000..23eba66 --- /dev/null +++ b/examples/android/res/values/styles.xml @@ -0,0 +1,15 @@ + + + + + diff --git a/examples/android/ring/main.ring b/examples/android/ring/main.ring new file mode 100644 index 0000000..6b4b497 --- /dev/null +++ b/examples/android/ring/main.ring @@ -0,0 +1,587 @@ +# Nota: glassmorphism notes app for Ring WebView on Android. +# Ring owns the notes list and persists it to notes.db (length-prefixed +# flat file in filesDir). The bridge carries JSON both ways, so Ring only +# ever handles lists: binds wreturn the full state, JS re-renders from it. + +load "webview.ring" + +aNotes = [] +nNextId = 1 +cDbFile = "notes.db" + +aBindList = [ + ["getState", :fetchNotes], + ["note_save", :storeNote], + ["note_delete", :removeNote], + ["note_pin", :toggleNotePin] +] + +loadNotes() + +oWebView = new WebView() + +oWebView { + setTitle("Nota") + + onLoad(:handleLoad) + onDomReady(:handleDomReady) + onClose(:handleClose) + + bindMany(NULL) + + setHtml(` + + + + + + Nota + + + +
+

Nota.

loading
+ +
+
+
+
+
+ +
+
+
+ + + + + + +
+
+ + +
+
+ + + +
+
+
+
+ + + + `) + + run() +} + +see "Nota closed." + nl + +# --- Persistence: length-prefixed flat file, no escaping needed --- +# note block: id LF titleLen:title bodyLen:body color LF pinned LF updated LF + +func loadNotes + if not fexists(cDbFile) + return + ok + c = read(cDbFile) + aPos = [1] + while aPos[1] <= len(c) + cId = takeLine(c, aPos) + if cId = "" + exit + ok + cTitle = takeField(c, aPos) + cBody = takeField(c, aPos) + cColor = takeLine(c, aPos) + cPinned = takeLine(c, aPos) + cUpdated = takeLine(c, aPos) + if cColor = "" or cPinned = "" or cUpdated = "" + exit + ok + aNotes + [number(cId), cTitle, cBody, cColor, number(cPinned), cUpdated] + if number(cId) >= nNextId + nNextId = number(cId) + 1 + ok + end + +func takeLine(cText, aPos) + nStart = aPos[1] + nEnd = nStart + while nEnd <= len(cText) and ascii(cText[nEnd]) != 10 + nEnd = nEnd + 1 + end + cLine = "" + if nEnd > nStart + cLine = substr(cText, nStart, nEnd - nStart) + ok + aPos[1] = nEnd + 1 + return cLine + +func takeField(cText, aPos) + nStart = aPos[1] + nColon = nStart + while nColon <= len(cText) and cText[nColon] != ":" + nColon = nColon + 1 + end + if nColon > len(cText) + return "" + ok + nFieldLen = number(substr(cText, nStart, nColon - nStart)) + nFieldStart = nColon + 1 + cField = "" + if nFieldLen > 0 + cField = substr(cText, nFieldStart, nFieldLen) + ok + aPos[1] = nFieldStart + nFieldLen + return cField + +func persistNotes + cOut = "" + for aNote in aNotes + cOut += "" + aNote[1] + char(10) + cOut += "" + len(aNote[2]) + ":" + aNote[2] + cOut += "" + len(aNote[3]) + ":" + aNote[3] + cOut += aNote[4] + char(10) + cOut += "" + aNote[5] + char(10) + cOut += aNote[6] + char(10) + next + write(cDbFile, cOut) + +# --- Binds: req[1] is the JS argument array; always wreturn the full state --- + +func fetchNotes(cId, aReq) + oWebView.wreturn(cId, WEBVIEW_ERROR_OK, aNotes) + +func storeNote(cId, aReq) + aData = aReq[1] + nId = number(aData[1]) + cTitle = "" + aData[2] + cBody = "" + aData[3] + cColor = "" + aData[4] + nPinned = number(aData[5]) + cStamp = date() + " " + time() + if nId = 0 + aNotes + [nNextId, cTitle, cBody, cColor, nPinned, cStamp] + nNextId++ + else + for i = 1 to len(aNotes) + if aNotes[i][1] = nId + aNotes[i][2] = cTitle + aNotes[i][3] = cBody + aNotes[i][4] = cColor + aNotes[i][5] = nPinned + aNotes[i][6] = cStamp + exit + ok + next + ok + persistNotes() + oWebView.wreturn(cId, WEBVIEW_ERROR_OK, aNotes) + +func removeNote(cId, aReq) + nId = number(aReq[1][1]) + for i = 1 to len(aNotes) + if aNotes[i][1] = nId + del(aNotes, i) + exit + ok + next + persistNotes() + oWebView.wreturn(cId, WEBVIEW_ERROR_OK, aNotes) + +func toggleNotePin(cId, aReq) + nId = number(aReq[1][1]) + for i = 1 to len(aNotes) + if aNotes[i][1] = nId + aNotes[i][5] = 1 - aNotes[i][5] + exit + ok + next + persistNotes() + oWebView.wreturn(cId, WEBVIEW_ERROR_OK, aNotes) + +# --- Events --- + +func handleLoad(cState) + see "load: " + cState + nl + +func handleDomReady + oWebView.evalJS("refresh()") + +func handleClose + see "close" + nl diff --git a/examples/android/ring/src/assets.ring b/examples/android/ring/src/assets.ring new file mode 100644 index 0000000..d066abc --- /dev/null +++ b/examples/android/ring/src/assets.ring @@ -0,0 +1,60 @@ +# assets.ring — embedded-assets API for Ring WebView (embed.FS-style). +# +# In dev (`ring main.ring`) assets are read from disk ($cAssetsDir, default +# "frontend/dist"). In an exe produced by webview-bake they are read from the +# binary (zero-copy), via the exe-provided C functions: +# assets_read / assets_exists / assets_count / assets_list +# App code should always use the Assets* wrappers — never the primitives. + +$cAssetsDir = "frontend/dist" +$bAssetsProbeInit = 0 +$bAssetsPacked = 0 + +func IsPackedAssets + if $bAssetsProbeInit = 0 + $bAssetsProbeInit = 1 + $bAssetsPacked = iscfunction("assets_read") + ok + return $bAssetsPacked + +func AssetsDir cDir + $cAssetsDir = cDir + +func AssetsRead cPath + if IsPackedAssets() + return assets_read(cPath) + ok + return read($cAssetsDir + "/" + cPath) + +func AssetsExists cPath + if IsPackedAssets() + return assets_exists(cPath) + ok + return fexists($cAssetsDir + "/" + cPath) + +func AssetsList + aOut = [] + if IsPackedAssets() + aOut = assets_list() + else + assetsScan($cAssetsDir, "", aOut) + ok + return sort(aOut) + +func assetsScan cAbsDir, cRel, aOut + # Mirrors webview-bake's walk: relative slash-separated keys, empty files skipped. + for aItem in dir(cAbsDir) + cName = substr(aItem[1], char(92), "/") + cKey = cName + if cRel != "" + cKey = cRel + "/" + cName + ok + cFull = cAbsDir + "/" + aItem[1] + if aItem[2] = 1 + assetsScan(cFull, cKey, aOut) + else + if getfilesize(cFull) > 0 + aOut + cKey + ok + ok + next diff --git a/examples/android/ring/src/webview.rh b/examples/android/ring/src/webview.rh new file mode 100644 index 0000000..f5547bc --- /dev/null +++ b/examples/android/ring/src/webview.rh @@ -0,0 +1,26 @@ +WEBVIEW_HINT_NONE = get_WEBVIEW_HINT_NONE() +WEBVIEW_HINT_MIN = get_WEBVIEW_HINT_MIN() +WEBVIEW_HINT_MAX = get_WEBVIEW_HINT_MAX() +WEBVIEW_HINT_FIXED = get_WEBVIEW_HINT_FIXED() +WEBVIEW_NATIVE_HANDLE_KIND_UI_WINDOW = get_WEBVIEW_NATIVE_HANDLE_KIND_UI_WINDOW() +WEBVIEW_NATIVE_HANDLE_KIND_UI_WIDGET = get_WEBVIEW_NATIVE_HANDLE_KIND_UI_WIDGET() +WEBVIEW_NATIVE_HANDLE_KIND_BROWSER_CONTROLLER = get_WEBVIEW_NATIVE_HANDLE_KIND_BROWSER_CONTROLLER() +WEBVIEW_ERROR_OK = get_WEBVIEW_ERROR_OK() +WEBVIEW_ERROR_UNSPECIFIED = get_WEBVIEW_ERROR_UNSPECIFIED() +WEBVIEW_ERROR_INVALID_ARGUMENT = get_WEBVIEW_ERROR_INVALID_ARGUMENT() +WEBVIEW_ERROR_INVALID_STATE = get_WEBVIEW_ERROR_INVALID_STATE() +WEBVIEW_ERROR_CANCELED = get_WEBVIEW_ERROR_CANCELED() +WEBVIEW_ERROR_MISSING_DEPENDENCY = get_WEBVIEW_ERROR_MISSING_DEPENDENCY() +WEBVIEW_ERROR_DUPLICATE = get_WEBVIEW_ERROR_DUPLICATE() +WEBVIEW_ERROR_NOT_FOUND = get_WEBVIEW_ERROR_NOT_FOUND() +WEBVIEW_VERSION_MAJOR = get_WEBVIEW_VERSION_MAJOR() +WEBVIEW_VERSION_MINOR = get_WEBVIEW_VERSION_MINOR() +WEBVIEW_VERSION_PATCH = get_WEBVIEW_VERSION_PATCH() +WEBVIEW_EDGE_TOP = get_webview_edge_top() +WEBVIEW_EDGE_BOTTOM = get_webview_edge_bottom() +WEBVIEW_EDGE_LEFT = get_webview_edge_left() +WEBVIEW_EDGE_RIGHT = get_webview_edge_right() +WEBVIEW_EDGE_TOP_LEFT = get_webview_edge_top_left() +WEBVIEW_EDGE_TOP_RIGHT = get_webview_edge_top_right() +WEBVIEW_EDGE_BOTTOM_LEFT = get_webview_edge_bottom_left() +WEBVIEW_EDGE_BOTTOM_RIGHT = get_webview_edge_bottom_right() \ No newline at end of file diff --git a/examples/android/ring/src/webview.ring b/examples/android/ring/src/webview.ring new file mode 100644 index 0000000..eb806bc --- /dev/null +++ b/examples/android/ring/src/webview.ring @@ -0,0 +1,780 @@ +# This file is part of the Ring WebView library. + + +/* + * aWebViewConfig: Global configuration for the WebView class. + * Fields: + * :debug - (Boolean) Enable debug mode for the WebView (default: true). + * :window - (Pointer/NULL) Native window handle to associate with the WebView (default: NULL). + * Set to NULL to let the library create its own window. + */ +aWebViewConfig = [ + :debug = true, + :window = NULL +] + +/* + * Internal global list to store objects for method bindings (used by eval in bind()). +*/ +__aWebViewObjects = [] + +/** + * Class WebView: Represents a webview instance for displaying HTML content. + * Provides methods for binding Ring functions to JavaScript, navigating URLs, + * and managing the webview lifecycle. + */ +Class WebView + + _pWebView + _bindings = [] + _isDestroyed = false + + /** + * Initializes the WebView instance using global configuration. + */ + func init + self._pWebView = webview_create(aWebViewConfig[:debug], aWebViewConfig[:window]) + if isNull(self._pWebView) or not isPointer(self._pWebView) + raise("Failed to create webview instance.") + ok + + # Automatically bind global `aBindList` if it exists. + bindMany(NULL) + + /** + * Checks if the webview has been destroyed. + * @return true if destroyed, false otherwise. + */ + func isDestroyed() + return self._isDestroyed + + /** + * Runs the webview event loop (blocking call). + * Destroys the webview after the loop ends. + */ + func run() + if self.isDestroyed() + return + ok + webview_run(self._pWebView) + # After run() finishes, the window is closed, so we must destroy. + self.destroy() + + /** + * Destroys the webview instance and releases resources. + */ + func destroy() + if self.isDestroyed() + return + ok + + self._isDestroyed = true + + webview_destroy(self._pWebView) + + self._pWebView = NULL + self._bindings = [] + + func terminate() + if self.isDestroyed() + return + ok + webview_terminate(self._pWebView) + + /** + * Dispatches code to run on the main thread. + * @param cCode Code to execute. + * @return Result of dispatch. + */ + func dispatch(cCode) + if self.isDestroyed() + return + ok + + return webview_dispatch(self._pWebView, cCode) + + /** + * Binds a Ring function or object methods to JavaScript. + * + * For simple functions: + * bind(jsName, ringFuncName) + * + * For object methods: + * bind(oObject, aMethods) + * + * @param p1 For functions, the JS name. For objects, the Ring object. + * @param p2 For functions, the Ring function name. For objects, a list of method pairs. + * @return Binding result pointer for simple functions, or nothing for objects. + */ + func bind(p1, p2) + if self.isDestroyed() + return + ok + + # Check for object binding + if isObject(p1) and isList(p2) + oObject = p1 + aMethods = p2 + + # Store object and get its index + nObjectIndex = find(__aWebViewObjects, oObject) + + if nObjectIndex = 0 + add(__aWebViewObjects, ref(oObject)) + nObjectIndex = len(__aWebViewObjects) + ok + + for aMethodInfo in aMethods + if isList(aMethodInfo) and len(aMethodInfo) = 2 and isString(aMethodInfo[1]) and isString(aMethodInfo[2]) + cJSName = aMethodInfo[1] + cMethodName = aMethodInfo[2] + + # Create wrapper function + cFunc = eval(print2str(` + return func (id, req) { __aWebViewObjects[#{nObjectIndex}].#{cMethodName}(id,req) } + `)) + + # Bind the generated function + self.bind(cJSName, cFunc) + else + see "Warning: Invalid method definition." + nl + ok + next + else + # Simple function binding + jsName = p1 + ringFuncName = p2 + aBindResult = webview_bind(self._pWebView, jsName, ringFuncName) + + if isPointer(aBindResult) + add(self._bindings, aBindResult) + ok + return aBindResult + ok + + /** + * Binds multiple Ring functions or object methods to JavaScript. + * + * This function accepts a list containing a mix of binding types: + * - For simple functions: `["jsFunctionName", "ringFunctionName"]` + * - For object methods: `[ringObject, [["jsFunctionName", "methodName"], ...]]` + * + * If `aList` is `NULL`, the function will attempt to use a global list + * named `aBindList` as the source of bindings. + * + * @param aList A list of bindings. If `NULL`, uses the global `aBindList`. + */ + func bindMany(aList) + if self.isDestroyed() + return + ok + + if isNull(aList) + if isGlobal("aBindList") + aList = aBindList + else + return # No bindings to process + ok + ok + + if isList(aList) + for aItem in aList + if isList(aItem) and len(aItem) = 2 + self.bind(aItem[1], aItem[2]) + ok + next + ok + + /** + * Unbinds a JavaScript function name. + * @param jsName JavaScript function name. + * @return Result of unbind. + */ + func unbind(jsName) + if self.isDestroyed() + return + ok + + return webview_unbind(self._pWebView, jsName) + + /** + * Gets the native window handle. + * @return Native window handle. + */ + func getWindow() + if self.isDestroyed() + return + ok + + return webview_get_window(self._pWebView) + + /** + * Gets the native handle of a specific kind. + * @param kind Type of native handle. + * @return Native handle. + */ + func getNativeHandle(kind) + if self.isDestroyed() + return + ok + + return webview_get_native_handle(self._pWebView, kind) + + /** + * Sets the window title. + * @param title Window title string. + */ + func setTitle(title) + if self.isDestroyed() + return + ok + + webview_set_title(self._pWebView, title) + + /** + * Sets the window size. + * @param width Window width. + * @param height Window height. + * @param hint Size hint. + */ + func setSize(width, height, hint) + if self.isDestroyed() + return + ok + + webview_set_size(self._pWebView, width, height, hint) + + /** + * Navigates to a URL. + * @param url URL to navigate to. + */ + func navigate(url) + if self.isDestroyed() + return + ok + + webview_navigate(self._pWebView, url) + + /** + * Sets the HTML content of the webview. + * @param html HTML string. + */ + func setHtml(html) + if self.isDestroyed() + return + ok + + webview_set_html(self._pWebView, html) + + /** + * Injects JavaScript code to run on initialization. + * @param js JavaScript code string. + */ + func injectJS(js) + if self.isDestroyed() + return + ok + + webview_init(self._pWebView, js) + + /** + * Evaluates JavaScript code in the webview. + * @param js JavaScript code string. + */ + func evalJS(js) + if self.isDestroyed() + return + ok + + webview_eval(self._pWebView, js) + + /** + * Returns a result to a JavaScript callback. + * @param id Callback id. + * @param result Result value e.g. WEBVIEW_ERROR_OK. + * @param json JSON string. + */ + func wreturn(id, result, json) + if self.isDestroyed() + return + ok + + webview_return(self._pWebView, id, result, json) + + /** + * Enables or disables window decorations (title bar, borders). + * @param decorated True to show decorations, false for frameless window. + * @return 1 on success, 0 on failure. + */ + func setDecorated(decorated) + if self.isDestroyed() + return 0 + ok + return webview_set_decorated(self._pWebView, decorated) + + /** + * Sets the window transparency level. + * @param opacity Value between 0.0 (transparent) and 1.0 (opaque). + * @return 1 on success, 0 on failure. + */ + func setOpacity(opacity) + if self.isDestroyed() + return 0 + ok + return webview_set_opacity(self._pWebView, opacity) + + /** + * Sets whether the window should stay above all other windows. + * @param onTop True to keep on top, false for normal behavior. + * @return 1 on success, 0 on failure. Not supported on Linux/GTK4. + */ + func setAlwaysOnTop(onTop) + if self.isDestroyed() + return 0 + ok + return webview_set_always_on_top(self._pWebView, onTop) + + /** + * Minimizes the window to the taskbar/dock. + * @return 1 on success, 0 on failure. + */ + func minimize() + if self.isDestroyed() + return 0 + ok + return webview_minimize(self._pWebView) + + /** + * Maximizes the window to fill the screen. + * @return 1 on success, 0 on failure. + */ + func maximize() + if self.isDestroyed() + return 0 + ok + return webview_maximize(self._pWebView) + + /** + * Restores the window from minimized or maximized state. + * @return 1 on success, 0 on failure. + */ + func restore() + if self.isDestroyed() + return 0 + ok + return webview_restore(self._pWebView) + + /** + * Checks if the window is currently maximized. + * @return 1 if maximized, 0 if not. + */ + func isMaximized() + if self.isDestroyed() + return 0 + ok + return webview_is_maximized(self._pWebView) + + /** + * Initiates window dragging. Call from a mouse-down event on custom title bar. + * @return 1 on success, 0 on failure. + */ + func startDrag() + if self.isDestroyed() + return 0 + ok + return webview_start_drag(self._pWebView) + + /** + * Moves the window to the specified screen coordinates. + * @param x The x-coordinate. + * @param y The y-coordinate. + * @return 1 on success, 0 on failure. Not supported on Linux/Wayland. + */ + func setPosition(x, y) + if self.isDestroyed() + return 0 + ok + return webview_set_position(self._pWebView, x, y) + + /** + * Gets the current window position. + * @return A list [x, y] containing the window coordinates. + */ + func getPosition() + if self.isDestroyed() + return [0, 0] + ok + return webview_get_position(self._pWebView) + + /** + * Gets the current window size. + * @return A list [width, height] containing the window dimensions. + */ + func getSize() + if self.isDestroyed() + return [0, 0] + ok + return webview_get_size(self._pWebView) + + /** + * Brings the window to the front and gives it focus. + * @return 1 on success, 0 on failure. + */ + func focus() + if self.isDestroyed() + return 0 + ok + return webview_focus(self._pWebView) + + /** + * Hides the window without destroying it. + * @return 1 on success, 0 on failure. + */ + func hide() + if self.isDestroyed() + return 0 + ok + return webview_hide(self._pWebView) + + /** + * Shows a previously hidden window. + * @return 1 on success, 0 on failure. + */ + func show() + if self.isDestroyed() + return 0 + ok + return webview_show(self._pWebView) + + /** + * Initiates window resizing from the specified edge. + * @param edge The edge constant (e.g., WEBVIEW_EDGE_RIGHT). + * @return 1 on success, 0 on failure. + */ + func startResize(edge) + if self.isDestroyed() + return 0 + ok + return webview_start_resize(self._pWebView, edge) + + /** + * Enables or disables fullscreen mode. + * @param fullscreen True for fullscreen, false for windowed mode. + * @return 1 on success, 0 on failure. + */ + func setFullscreen(fullscreen) + if self.isDestroyed() + return 0 + ok + return webview_set_fullscreen(self._pWebView, fullscreen) + + /** + * Checks if the window is currently in fullscreen mode. + * @return 1 if fullscreen, 0 if windowed. + */ + func isFullscreen() + if self.isDestroyed() + return 0 + ok + return webview_is_fullscreen(self._pWebView) + + /** + * Enables or disables window resizing by the user. + * @param resizable True to allow resizing, false to prevent it. + * @return 1 on success, 0 on failure. + */ + func setResizable(resizable) + if self.isDestroyed() + return 0 + ok + return webview_set_resizable(self._pWebView, resizable) + + /** + * Checks if the window is currently resizable. + * @return 1 if resizable, 0 if not. + */ + func isResizable() + if self.isDestroyed() + return 0 + ok + return webview_is_resizable(self._pWebView) + + /** + * Sets the minimum size constraint for the window. + * @param width Minimum width in pixels. + * @param height Minimum height in pixels. + * @return 1 on success, 0 on failure. + */ + func setMinSize(width, height) + if self.isDestroyed() + return 0 + ok + return webview_set_min_size(self._pWebView, width, height) + + /** + * Sets the maximum size constraint for the window. + * @param width Maximum width in pixels. + * @param height Maximum height in pixels. + * @return 1 on success, 0 on failure. + */ + func setMaxSize(width, height) + if self.isDestroyed() + return 0 + ok + return webview_set_max_size(self._pWebView, width, height) + + /** + * Sets the background color of the webview. + * @param r Red component (0-255). + * @param g Green component (0-255). + * @param b Blue component (0-255). + * @param a Alpha component (0-255). 0 = transparent, 255 = opaque. + * @return 1 on success, 0 on failure. + */ + func setBackgroundColor(r, g, b, a) + if self.isDestroyed() + return 0 + ok + return webview_set_background_color(self._pWebView, r, g, b, a) + + /** + * Navigates back in the browsing history. + * @return 1 on success, 0 on failure. + */ + func back() + if self.isDestroyed() + return 0 + ok + return webview_back(self._pWebView) + + /** + * Navigates forward in the browsing history. + * @return 1 on success, 0 on failure. + */ + func forward() + if self.isDestroyed() + return 0 + ok + return webview_forward(self._pWebView) + + /** + * Reloads the current page. + * @return 1 on success, 0 on failure. + */ + func reload() + if self.isDestroyed() + return 0 + ok + return webview_reload(self._pWebView) + + /** + * Shows or hides the developer tools (inspector). + * @param enabled True to show dev tools, false to hide. + * @return 1 on success, 0 on failure. + */ + func setDevTools(enabled) + if self.isDestroyed() + return 0 + ok + return webview_set_dev_tools(self._pWebView, enabled) + + /** + * Gets the URL of the currently loaded page. + * @return The current URL string, or empty string if not available. + */ + func getUrl() + if self.isDestroyed() + return "" + ok + return webview_get_url(self._pWebView) + + /** + * Gets the title of the currently loaded page. + * @return The page title string, or empty string if not available. + */ + func getPageTitle() + if self.isDestroyed() + return "" + ok + return webview_get_title(self._pWebView) + + /** + * Enables or disables the default browser context menu (right-click menu). + * @param enabled True to allow context menu, false to suppress it. + * @return 1 on success, 0 on failure. + */ + func setContextMenu(enabled) + if self.isDestroyed() + return 0 + ok + return webview_set_context_menu(self._pWebView, enabled) + + /** + * Sets the window icon from a file. + * @param iconPath Path to the icon file (PNG, ICO, etc.). + * @return 1 on success, 0 on failure. + */ + func setIcon(iconPath) + if self.isDestroyed() + return 0 + ok + return webview_set_icon(self._pWebView, iconPath) + + /** + * Checks if the window currently has focus. + * @return 1 if focused, 0 if not. + */ + func isFocused() + if self.isDestroyed() + return 0 + ok + return webview_is_focused(self._pWebView) + + /** + * Checks if the window is currently visible. + * @return 1 if visible, 0 if hidden. + */ + func isVisible() + if self.isDestroyed() + return 0 + ok + return webview_is_visible(self._pWebView) + + /** + * Programmatically closes the window. + * @return 1 on success, 0 on failure. + */ + func closeWindow() + if self.isDestroyed() + return 0 + ok + return webview_close(self._pWebView) + + /** + * Forces dark mode for the application UI. + * @param enabled True to force dark mode, false for system default. + * @return 1 on success, 0 on failure. Only supported on Linux with libadwaita. + */ + func setForceDark(enabled) + if self.isDestroyed() + return 0 + ok + return webview_set_force_dark(self._pWebView, enabled) + + /** + * Checks if dark mode is forced. + * @return 1 if dark mode is forced, 0 if not. + */ + func isForceDark() + if self.isDestroyed() + return 0 + ok + return webview_is_force_dark(self._pWebView) + + /** + * Gets information about all connected monitors/screens. + * @return A list of lists. Each: [name, x, y, width, height]. + */ + func getScreens() + if self.isDestroyed() + return [] + ok + return webview_get_screens(self._pWebView) + + /** + * Enables or disables click-through mode (mouse events pass through). + * @param enabled True to enable click-through, false to disable. + * @return 1 on success, 0 on failure. Only supported on Windows. + */ + func setClickThrough(enabled) + if self.isDestroyed() + return 0 + ok + return webview_set_click_through(self._pWebView, enabled) + + /** + * Checks if click-through mode is enabled. + * @return 1 if enabled, 0 if not. + */ + func isClickThrough() + if self.isDestroyed() + return 0 + ok + return webview_is_click_through(self._pWebView) + + /** + * Sets a callback for when the window close is requested. + * @param callback Name of the Ring function: func name(cData). + * @return 1 on success, 0 on failure. + */ + func onClose(callback) + if self.isDestroyed() + return 0 + ok + return webview_on_close(self._pWebView, callback) + + /** + * Sets a callback for when the window is resized. + * @param callback Name of the Ring function: func name(cSize) where cSize is "WIDTHxHEIGHT". + * @return 1 on success, 0 on failure. + */ + func onResize(callback) + if self.isDestroyed() + return 0 + ok + return webview_on_resize(self._pWebView, callback) + + /** + * Sets a callback for when the window gains or loses focus. + * @param callback Name of the Ring function: func name(cFocused) where cFocused is "true" or "false". + * @return 1 on success, 0 on failure. + */ + func onFocus(callback) + if self.isDestroyed() + return 0 + ok + return webview_on_focus(self._pWebView, callback) + + /** + * Sets a callback for when the DOM is ready. + * @param callback Name of the Ring function: func name(cData). + * @return 1 on success, 0 on failure. + */ + func onDomReady(callback) + if self.isDestroyed() + return 0 + ok + return webview_on_dom_ready(self._pWebView, callback) + + /** + * Sets a callback for when a page load starts or finishes. + * @param callback Name of the Ring function: func name(cState) where cState is "started" or "finished". + * @return 1 on success, 0 on failure. + */ + func onLoad(callback) + if self.isDestroyed() + return 0 + ok + return webview_on_load(self._pWebView, callback) + + /** + * Sets a callback for when navigation occurs. + * @param callback Name of the Ring function: func name(cUrl). + * @return 1 on success, 0 on failure. + */ + func onNavigate(callback) + if self.isDestroyed() + return 0 + ok + return webview_on_navigate(self._pWebView, callback) + + /** + * Sets a callback for when the page title changes. + * @param callback Name of the Ring function: func name(cTitle). + * @return 1 on success, 0 on failure. + */ + func onTitle(callback) + if self.isDestroyed() + return 0 + ok + return webview_on_title(self._pWebView, callback) \ No newline at end of file diff --git a/examples/android/ring/webview.ring b/examples/android/ring/webview.ring new file mode 100644 index 0000000..64fe65e --- /dev/null +++ b/examples/android/ring/webview.ring @@ -0,0 +1,5 @@ +# This file is part of the Ring WebView library. + +# Load the Ring WebView Class and Constants. +load "src/webview.ring" +load "src/webview.rh" diff --git a/examples/android/ring2apk.ring b/examples/android/ring2apk.ring new file mode 100644 index 0000000..a71e2c3 --- /dev/null +++ b/examples/android/ring2apk.ring @@ -0,0 +1,41 @@ +/* + ring2apk configuration file — Ring WebView Android example +*/ + +# App configuration +Ring2ApkConfig = [ + # App identity + :name = "webviewdemo", + :packageId = "io.github.ysdragon.webview", + :versionCode = 1, + :versionName = "1.0.0", + + # Android SDK versions + :minSdk = 21, + :targetSdk = 36, + :compileSdk = 36, + + # Target architectures + :targets = ["arm64-v8a"], + + # Directories + :assetsDir = "assets", + :resDir = "res", + :srcDir = "src", + :outputDir = "build", + + # Entry point Ring file + :entryPoint = "main.ring", + + :ringSrcDir = "ring", + + # App display settings + :label = "Ring WebView", + :orientation = "unspecified", + :theme = "@style/AppTheme", + + # Permissions + :permissions = [ + "android.permission.INTERNET" + ] +] diff --git a/examples/android/src/cpp/CMakeLists.txt b/examples/android/src/cpp/CMakeLists.txt new file mode 100644 index 0000000..29438cc --- /dev/null +++ b/examples/android/src/cpp/CMakeLists.txt @@ -0,0 +1,45 @@ +cmake_minimum_required(VERSION 3.22) +project(myapp C) + +# Workaround for large file support on some Android ABIs +if((ANDROID_ABI STREQUAL "armeabi-v7a" OR ANDROID_ABI STREQUAL "x86") AND ANDROID_PLATFORM_LEVEL LESS 24) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -U_FILE_OFFSET_BITS") +endif() + +# ============================================================================ +# Ring Language (build from source) +# ============================================================================ +set(RING_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ring") +if(NOT EXISTS "${RING_DIR}/src") + message(FATAL_ERROR "Ring sources not found! Expected at ${RING_DIR}/src") +endif() + +file(GLOB RING_SOURCES ${RING_DIR}/src/*.c) + +add_library(ring STATIC ${RING_SOURCES}) +target_include_directories(ring PUBLIC "${RING_DIR}/include") +target_link_libraries(ring PUBLIC android log) + +# ============================================================================ +# Main Application +# ============================================================================ +add_library(main SHARED + main.c + ${CMAKE_SOURCE_DIR}/../../build/gen/ringappcode.c +) + +target_include_directories(main PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_SOURCE_DIR}/../../build/gen + ${RING_DIR}/include +) + +target_link_libraries(main PRIVATE + ring + android + log +) + +add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/../../../.." "${CMAKE_BINARY_DIR}/ring_webview") + +target_link_libraries(main PRIVATE ring_webview_android) \ No newline at end of file diff --git a/examples/android/src/cpp/main.c b/examples/android/src/cpp/main.c new file mode 100644 index 0000000..0516fd8 --- /dev/null +++ b/examples/android/src/cpp/main.c @@ -0,0 +1,79 @@ +/* main.c — Ring app entry point for the Android WebView example. + * + * Owns ALL Ring loading. The backend (ring_webview_android.c) keeps only + * JNI; its worker thread calls ring_app_main() and never touches Ring + * loading directly. + * + * Two responsibilities: + * + * 1. ring_vm_extension() — replicates Ring's ext.c verbatim and appends + * the webview backend's ringlib_init() so the webview_* functions are + * registered when the VM starts. This file replaces ext.c in the Ring + * source list (see CMakeLists.txt), keeping Ring sources pristine. + * + * 2. ring_app_main() — creates the Ring state and runs the embedded + * bytecode from ringappcode.c (generated by `ring -geo -norun + * main.ring`, which compiles main.ring and every transitive load into + * one self-contained bytecode — no .ring files are read at runtime). + */ + +#include "ring.h" +#include "ringappcode.h" + +/* Provided by ring_webview_android.c */ +extern void ringlib_init(RingState *pRingState); + +/* ------------------------------------------------------------------ */ +/* 1. Ring VM extension hook (replaces ext.c) */ +/* ------------------------------------------------------------------ */ + +void ring_vm_extension(RingState *pRingState) { +/* List */ +#if RING_VM_LISTFUNCS + ring_vm_list_loadfunctions(pRingState); +#endif +/* Math */ +#if RING_VM_MATH + ring_vm_math_loadfunctions(pRingState); +#endif +/* File */ +#if RING_VM_FILE + ring_vm_file_loadfunctions(pRingState); +#endif +/* OS */ +#if RING_VM_OS + ring_vm_os_loadfunctions(pRingState); +#endif +/* DLL */ +#if RING_VM_DLL + ring_vm_dll_loadfunctions(pRingState); +#endif +/* Reflection and Meta-programming */ +#if RING_VM_REFMETA + ring_vm_refmeta_loadfunctions(pRingState); +#endif +/* VM Information */ +#if RING_VM_INFO + ring_vm_info_loadfunctions(pRingState); +#endif +/* WebView backend */ + ringlib_init(pRingState); +} + +/* ------------------------------------------------------------------ */ +/* 2. App entry point — called by the backend's worker thread */ +/* ------------------------------------------------------------------ */ + +/* Creates the Ring state and runs the embedded bytecode. Returns only + * when the Ring program exits (i.e. webview_run() returns and main() + * finishes). The backend captures the live RingState itself inside + * ring_webview_create() via RING_API_STATE, so no state is passed back. */ +void ring_app_main(void) { + RingState *pRingState = ring_state_new(); + if (!pRingState) { + return; + } + pRingState->lRun = 1; + ringappcode_run(pRingState); + ring_state_delete(pRingState); +} diff --git a/examples/android/src/java/io/github/ysdragon/webview/MainActivity.java b/examples/android/src/java/io/github/ysdragon/webview/MainActivity.java new file mode 100644 index 0000000..5fa51e2 --- /dev/null +++ b/examples/android/src/java/io/github/ysdragon/webview/MainActivity.java @@ -0,0 +1,464 @@ +/* + * MainActivity.java + * Copyright (c) Youssef Saeed + * All rights reserved. + */ +package io.github.ysdragon.webview; + +import android.annotation.SuppressLint; +import android.app.Activity; +import android.app.AlertDialog; +import android.content.DialogInterface; +import android.graphics.Color; +import android.os.Build; +import android.os.Bundle; +import android.os.Looper; +import android.util.Log; +import android.view.View; +import android.view.Window; +import android.view.WindowInsetsController; +import android.view.WindowManager; +import android.webkit.ConsoleMessage; +import android.webkit.JavascriptInterface; +import android.webkit.JsPromptResult; +import android.webkit.JsResult; +import android.webkit.WebChromeClient; +import android.webkit.WebSettings; +import android.webkit.WebView; +import android.webkit.WebViewClient; +import android.widget.EditText; + +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicReference; + +// Android host: owns the WebView on the UI thread. Ring VM runs on a native +// worker thread; all cross-talk goes through ring_webview_android.c. +public class MainActivity extends Activity { + + private static final String TAG = "RingWebView"; + private static final long SYNC_TIMEOUT_MS = 5000; + + static { + System.loadLibrary("main"); + } + + private WebView webView; + private volatile String injectJs = ""; + private volatile boolean destroyed = false; + // Last URL / HTML (crash reload; reset on rotation). Last size (resize on change). + // UI thread only. + private String lastUrl = ""; + private String lastHtml = ""; + private int lastW = -1, lastH = -1; + // Crash-loop guard: a poison page must not rebuild forever. + private int crashCount = 0; + private long lastCrashMs = 0; + + /* ------------------------------------------------------------------ */ + /* Lifecycle */ + /* ------------------------------------------------------------------ */ + + @SuppressLint("SetJavaScriptEnabled") + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + requestWindowFeature(Window.FEATURE_NO_TITLE); + getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); + + Window window = getWindow(); + window.setStatusBarColor(Color.TRANSPARENT); + if (Build.VERSION.SDK_INT >= 30) { + window.setDecorFitsSystemWindows(false); + } else { + int flags = View.SYSTEM_UI_FLAG_LAYOUT_STABLE + | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN; + window.getDecorView().setSystemUiVisibility(flags); + } + + webView = createWebView(); + setContentView(webView); + + // Dark page: keep light status-bar icons. + if (Build.VERSION.SDK_INT >= 30) { + WindowInsetsController controller = window.getInsetsController(); + if (controller != null) { + controller.setSystemBarsAppearance( + 0, + WindowInsetsController.APPEARANCE_LIGHT_STATUS_BARS); + } + } + + nativeStart(); + } + + // Fully configured WebView. Shared by onCreate and crash recovery. + // UI thread only. + private WebView createWebView() { + final WebView v = new WebView(this); + + WebSettings settings = v.getSettings(); + settings.setJavaScriptEnabled(true); + settings.setDomStorageEnabled(true); + settings.setAllowFileAccess(true); + settings.setAllowContentAccess(true); + settings.setMediaPlaybackRequiresUserGesture(false); + settings.setLoadWithOverviewMode(true); + settings.setUseWideViewPort(true); + + v.setWebViewClient(new WebViewClient() { + @Override + public boolean shouldOverrideUrlLoading(WebView view, String url) { + return false; + } + + @Override + public void onPageStarted(WebView view, String url, android.graphics.Bitmap favicon) { + if (url != null) { + lastUrl = url; + // Real navigation wins over earlier setHtml content. + if (!url.equals("about:blank")) lastHtml = ""; + } + nativeOnPageStarted(url); + } + + @Override + public void onPageFinished(WebView view, String url) { + String js = injectJs; + if (js != null && js.length() > 0) { + view.evaluateJavascript(js, null); + } + nativeOnPageFinished(url); + } + + @Override + public boolean onRenderProcessGone(WebView view, android.webkit.RenderProcessGoneDetail detail) { + return handleRenderCrash(view, detail); + } + }); + + v.setWebChromeClient(new WebChromeClient() { + @Override + public void onReceivedTitle(WebView view, String title) { + nativeOnTitleChanged(title); + } + + @Override + public boolean onConsoleMessage(ConsoleMessage cm) { + Log.i(TAG, "JS: " + cm.message() + " @" + cm.sourceId() + ":" + cm.lineNumber()); + return true; + } + + @Override + public boolean onJsAlert(WebView view, String url, String message, final JsResult result) { + new AlertDialog.Builder(MainActivity.this, android.R.style.Theme_DeviceDefault_Dialog_Alert) + .setMessage(message) + .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + result.confirm(); + } + }) + .setCancelable(false) + .show(); + return true; + } + + @Override + public boolean onJsConfirm(WebView view, String url, String message, final JsResult result) { + new AlertDialog.Builder(MainActivity.this, android.R.style.Theme_DeviceDefault_Dialog_Alert) + .setMessage(message) + .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + result.confirm(); + } + }) + .setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + result.cancel(); + } + }) + .setCancelable(false) + .show(); + return true; + } + + @Override + public boolean onJsPrompt(WebView view, String url, String message, String defaultValue, + final JsPromptResult result) { + final EditText input = new EditText(MainActivity.this); + input.setText(defaultValue); + new AlertDialog.Builder(MainActivity.this, android.R.style.Theme_DeviceDefault_Dialog_Alert) + .setMessage(message) + .setView(input) + .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + result.confirm(input.getText().toString()); + } + }) + .setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + result.cancel(); + } + }) + .setCancelable(false) + .show(); + return true; + } + }); + + v.addJavascriptInterface(new RingBridge(), "RingBridge"); + + v.getViewTreeObserver().addOnGlobalLayoutListener(new android.view.ViewTreeObserver.OnGlobalLayoutListener() { + @Override + public void onGlobalLayout() { + int w = v.getWidth(), h = v.getHeight(); + if (w != lastW || h != lastH) { + lastW = w; + lastH = h; + if (w > 0 && h > 0) nativeOnResize(w, h); + } + } + }); + + return v; + } + + // Renderer gone: destroy the dead view, build an identical one, reload. + // Inject JS persists, so bindings come back with the page. True = handled. + // API 26+ only. + private boolean handleRenderCrash(WebView view, android.webkit.RenderProcessGoneDetail detail) { + boolean crashed = detail != null && detail.didCrash(); + Log.w(TAG, "WebView render process " + (crashed ? "crashed" : "killed by system") + + "; rebuilding view, lastUrl=" + lastUrl); + if (view != null) view.destroy(); + lastW = lastH = -1; + webView = createWebView(); + setContentView(webView); + long now = System.currentTimeMillis(); + if (now - lastCrashMs > 10000) crashCount = 0; + lastCrashMs = now; + // Same page crashing repeatedly: rebuild empty, stop reloading it. + if (++crashCount > 3) { + Log.e(TAG, "WebView crashed repeatedly; showing empty view"); + return true; + } + if (!lastHtml.isEmpty()) renderHtml(webView, lastHtml); + else if (!lastUrl.isEmpty()) webView.loadUrl(lastUrl); + return true; + } + + private void renderHtml(WebView v, String html) { + if (v != null) v.loadDataWithBaseURL(null, html, "text/html", "UTF-8", null); + } + + @Override + public void onWindowFocusChanged(boolean hasFocus) { + super.onWindowFocusChanged(hasFocus); + nativeOnFocusChanged(hasFocus); + } + + @Override + public void onBackPressed() { + if (webView != null && webView.canGoBack()) { + webView.goBack(); + } else { + nativeOnClose(); + super.onBackPressed(); + } + } + + @Override + protected void onDestroy() { + // Rotation destroys too; only a real finish kills the worker. + if (isFinishing()) { + destroyed = true; + nativeDestroy(); + } + if (webView != null) { + webView.destroy(); + webView = null; + } + super.onDestroy(); + } + + /* ------------------------------------------------------------------ */ + /* Called from native (worker thread unless noted) */ + /* ------------------------------------------------------------------ */ + + public void evalJs(final String js) { + if (destroyed || webView == null) return; + runOnUiThread(new Runnable() { + @Override + public void run() { + if (webView != null) webView.evaluateJavascript(js, null); + } + }); + } + + public void loadUrl(final String url) { + if (destroyed || webView == null) return; + runOnUiThread(new Runnable() { + @Override + public void run() { + if (webView != null) webView.loadUrl(url); + } + }); + } + + public void loadHtml(final String html) { + if (destroyed || webView == null) return; + lastHtml = (html == null) ? "" : html; + runOnUiThread(new Runnable() { + @Override + public void run() { + renderHtml(webView, html); + } + }); + } + + public void goBack() { + if (destroyed || webView == null) return; + runOnUiThread(new Runnable() { + @Override + public void run() { + if (webView != null && webView.canGoBack()) webView.goBack(); + } + }); + } + + public void goForward() { + if (destroyed || webView == null) return; + runOnUiThread(new Runnable() { + @Override + public void run() { + if (webView != null && webView.canGoForward()) webView.goForward(); + } + }); + } + + public void reload() { + if (destroyed || webView == null) return; + runOnUiThread(new Runnable() { + @Override + public void run() { + if (webView != null) webView.reload(); + } + }); + } + + // Sync URL query; blocks the caller on the UI thread. + public String getUrlSync() { + if (destroyed || webView == null) return ""; + if (Looper.myLooper() == Looper.getMainLooper()) { + String u = webView.getUrl(); + return u == null ? "" : u; + } + final AtomicReference ref = new AtomicReference(""); + final CountDownLatch latch = new CountDownLatch(1); + runOnUiThread(new Runnable() { + @Override + public void run() { + String u = (webView != null) ? webView.getUrl() : null; + ref.set(u == null ? "" : u); + latch.countDown(); + } + }); + try { + boolean ok = latch.await(SYNC_TIMEOUT_MS, TimeUnit.MILLISECONDS); + if (!ok) { + Log.w(TAG, "getUrlSync timed out after " + SYNC_TIMEOUT_MS + "ms; returning \"\""); + } + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + Log.w(TAG, "getUrlSync interrupted; returning \"\""); + } + return ref.get(); + } + + // Sync title query; blocks the caller on the UI thread. + public String getTitleSync() { + if (destroyed || webView == null) return ""; + if (Looper.myLooper() == Looper.getMainLooper()) { + String t = webView.getTitle(); + return t == null ? "" : t; + } + final AtomicReference ref = new AtomicReference(""); + final CountDownLatch latch = new CountDownLatch(1); + runOnUiThread(new Runnable() { + @Override + public void run() { + String t = (webView != null) ? webView.getTitle() : null; + ref.set(t == null ? "" : t); + latch.countDown(); + } + }); + try { + boolean ok = latch.await(SYNC_TIMEOUT_MS, TimeUnit.MILLISECONDS); + if (!ok) { + Log.w(TAG, "getTitleSync timed out after " + SYNC_TIMEOUT_MS + "ms; returning \"\""); + } + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + Log.w(TAG, "getTitleSync interrupted; returning \"\""); + } + return ref.get(); + } + + public void setDebug(final boolean enabled) { + // setWebContentsDebuggingEnabled must run on the UI thread. + runOnUiThread(new Runnable() { + @Override + public void run() { + WebView.setWebContentsDebuggingEnabled(enabled); + } + }); + } + + // Script re-injected after every page load. + public void setInjectJs(String js) { + injectJs = (js == null) ? "" : js; + } + + public void finishApp() { + if (destroyed) return; + runOnUiThread(new Runnable() { + @Override + public void run() { + finish(); + } + }); + } + + /* ------------------------------------------------------------------ */ + /* JavaScript bridge */ + /* ------------------------------------------------------------------ */ + + // TRUST BOUNDARY: every page, remote included, can call any bound Ring + // function by name. Validate args; no privileged ops. + private class RingBridge { + @JavascriptInterface + public void call(String name, String id, String req) { + nativeOnBridgeCall(name, id, req); + } + } + + /* ------------------------------------------------------------------ */ + /* Native methods (implemented in ring_webview_android.c) */ + /* ------------------------------------------------------------------ */ + + private native void nativeStart(); + private native void nativeDestroy(); + private native void nativeOnBridgeCall(String name, String id, String req); + private native void nativeOnPageStarted(String url); + private native void nativeOnPageFinished(String url); + private native void nativeOnClose(); + private native void nativeOnTitleChanged(String title); + private native void nativeOnFocusChanged(boolean focused); + private native void nativeOnResize(int width, int height); +} diff --git a/examples/android/src/proguard-webview.pro b/examples/android/src/proguard-webview.pro new file mode 100644 index 0000000..8c4573a --- /dev/null +++ b/examples/android/src/proguard-webview.pro @@ -0,0 +1,17 @@ +# Ring WebView Android backend — ProGuard / R8 keep rules. +# +# The native backend (ring_webview_android.c) looks up MainActivity methods by +# string name via GetMethodID, and the JS bridge entry point is reached by +# reflection (@JavascriptInterface). With minification enabled, R8 would rename +# or strip them and the bridge would break silently at runtime (UnsatisfiedLink +# errors never fire — calls just stop arriving). +# +# Pass this file to the APK packager (ring2apk) whenever minify is enabled. +# Without minification it is inert documentation of the reflective boundary. + +-keep class io.github.ysdragon.webview.MainActivity { + *; +} +-keepclassmembers class io.github.ysdragon.webview.MainActivity$RingBridge { + *; +} From b70bedf8576f63f4ec0bff40769479c8b5b46594 Mon Sep 17 00:00:00 2001 From: ysdragon Date: Sat, 5 Sep 2026 21:36:21 +0300 Subject: [PATCH 4/9] docs(android): add Android WebView documentation --- docs/ANDROID.md | 74 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 docs/ANDROID.md diff --git a/docs/ANDROID.md b/docs/ANDROID.md new file mode 100644 index 0000000..0edb7c8 --- /dev/null +++ b/docs/ANDROID.md @@ -0,0 +1,74 @@ +# Building Android Apps with Ring WebView + +Write `main.ring` once, ship it on desktop and Android. On Android the same +Ring C-API is backed by `android.webkit.WebView` through JNI — no Java and +no Gradle required from you. + +## Prerequisites + +- Ring 1.27+, Android SDK + NDK + JDK, CMake + Ninja +- [ring2apk](https://github.com/ysdragon/ring2apk): `ringpm install ring2apk from ysdragon` + +## Start + +```sh +ring2apk init myapp # scaffold, or copy examples/android/ +cd myapp +ring2apk build # → build/myapp-debug.apk +ring2apk run # build + install + launch + logcat +adb logcat -s RingOutput:D # `see` output +``` + +Config lives in `ring2apk.ring` (`:packageId`, `:targets`, `:permissions`, +`:entryPoint`). The working reference is +[`examples/android/`](../examples/android/) — a notes +app; its [README](../examples/android/README.md) covers the layout. + +## Write the app + +`ring/main.ring` is compiled to embedded bytecode and linked into +`libmain.so` — no `.ring` files ship. The API matches desktop, so most of +[USAGE](USAGE.md) and [REFERENCE](REFERENCE.md) apply as-is: + +```ring +load "webview.ring" + +aBindList = [["getState", :fetchNotes]] + +oWebView = new WebView() +oWebView { + setTitle("My App") + onLoad(:handleLoad) + onDomReady(:handleDomReady) + onClose(:handleClose) + bindMany(NULL) + setHtml(`

Hello Android

`) + run() +} + +func fetchNotes(cId, aReq) + oWebView.wreturn(cId, WEBVIEW_ERROR_OK, aNotes) +``` + +Bridge rules that matter on mobile: + +- Binds receive Ring lists (JS argument array, JSON-decoded) and should + `wreturn` results; JS gets promises. See the example's bridge table. +- Drive the first render from `onDomReady` (`evalJS("refresh()")`) — it runs + strictly after the bind shim is injected. +- Files persist in the app's `filesDir` (the worker starts there); use + relative paths. +- Window-management calls (`setSize`, `minimize`, …) are desktop no-ops + that return safely — guard mobile layouts with responsive CSS instead. + +## Under the hood + +UI thread owns the WebView and only enqueues; a worker thread owns the Ring +VM and runs a bounded job queue. Rotation re-attaches without destroying; +a killed renderer rebuilds the view and reloads the last HTML/URL (poison +pages stop after 3 crashes in 10s). Single webview per process. +`RingBridge` is callable by any loaded page JS, remote included — validate +bind arguments. + +Backend sources: `src/c_src/ring_webview_android.c`, +`src/android/io/github/ysdragon/webview/MainActivity.java`. From 16cc78bbcd41126c9801f58dba1c64bba405cef8 Mon Sep 17 00:00:00 2001 From: ysdragon Date: Sat, 5 Sep 2026 21:36:46 +0300 Subject: [PATCH 5/9] docs(readme): add Android platform support and setup instructions Update README to include Android in cross-platform features list, add collapsible Android setup section, and document Nota example app. --- README.md | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index f38bc24..e7e1777 100644 --- a/README.md +++ b/README.md @@ -39,7 +39,7 @@ This project is made possible by the tiny [webview](https://github.com/webview/w ## ✨ Features -- **Cross-Platform:** Build applications for Windows, macOS, Linux, and FreeBSD from a single codebase. +- **Cross-Platform:** Build applications for Windows, macOS, Linux, FreeBSD, and Android from a single codebase. - **Modern UI:** Use familiar web technologies to design your user interface. - **Two-Way Binding:** Seamlessly call Ring functions from JavaScript and vice-versa. - **Easy to Use:** A simple and clean API makes it easy to get started. @@ -93,6 +93,15 @@ The compiled macOS library in this package uses the built-in WebKit framework. +
+Click here for instructions on Android + +Android apps are built with [ring2apk](https://github.com/ysdragon/ring2apk) (no Gradle). +You need the Android SDK, the NDK, a JDK, and CMake + Ninja. +See [📱 Android](#-android) and [`docs/ANDROID.md`](docs/ANDROID.md) for the full guide. + +
+ - **Install the library using RingPM:** ```sh ringpm install webview from ysdragon @@ -153,6 +162,25 @@ ring main.ring See [`examples/templates/`](examples/templates/) for details. +## 📱 Android + +The same `main.ring` runs on Android via [ring2apk](https://github.com/ysdragon/ring2apk) +— no Gradle. See [`examples/android/`](examples/android/) (a +glassmorphism notes app) and [`docs/ANDROID.md`](docs/ANDROID.md) (backend +architecture, lifecycle, recovery). + +See [`docs/ANDROID.md`](docs/ANDROID.md) to build and run it. + +
+ ## 📚 API Reference For a detailed list of all available functions, classes, and methods, please refer to our [API reference documentation](docs/REFERENCE.md). From d42d5b21f6a8803fe203ff9f3b57e956da73c5be Mon Sep 17 00:00:00 2001 From: ysdragon Date: Sat, 5 Sep 2026 21:38:33 +0300 Subject: [PATCH 6/9] feat(packaging): include Android backend and example files in package list --- package.ring | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/package.ring b/package.ring index a87d9c0..1d4f5e6 100644 --- a/package.ring +++ b/package.ring @@ -53,6 +53,9 @@ aPackageInfo = [ :files = [ "src/c_src/ring_webview.c", "src/c_src/ring_webview_json.h", + "src/c_src/ring_webview_android.c", + "src/android/io/github/ysdragon/webview/MainActivity.java", + "src/android/proguard-webview.pro", "CMakeLists.txt", "lib.ring", "main.ring", @@ -204,9 +207,31 @@ aPackageInfo = [ "examples/templates/vue/frontend/tsconfig.json", "examples/templates/vue/frontend/tsconfig.node.json", "examples/templates/vue/frontend/vite.config.ts", + "examples/android/.gitignore", + "examples/android/README.md", + "examples/android/img/nota-screenshot.png", + "examples/android/res/mipmap-hdpi/ic_launcher.png", + "examples/android/res/mipmap-mdpi/ic_launcher.png", + "examples/android/res/mipmap-xhdpi/ic_launcher.png", + "examples/android/res/mipmap-xxhdpi/ic_launcher.png", + "examples/android/res/mipmap-xxxhdpi/ic_launcher.png", + "examples/android/res/values/colors.xml", + "examples/android/res/values/strings.xml", + "examples/android/res/values/styles.xml", + "examples/android/ring/main.ring", + "examples/android/ring/src/assets.ring", + "examples/android/ring/src/webview.rh", + "examples/android/ring/src/webview.ring", + "examples/android/ring/webview.ring", + "examples/android/ring2apk.ring", + "examples/android/src/cpp/CMakeLists.txt", + "examples/android/src/cpp/main.c", + "examples/android/src/java/io/github/ysdragon/webview/MainActivity.java", + "examples/android/src/proguard-webview.pro", "README.md", "docs/REFERENCE.md", "docs/USAGE.md", + "docs/ANDROID.md", "LICENSE" ], :ringfolderfiles = [ From 4f63ceaeeba5560539d01ac2c3630b4d82ea4f4a Mon Sep 17 00:00:00 2001 From: ysdragon Date: Sat, 5 Sep 2026 21:39:49 +0300 Subject: [PATCH 7/9] deps(packaging): add ring2apk dependency for Android builds --- package.ring | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/package.ring b/package.ring index 1d4f5e6..2e024a1 100644 --- a/package.ring +++ b/package.ring @@ -48,6 +48,11 @@ aPackageInfo = [ :name = "weblib", :version = "1.0.9", :providerusername = "ringpackages" + ], + [ + :name = "ring2apk", + :version = "1.1.0", + :providerusername = "ysdragon" ] ], :files = [ From 04c3d4298fcb97056ac78eca18e64d25d99fe5b9 Mon Sep 17 00:00:00 2001 From: ysdragon Date: Sat, 5 Sep 2026 21:45:44 +0300 Subject: [PATCH 8/9] feat(package): bump version to 2.0.0 --- package.ring | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.ring b/package.ring index 2e024a1..01880cd 100644 --- a/package.ring +++ b/package.ring @@ -5,11 +5,11 @@ aPackageInfo = [ :developer = "ysdragon", :email = "youssefelkholey@gmail.com", :license = "MIT License", - :version = "1.5.2", + :version = "2.0.0", :ringversion = "1.27", :versions = [ [ - :version = "1.5.2", + :version = "2.0.0", :branch = "main" ] ], From 57fe0587c384ca940e6eacc182de357ae5c9f985 Mon Sep 17 00:00:00 2001 From: ysdragon Date: Sat, 5 Sep 2026 21:47:11 +0300 Subject: [PATCH 9/9] chore(package): add v1.5.2 branch entry to package configuration --- package.ring | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/package.ring b/package.ring index 01880cd..d45376b 100644 --- a/package.ring +++ b/package.ring @@ -11,6 +11,10 @@ aPackageInfo = [ [ :version = "2.0.0", :branch = "main" + ], + [ + :version = "1.5.2", + :branch = "v1.5.2" ] ], :libs = [

AzP`Tlg%U(bLDAs3gu@;% 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