From 50dff116c6b6cdb8ee01720e8efacce9628e571f Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Fri, 28 Feb 2025 12:21:23 -0800 Subject: capacitor android --- .../app/src/main/java/io/coinos/MainActivity.java | 64 ++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 android/app/src/main/java/io/coinos/MainActivity.java (limited to 'android/app/src/main/java/io/coinos/MainActivity.java') diff --git a/android/app/src/main/java/io/coinos/MainActivity.java b/android/app/src/main/java/io/coinos/MainActivity.java new file mode 100644 index 00000000..66bb81bf --- /dev/null +++ b/android/app/src/main/java/io/coinos/MainActivity.java @@ -0,0 +1,64 @@ +package io.coinos; + +import com.getcapacitor.BridgeActivity; +import com.getcapacitor.Bridge; +import com.getcapacitor.PluginCall; +import com.getcapacitor.PluginHandle; +import android.content.Intent; +import android.net.Uri; +import android.os.Bundle; +import android.webkit.CookieManager; + +public class MainActivity extends BridgeActivity { + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + Intent intent = getIntent(); + if (intent != null && Intent.ACTION_VIEW.equals(intent.getAction())) { + Uri data = intent.getData(); + if (data != null) { + String url = data.toString(); + Bridge bridge = getBridge(); + + if (bridge != null) { + String encodedUrl = Uri.encode(url); + String destinationUrl = "https://coinos.io/send/" + encodedUrl; + + bridge.getWebView().post(() -> { + bridge.getWebView().loadUrl(destinationUrl); + }); + } + } + } + } + + @Override + public void onNewIntent(Intent intent) { + super.onNewIntent(intent); + setIntent(intent); + if (intent != null && Intent.ACTION_VIEW.equals(intent.getAction())) { + Uri data = intent.getData(); + if (data != null) { + String url = data.toString(); + + // Dispatch deep link when app is already open + Bridge bridge = getBridge(); + if (bridge != null) { + String encodedUrl = Uri.encode(url); + String destinationUrl = "https://dev.coinos.io/send/" + encodedUrl; + + bridge.getWebView().post(() -> { + bridge.getWebView().loadUrl(destinationUrl); + }); + } + } + } + } + + @Override + public void onPause() { + super.onPause(); + CookieManager.getInstance().flush(); + } +} -- cgit v1.2.3