From 51bdc30ed0362a0520972e1e9bd2688f9c9d5f2e Mon Sep 17 00:00:00 2001 From: Isira Seneviratne Date: Sat, 16 Jul 2022 06:20:27 +0530 Subject: [PATCH] Use TextViewCompat.setCompoundDrawableTintList(). --- .../custom/NotificationActionsPreference.java | 22 ++++++++----------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/org/schabi/newpipe/settings/custom/NotificationActionsPreference.java b/app/src/main/java/org/schabi/newpipe/settings/custom/NotificationActionsPreference.java index 1770685e4..3e92f297e 100644 --- a/app/src/main/java/org/schabi/newpipe/settings/custom/NotificationActionsPreference.java +++ b/app/src/main/java/org/schabi/newpipe/settings/custom/NotificationActionsPreference.java @@ -5,7 +5,7 @@ import static org.schabi.newpipe.player.notification.NotificationConstants.ACTIO import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; -import android.graphics.drawable.Drawable; +import android.content.res.ColorStateList; import android.util.AttributeSet; import android.view.LayoutInflater; import android.view.View; @@ -21,7 +21,7 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.content.res.AppCompatResources; -import androidx.core.graphics.drawable.DrawableCompat; +import androidx.core.widget.TextViewCompat; import androidx.preference.Preference; import androidx.preference.PreferenceViewHolder; @@ -214,17 +214,13 @@ public class NotificationActionsPreference extends Preference { .getRoot(); // if present set action icon with correct color - if (NotificationConstants.ACTION_ICONS[action] != 0) { - Drawable drawable = AppCompatResources.getDrawable(getContext(), - NotificationConstants.ACTION_ICONS[action]); - if (drawable != null) { - final int color = ThemeHelper.resolveColorFromAttr(getContext(), - android.R.attr.textColorPrimary); - drawable = DrawableCompat.wrap(drawable).mutate(); - drawable.setTint(color); - radioButton.setCompoundDrawablesRelativeWithIntrinsicBounds(null, - null, drawable, null); - } + final int iconId = NotificationConstants.ACTION_ICONS[action]; + if (iconId != 0) { + radioButton.setCompoundDrawablesRelativeWithIntrinsicBounds(0, 0, iconId, 0); + + final var color = ColorStateList.valueOf(ThemeHelper + .resolveColorFromAttr(getContext(), android.R.attr.textColorPrimary)); + TextViewCompat.setCompoundDrawableTintList(radioButton, color); } radioButton.setText(NotificationConstants.getActionName(getContext(), action));