Apply themed icon tint to ringtone icon

This commit is contained in:
Phillip Hsu 2016-09-01 15:30:35 -07:00
parent 70ccc25bc6
commit 732049b540
3 changed files with 15 additions and 3 deletions

View File

@ -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

View File

@ -4,7 +4,6 @@
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#FF000000"
android:fillAlpha="0.87"
android:fillColor="#FFFFFF"
android:pathData="M12,3v10.55c-0.59,-0.34 -1.27,-0.55 -2,-0.55 -2.21,0 -4,1.79 -4,4s1.79,4 4,4 4,-1.79 4,-4V7h4V3h-6z"/>
</vector>

View File

@ -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"/>
<!--TODO: See CheckableImageButton-->