diff options
| author | Adam Soltys <[email protected]> | 2026-09-04 20:53:13 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2026-09-04 20:53:13 -0700 |
| commit | e5e375d8ea2f1193ffe01ff02639f002f91f8035 (patch) | |
| tree | dac59b4eace3befeb978263acd749f2822957cfe /android/app/src/main/AndroidManifest.xml | |
| parent | 8d27a5d2c59e0f1824753d59a7326b6b76887bf7 (diff) | |
| download | coinosv3-e5e375d8ea2f1193ffe01ff02639f002f91f8035.tar.gz coinosv3-e5e375d8ea2f1193ffe01ff02639f002f91f8035.zip | |
Android wrapper v1.1: scheme + NFC intents move onto a per-intent trampoline (IntentActivity, noHistory) — a TWA already on screen ignores a new intent delivered to its still-alive launcher, so a second lightning: tap did nothing; the trampoline maps the URI to ?u= form and relaunches the TWA with CLEAR_TOP, which navigates the open app. Verified on a real phone over adb: URL-bar-less fullscreen (assetlinks verified after the site began serving /.well-known/assetlinks.json — the deploy hook's dist/* glob was blind to dot-directories, fixed on cs), lightning: intent lands on Send with the invoice filled, and a second bitcoin: intent fired while the app was open navigated it (BIP-21 parsed, address + amount). NFC NDEF filters ride the trampoline for bolt cards / NDEF tags
Co-Authored-By: Claude Fable 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01MGzU12QrAA4G6BYGzGVdXz
Diffstat (limited to 'android/app/src/main/AndroidManifest.xml')
| -rw-r--r-- | android/app/src/main/AndroidManifest.xml | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index c6b7a01..4eb96a7 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -32,9 +32,18 @@ <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="https" android:host="v3.coinos.io" /> </intent-filter> - <!-- the payment + nostr schemes: the reason this wrapper exists. - lnurlw/lnurlp ride along — bolt cards and LNURL NFC tags emit - those schemes. --> + </activity> + <!-- Scheme + NFC intents land on this per-intent trampoline, not the + launcher: a TWA already on screen ignores a new intent to its + launcher, so a second lightning: tap used to do nothing. The + trampoline relaunches the TWA with the new URL and finishes. + lnurlw/lnurlp ride along — bolt cards and LNURL NFC tags emit + those schemes; NDEF dispatch needs no NFC permission. --> + <activity + android:name="io.coinos.app.IntentActivity" + android:exported="true" + android:noHistory="true" + android:theme="@android:style/Theme.Translucent.NoTitleBar"> <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> @@ -46,9 +55,6 @@ <data android:scheme="lnurlw" /> <data android:scheme="lnurlp" /> </intent-filter> - <!-- NFC: an NDEF tag carrying one of our URIs (a bolt card tap, an - address sticker) dispatches here directly — same forwarding path - as a VIEW intent, no NFC permission needed for NDEF dispatch. --> <intent-filter> <action android:name="android.nfc.action.NDEF_DISCOVERED" /> <category android:name="android.intent.category.DEFAULT" /> |
