package android.widget;
import android.annotation.TargetApi;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Typeface;
import android.os.Build;
import android.text.TextUtils;
import android.util.AttributeSet;
import javax.inject.Inject;
import javax.inject.Singleton;
@Singleton
public final class TypefaceManager {
private final Typeface fontRegular;
private final Typeface fontMedium;
@Inject public TypefaceManager(final Typeface fontRegular, @Font("medium") final Typeface fontMedium) {
this.fontRegular = fontRegular;
this.fontMedium = fontMedium;
}
@TargetApi(Build.VERSION_CODES.JELLY_BEAN) public void setup(final Context context, final AttributeSet attrs, final TextView textView) {
Typeface font = null;
if (attrs != null) {
final TypedArray styleValues = context.obtainStyledAttributes(attrs, new int[]{android.R.attr.fontFamily});
final String fontFamily = styleValues.getString(0);
if (!TextUtils.isEmpty(fontFamily)) {
switch (fontFamily) {
case "medium":
font = fontMedium;
break;
}
}
styleValues.recycle();
}
if (font == null) {
font = fontRegular;
}
textView.setTypeface(font);
}
public Typeface getRegular() {
return fontRegular;
}
public Typeface getMedium() {
return fontMedium;
}
}