From a00d49d1d393ee677f804e78458b1b694d2ea96c Mon Sep 17 00:00:00 2001 From: M66B Date: Sat, 31 Dec 2022 11:03:38 +0100 Subject: [PATCH] Confirm AMP links --- .../java/eu/faircode/email/ActivityAMP.java | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/app/src/main/java/eu/faircode/email/ActivityAMP.java b/app/src/main/java/eu/faircode/email/ActivityAMP.java index bbe0c30aee..275ba8be6d 100644 --- a/app/src/main/java/eu/faircode/email/ActivityAMP.java +++ b/app/src/main/java/eu/faircode/email/ActivityAMP.java @@ -32,6 +32,7 @@ import android.view.MenuItem; import android.view.View; import android.webkit.WebSettings; import android.webkit.WebView; +import android.webkit.WebViewClient; import androidx.annotation.NonNull; import androidx.constraintlayout.widget.Group; @@ -105,6 +106,27 @@ public class ActivityAMP extends ActivityBase { settings.setBlockNetworkImage(false); settings.setJavaScriptEnabled(true); + wvAmp.setWebViewClient(new WebViewClient() { + @Override + public boolean shouldOverrideUrlLoading(WebView view, String url) { + boolean confirm_links = prefs.getBoolean("confirm_links", true); + if (confirm_links) { + Bundle args = new Bundle(); + args.putParcelable("uri", Uri.parse(url)); + args.putString("title", null); + args.putBoolean("always_confirm", true); + + FragmentDialogOpenLink fragment = new FragmentDialogOpenLink(); + fragment.setArguments(args); + fragment.show(getSupportFragmentManager(), "open:link"); + + return true; + } + + return false; + } + }); + // Initialize grpReady.setVisibility(View.GONE);