From ae1fb0baa6e4bbbc694d93f66a02a0611c9750ab Mon Sep 17 00:00:00 2001 From: M66B Date: Tue, 19 May 2026 22:54:34 +0200 Subject: [PATCH] Open default browser standalone by default --- .../faircode/email/FragmentDialogOpenLink.java | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/FragmentDialogOpenLink.java b/app/src/main/java/eu/faircode/email/FragmentDialogOpenLink.java index 14997d8574..1e7af52515 100644 --- a/app/src/main/java/eu/faircode/email/FragmentDialogOpenLink.java +++ b/app/src/main/java/eu/faircode/email/FragmentDialogOpenLink.java @@ -757,7 +757,7 @@ public class FragmentDialogOpenLink extends FragmentDialogBase { AdapterPackage adapter = new AdapterPackage(getContext(), pkgs); spOpenWith.setAdapter(adapter); - String main = args.getString("main", null); + boolean selected = false; String open_with_pkg = prefs.getString("open_with_pkg", null); boolean open_with_tabs = prefs.getBoolean("open_with_tabs", true); Log.i("Open with selected=" + open_with_pkg + " tabs=" + open_with_tabs); @@ -765,10 +765,21 @@ public class FragmentDialogOpenLink extends FragmentDialogBase { Package pkg = pkgs.get(position); if (Objects.equals(pkg.name, open_with_pkg) && pkg.tabs == open_with_tabs) { spOpenWith.setSelection(position); + selected = true; break; } - if (Objects.equals(main, pkg.name)) - spOpenWith.setSelection(position); + } + + if (!selected) { + String main = args.getString("main", null); + for (int position = 0; position < pkgs.size(); position++) { + Package pkg = pkgs.get(position); + if (Objects.equals(main, pkg.name)) { + spOpenWith.setSelection(position); + if (!pkg.tabs) + break; + } + } } }