From 732049b540586c857bf8b9a7d1437bc2a498cf68 Mon Sep 17 00:00:00 2001 From: Phillip Hsu Date: Thu, 1 Sep 2016 15:30:35 -0700 Subject: [PATCH] Apply themed icon tint to ringtone icon --- .../clock2/alarms/ExpandedAlarmViewHolder.java | 13 +++++++++++++ ...ringtone_black_24dp.xml => ic_ringtone_24dp.xml} | 3 +-- app/src/main/res/layout/item_expanded_alarm.xml | 2 +- 3 files changed, 15 insertions(+), 3 deletions(-) rename app/src/main/res/drawable/{ic_ringtone_black_24dp.xml => ic_ringtone_24dp.xml} (83%) diff --git a/app/src/main/java/com/philliphsu/clock2/alarms/ExpandedAlarmViewHolder.java b/app/src/main/java/com/philliphsu/clock2/alarms/ExpandedAlarmViewHolder.java index a1e937d..0d9dc5f 100644 --- a/app/src/main/java/com/philliphsu/clock2/alarms/ExpandedAlarmViewHolder.java +++ b/app/src/main/java/com/philliphsu/clock2/alarms/ExpandedAlarmViewHolder.java @@ -3,8 +3,11 @@ package com.philliphsu.clock2.alarms; import android.app.Activity; import android.content.Intent; import android.content.res.ColorStateList; +import android.content.res.TypedArray; +import android.graphics.drawable.Drawable; import android.media.RingtoneManager; import android.net.Uri; +import android.support.v4.graphics.drawable.DrawableCompat; import android.support.v7.app.AppCompatActivity; import android.util.Log; import android.view.View; @@ -159,6 +162,16 @@ public class ExpandedAlarmViewHolder extends BaseAlarmViewHolder { } private void bindRingtone(String ringtone) { + // TODO: Write a Utils method for this. + TypedArray a = getContext().getTheme().obtainStyledAttributes(new int[] {R.attr.themedIconTint}); + ColorStateList iconTint = a.getColorStateList(0); + a.recycle(); + + Drawable ringtoneIcon = mRingtone.getCompoundDrawablesRelative()[0/*start*/]; + ringtoneIcon = DrawableCompat.wrap(ringtoneIcon.mutate()); + DrawableCompat.setTintList(ringtoneIcon, iconTint); + mRingtone.setCompoundDrawablesRelativeWithIntrinsicBounds(ringtoneIcon, null, null, null); + // Initializing to Settings.System.DEFAULT_ALARM_ALERT_URI will show // "Default ringtone (Name)" on the button text, and won't show the // selection on the dialog when first opened. (unless you choose to show diff --git a/app/src/main/res/drawable/ic_ringtone_black_24dp.xml b/app/src/main/res/drawable/ic_ringtone_24dp.xml similarity index 83% rename from app/src/main/res/drawable/ic_ringtone_black_24dp.xml rename to app/src/main/res/drawable/ic_ringtone_24dp.xml index 30ac4ef..45764af 100644 --- a/app/src/main/res/drawable/ic_ringtone_black_24dp.xml +++ b/app/src/main/res/drawable/ic_ringtone_24dp.xml @@ -4,7 +4,6 @@ android:viewportWidth="24.0" android:viewportHeight="24.0"> diff --git a/app/src/main/res/layout/item_expanded_alarm.xml b/app/src/main/res/layout/item_expanded_alarm.xml index c4b4fe8..b3f37e3 100644 --- a/app/src/main/res/layout/item_expanded_alarm.xml +++ b/app/src/main/res/layout/item_expanded_alarm.xml @@ -100,7 +100,7 @@ android:gravity="center_vertical" android:textAppearance="@style/TextAppearance.AppCompat" android:textSize="@dimen/text_size_medium" - android:drawableStart="@drawable/ic_ringtone_black_24dp" + android:drawableStart="@drawable/ic_ringtone_24dp" android:drawablePadding="@dimen/text_compound_drawable_padding"/>