/* * * * Copyright 2015. Appsi Mobile * * * * Licensed under the Apache License, Version 2.0 (the "License"); * * you may not use this file except in compliance with the License. * * You may obtain a copy of the License at * * * * http://www.apache.org/licenses/LICENSE-2.0 * * * * Unless required by applicable law or agreed to in writing, software * * distributed under the License is distributed on an "AS IS" BASIS, * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * * See the License for the specific language governing permissions and * * limitations under the License. * */ package com.appsimobile.appsii; import android.graphics.Color; import android.graphics.drawable.Drawable; import android.support.v7.graphics.Palette; import android.view.View; import android.widget.TextView; import com.appsimobile.paintjob.PaintJob; /** * Created by nick on 27/04/15. */ public class DrawableStartTintPainter extends PaintJob.BaseViewPainter { public static DrawableStartTintPainter withAlpha(int alpha, int... viewIds) { return new DrawableStartTintPainter(alpha, viewIds); } public static DrawableStartTintPainter forIds(int... viewIds) { return new DrawableStartTintPainter(viewIds); } private DrawableStartTintPainter(int[] viewIds) { this(0xFF, viewIds); } private DrawableStartTintPainter(int alpha, int[] viewIds) { super(alpha, viewIds); } @Override protected int getCurrentColorFromView(View view) { return Color.BLACK; } @Override protected int getTargetColorFromSwatch(Palette.Swatch swatch) { return swatch.getBodyTextColor(); } @Override protected void applyColorToView(View view, int color) { Drawable drawable = ((TextView) view).getCompoundDrawablesRelative()[0]; DrawableCompat.setTintColorCompat(drawable, color); } }