diff options
| author | Adam Soltys <[email protected]> | 2026-03-09 08:30:41 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2026-03-09 08:30:41 -0700 |
| commit | b83110a8dccb9615ff56787e4358323151ffc453 (patch) | |
| tree | db1b938d208b767b06dac33456e9a189a83f05f4 /android | |
| parent | c7f142e1bd9fcb3dcd9552fb2a1dc7958054965f (diff) | |
| download | coinos-ui-b83110a8dccb9615ff56787e4358323151ffc453.tar.gz coinos-ui-b83110a8dccb9615ff56787e4358323151ffc453.zip | |
use JavascriptInterface for HCE instead of Capacitor plugin
Diffstat (limited to 'android')
| -rw-r--r-- | android/app/src/main/java/io/coinos/MainActivity.java | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/android/app/src/main/java/io/coinos/MainActivity.java b/android/app/src/main/java/io/coinos/MainActivity.java index 3a5654a3..83b731a3 100644 --- a/android/app/src/main/java/io/coinos/MainActivity.java +++ b/android/app/src/main/java/io/coinos/MainActivity.java @@ -5,6 +5,8 @@ import android.view.View; import android.view.WindowInsets; import android.view.WindowManager; import androidx.core.view.ViewCompat; +import androidx.webkit.WebSettingsCompat; +import androidx.webkit.WebViewFeature; import com.getcapacitor.BridgeActivity; import com.getcapacitor.Bridge; @@ -25,6 +27,8 @@ import java.util.Arrays; import io.coinos.nfcwriter.NfcWriterPlugin; import io.coinos.hce.HcePlugin; +import io.coinos.hce.HceApduService; +import android.webkit.JavascriptInterface; public class MainActivity extends BridgeActivity { private NfcAdapter nfcAdapter; @@ -52,6 +56,22 @@ public class MainActivity extends BridgeActivity { }); } + // Enable WebAuthn/passkey support in WebView + if (WebViewFeature.isFeatureSupported(WebViewFeature.WEB_AUTHENTICATION)) { + WebSettingsCompat.setWebAuthenticationSupport( + webView.getSettings(), + WebSettingsCompat.WEB_AUTHENTICATION_SUPPORT_FOR_APP + ); + } + + // Expose HCE control to JavaScript + webView.addJavascriptInterface(new Object() { + @JavascriptInterface + public void setUrl(String url) { HceApduService.setUrl(url); } + @JavascriptInterface + public String getUrl() { return HceApduService.getUrl(); } + }, "CoinosHce"); + // Other app setup CookieManager cookieManager = CookieManager.getInstance(); cookieManager.setAcceptCookie(true); |
