From 86506f9ba4cfc565160e705c943749d4cb51c636 Mon Sep 17 00:00:00 2001 From: FineFindus Date: Tue, 30 Apr 2024 19:56:29 +0200 Subject: [PATCH 1/2] feat(about): try to open links in-app The About screen often contains links the local accounts (e.g. moderators, admins) instead of always opening them in the browser, try to open them in-app first. --- .../fragments/settings/SettingsServerAboutFragment.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/settings/SettingsServerAboutFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/settings/SettingsServerAboutFragment.java index a655368e1..421445825 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/settings/SettingsServerAboutFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/settings/SettingsServerAboutFragment.java @@ -83,7 +83,11 @@ public class SettingsServerAboutFragment extends LoaderFragment{ public boolean shouldOverrideUrlLoading(WebView view, String url){ Uri uri=Uri.parse(url); if(uri.getScheme().equals("http") || uri.getScheme().equals("https")){ - UiUtils.launchWebBrowser(getActivity(), url); + if(uri.getHost()!=null && uri.getHost().equals(instance.uri)) + //try to open linked accounts, etc in the app + UiUtils.openURL(getActivity(),accountID, url); + else + UiUtils.launchWebBrowser(getActivity(), url); }else{ Intent intent=new Intent(Intent.ACTION_VIEW, uri); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); From 7801d28a234758578d81985e85d7ce664ff7b07e Mon Sep 17 00:00:00 2001 From: FineFindus Date: Sun, 5 May 2024 21:02:40 +0200 Subject: [PATCH 2/2] refactor(SettingsServerAboutFragment): always use UiUtils.openURL --- .../fragments/settings/SettingsServerAboutFragment.java | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/settings/SettingsServerAboutFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/settings/SettingsServerAboutFragment.java index 421445825..9f519770d 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/settings/SettingsServerAboutFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/settings/SettingsServerAboutFragment.java @@ -83,11 +83,7 @@ public class SettingsServerAboutFragment extends LoaderFragment{ public boolean shouldOverrideUrlLoading(WebView view, String url){ Uri uri=Uri.parse(url); if(uri.getScheme().equals("http") || uri.getScheme().equals("https")){ - if(uri.getHost()!=null && uri.getHost().equals(instance.uri)) - //try to open linked accounts, etc in the app - UiUtils.openURL(getActivity(),accountID, url); - else - UiUtils.launchWebBrowser(getActivity(), url); + UiUtils.openURL(getActivity(),accountID, url); }else{ Intent intent=new Intent(Intent.ACTION_VIEW, uri); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);