package com.afollestad.materialdialogs.util;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Color;
import android.graphics.drawable.Drawable;
import android.support.annotation.AttrRes;
/**
* @author Aidan Follestad (afollestad)
*/
public class DialogUtils {
public static int adjustAlpha(int color, float factor) {
int alpha = Math.round(Color.alpha(color) * factor);
int red = Color.red(color);
int green = Color.green(color);
int blue = Color.blue(color);
return Color.argb(alpha, red, green, blue);
}
public static int resolveColor(Context context, @AttrRes int attr) {
return resolveColor(context, attr, 0);
}
public static int resolveColor(Context context, @AttrRes int attr, int fallback) {
TypedArray a = context.getTheme().obtainStyledAttributes(new int[]{attr});
try {
return a.getColor(0, fallback);
} finally {
a.recycle();
}
}
public static Drawable resolveDrawable(Context context, @AttrRes int attr) {
return resolveDrawable(context, attr, null);
}
private static Drawable resolveDrawable(Context context, @AttrRes int attr, Drawable fallback) {
TypedArray a = context.getTheme().obtainStyledAttributes(new int[]{attr});
try {
Drawable d = a.getDrawable(0);
if (d == null && fallback != null)
d = fallback;
return d;
} finally {
a.recycle();
}
}
}