From 15fc60edf7b9dbda7be96dbafb316edc70a016b6 Mon Sep 17 00:00:00 2001 From: Guillaume Jacquart Date: Tue, 20 Sep 2022 09:13:54 +0200 Subject: Tint icon with text color to handle dark mode --- .../e/privacycentralapp/common/TextViewHelpers.kt | 13 ++++++++++--- app/src/main/res/drawable/ic_info_16dp.xml | 16 ++++++++++++++++ 2 files changed, 26 insertions(+), 3 deletions(-) (limited to 'app/src') diff --git a/app/src/main/java/foundation/e/privacycentralapp/common/TextViewHelpers.kt b/app/src/main/java/foundation/e/privacycentralapp/common/TextViewHelpers.kt index a5c576c..1cdc06f 100644 --- a/app/src/main/java/foundation/e/privacycentralapp/common/TextViewHelpers.kt +++ b/app/src/main/java/foundation/e/privacycentralapp/common/TextViewHelpers.kt @@ -18,6 +18,7 @@ package foundation.e.privacycentralapp.common import android.content.Context +import android.content.res.ColorStateList import android.text.Spannable import android.text.SpannableString import android.text.style.ImageSpan @@ -30,18 +31,24 @@ import foundation.e.privacycentralapp.R fun setToolTipForAsterisk( textView: TextView, @StringRes textId: Int, - @StringRes tooltipTextId: Int) { - textView.text = asteriskAsInfoIconSpannable(textView.context, textId) + @StringRes tooltipTextId: Int +) { + textView.text = asteriskAsInfoIconSpannable(textView.context, textId, textView.textColors) TooltipCompat.setTooltipText(textView, textView.context.getString(tooltipTextId)) textView.setOnClickListener { it.performLongClick() } } -private fun asteriskAsInfoIconSpannable(context: Context, @StringRes textId: Int): Spannable { +private fun asteriskAsInfoIconSpannable( + context: Context, + @StringRes textId: Int, + tint: ColorStateList +): Spannable { val spannable = SpannableString(context.getString(textId)) val index = spannable.lastIndexOf("*") if (index != -1) { AppCompatResources.getDrawable(context, R.drawable.ic_info_16dp)?.let { + it.setTintList(tint) it.setBounds(0, 0, it.intrinsicWidth, it.intrinsicHeight) spannable.setSpan( ImageSpan(it), diff --git a/app/src/main/res/drawable/ic_info_16dp.xml b/app/src/main/res/drawable/ic_info_16dp.xml index 5d241e7..063fb73 100644 --- a/app/src/main/res/drawable/ic_info_16dp.xml +++ b/app/src/main/res/drawable/ic_info_16dp.xml @@ -1,3 +1,19 @@ + -- cgit v1.2.1