Fix bridge

This commit is contained in:
MartinBraquet
2025-10-30 17:15:49 +01:00
parent 4f321490af
commit 1fcb431d1b

View File

@@ -2,6 +2,7 @@ package com.compass.app;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.webkit.JavascriptInterface;
import android.webkit.WebSettings;
import android.webkit.WebView;
@@ -9,6 +10,9 @@ import android.webkit.WebView;
import com.getcapacitor.BridgeActivity;
import com.getcapacitor.BridgeWebViewClient;
import org.json.JSONException;
import org.json.JSONObject;
public class MainActivity extends BridgeActivity {
public class NativeBridge {
@JavascriptInterface
@@ -17,32 +21,32 @@ public class MainActivity extends BridgeActivity {
}
}
// private static final String LOCAL_URL = "file:///android_asset/public/server/pages";
// private static final String REMOTE_URL = "https://www.compassmeet.com";
// Optional helper for future use
// public void loadLocalContent() {
// Log.i("CompassApp", "Loading local assets...");
// this.bridge.getWebView().loadUrl(LOCAL_URL);
// }
//
// public void loadRemoteContent() {
// Log.i("CompassApp", "Loading remote content...");
// this.bridge.getWebView().loadUrl(REMOTE_URL);
// }
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
String data = intent.getDataString();
if (data != null && data.startsWith("com.compassmeet:/auth")) {
bridge.triggerWindowJSEvent("oauthRedirect", data);
Log.i("CompassApp", "onNewIntent called with data: " + data);
if (data != null && data.startsWith("com.compassmeet://auth")) {
Log.i("CompassApp", "triggerWindowJSEvent oauthRedirect");
try {
String payload = new JSONObject().put("data", data).toString();
Log.i("CompassApp", "Payload: " + payload);
bridge.getWebView().post(() -> {
bridge.getWebView().evaluateJavascript("oauthRedirect(" + payload + ");", null);
});
// bridge.triggerJSEvent("oauthRedirect", "window", payload);
} catch (JSONException e) {
Log.i("CompassApp", "Failed to encode JSON payload", e);
}
} else {
Log.i("CompassApp", "No relevant data");
}
}
@Override
public void onCreate(Bundle savedInstanceState) {
Log.i("CompassApp", "onCreate called");
super.onCreate(savedInstanceState);
WebView webView = this.bridge.getWebView();
@@ -99,5 +103,19 @@ public class MainActivity extends BridgeActivity {
// @Override
// public void IHaveModifiedTheMainActivityForTheUseWithSocialLoginPlugin() {
// }
// private static final String LOCAL_URL = "file:///android_asset/public/server/pages";
// private static final String REMOTE_URL = "https://www.compassmeet.com";
// Optional helper for future use
// public void loadLocalContent() {
// Log.i("CompassApp", "Loading local assets...");
// this.bridge.getWebView().loadUrl(LOCAL_URL);
// }
//
// public void loadRemoteContent() {
// Log.i("CompassApp", "Loading remote content...");
// this.bridge.getWebView().loadUrl(REMOTE_URL);
// }
}