From 39993638f550c83195b330e66ee356bbfa476d8b Mon Sep 17 00:00:00 2001 From: M66B Date: Mon, 9 Aug 2021 17:09:54 +0200 Subject: [PATCH] Highlight/dim link scheme --- .../faircode/email/FragmentDialogOpenLink.java | 18 ++++++++++++++++-- app/src/main/res/drawable/twotone_http_24.xml | 10 ---------- app/src/main/res/layout/dialog_open_link.xml | 1 - 3 files changed, 16 insertions(+), 13 deletions(-) delete mode 100644 app/src/main/res/drawable/twotone_http_24.xml diff --git a/app/src/main/java/eu/faircode/email/FragmentDialogOpenLink.java b/app/src/main/java/eu/faircode/email/FragmentDialogOpenLink.java index 12f6a137ef..5d1f6c3ac4 100644 --- a/app/src/main/java/eu/faircode/email/FragmentDialogOpenLink.java +++ b/app/src/main/java/eu/faircode/email/FragmentDialogOpenLink.java @@ -38,6 +38,7 @@ import android.text.TextUtils; import android.text.TextWatcher; import android.text.method.LinkMovementMethod; import android.text.style.ForegroundColorSpan; +import android.text.style.StyleSpan; import android.util.Pair; import android.view.KeyEvent; import android.view.LayoutInflater; @@ -219,8 +220,6 @@ public class FragmentDialogOpenLink extends FragmentDialogBase { cbSecure.setText( secure ? R.string.title_link_https : R.string.title_link_http); - cbSecure.setCompoundDrawablesRelativeWithIntrinsicBounds( - 0, 0, secure ? 0 : R.drawable.twotone_http_24, 0); cbSecure.setTextColor(Helper.resolveColor(context, secure ? android.R.attr.textColorSecondary : R.attr.colorWarning)); cbSecure.setTypeface( @@ -629,6 +628,8 @@ public class FragmentDialogOpenLink extends FragmentDialogBase { try { int textColorLink = Helper.resolveColor(context, android.R.attr.textColorLink); + int colorSeparator = Helper.resolveColor(context, R.attr.colorSeparator); + int colorWarning = Helper.resolveColor(context, R.attr.colorWarning); if ("tel".equals(scheme)) { // tel://+123%2045%20678%123456 @@ -641,6 +642,19 @@ public class FragmentDialogOpenLink extends FragmentDialogBase { } } + if (scheme != null) { + int index = text.indexOf(scheme); + if (index >= 0) + if ("http".equals(scheme)) { + ssb.setSpan(new ForegroundColorSpan(colorWarning), + index, index + scheme.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); + ssb.setSpan(new StyleSpan(Typeface.BOLD), + index, index + scheme.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); + } else + ssb.setSpan(new ForegroundColorSpan(colorSeparator), + index, index + scheme.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); + } + if (host != null) { int index = text.indexOf(host); if (index >= 0) diff --git a/app/src/main/res/drawable/twotone_http_24.xml b/app/src/main/res/drawable/twotone_http_24.xml deleted file mode 100644 index b93de26234..0000000000 --- a/app/src/main/res/drawable/twotone_http_24.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - diff --git a/app/src/main/res/layout/dialog_open_link.xml b/app/src/main/res/layout/dialog_open_link.xml index 492f06ac63..9e058c7855 100644 --- a/app/src/main/res/layout/dialog_open_link.xml +++ b/app/src/main/res/layout/dialog_open_link.xml @@ -172,7 +172,6 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="12dp" - android:drawableEnd="@drawable/twotone_http_24" android:drawablePadding="6dp" android:text="@string/title_link_http" android:textColor="?attr/colorWarning"