diff --git a/app/src/main/java/eu/faircode/email/FragmentMessage.java b/app/src/main/java/eu/faircode/email/FragmentMessage.java index 9e34058b..e1e61414 100644 --- a/app/src/main/java/eu/faircode/email/FragmentMessage.java +++ b/app/src/main/java/eu/faircode/email/FragmentMessage.java @@ -89,7 +89,6 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.widget.PopupMenu; -import androidx.browser.customtabs.CustomTabsIntent; import androidx.constraintlayout.widget.Group; import androidx.core.content.ContextCompat; import androidx.fragment.app.FragmentManager; @@ -336,12 +335,7 @@ public class FragmentMessage extends FragmentEx { return; } - // https://developer.chrome.com/multidevice/android/customtabs - CustomTabsIntent.Builder builder = new CustomTabsIntent.Builder(); - builder.setToolbarColor(Helper.resolveColor(getContext(), R.attr.colorPrimary)); - - CustomTabsIntent customTabsIntent = builder.build(); - customTabsIntent.launchUrl(getContext(), uri); + Helper.view(getContext(), uri); } }) .setNegativeButton(R.string.title_no, null) diff --git a/app/src/main/java/eu/faircode/email/FragmentWebView.java b/app/src/main/java/eu/faircode/email/FragmentWebView.java index cc2d2445..cd758c0c 100644 --- a/app/src/main/java/eu/faircode/email/FragmentWebView.java +++ b/app/src/main/java/eu/faircode/email/FragmentWebView.java @@ -34,7 +34,6 @@ import android.widget.ProgressBar; import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import androidx.browser.customtabs.CustomTabsIntent; // https://developer.android.com/reference/android/webkit/WebView @@ -64,11 +63,7 @@ public class FragmentWebView extends FragmentEx { setSubtitle(url); return false; } else { - CustomTabsIntent.Builder builder = new CustomTabsIntent.Builder(); - builder.setToolbarColor(Helper.resolveColor(getContext(), R.attr.colorPrimary)); - - CustomTabsIntent customTabsIntent = builder.build(); - customTabsIntent.launchUrl(getContext(), Uri.parse(url)); + Helper.view(getContext(), Uri.parse(url)); return true; } } diff --git a/app/src/main/java/eu/faircode/email/Helper.java b/app/src/main/java/eu/faircode/email/Helper.java index 72efd0c1..a87d42fb 100644 --- a/app/src/main/java/eu/faircode/email/Helper.java +++ b/app/src/main/java/eu/faircode/email/Helper.java @@ -23,6 +23,7 @@ import android.accounts.Account; import android.accounts.AccountManager; import android.content.Context; import android.content.res.TypedArray; +import android.net.Uri; import android.preference.PreferenceManager; import android.support.annotation.NonNull; import android.text.TextUtils; @@ -55,6 +56,7 @@ import javax.mail.FolderClosedException; import javax.mail.internet.InternetAddress; import androidx.appcompat.app.AlertDialog; +import androidx.browser.customtabs.CustomTabsIntent; import static android.os.Process.THREAD_PRIORITY_BACKGROUND; @@ -75,6 +77,15 @@ public class Helper { } }; + static void view(Context context, Uri uri) { + // https://developer.chrome.com/multidevice/android/customtabs + CustomTabsIntent.Builder builder = new CustomTabsIntent.Builder(); + builder.setToolbarColor(Helper.resolveColor(context, R.attr.colorPrimary)); + + CustomTabsIntent customTabsIntent = builder.build(); + customTabsIntent.launchUrl(context, uri); + } + static int resolveColor(Context context, int attr) { int[] attrs = new int[]{attr}; TypedArray a = context.getTheme().obtainStyledAttributes(attrs);