package org.holoeverywhere.widget;
import android.content.Context;
import android.util.AttributeSet;
import org.holoeverywhere.FontLoader.FontStyleProvider;
import org.holoeverywhere.drawable.DrawableCompat;
public class Button extends android.widget.Button implements FontStyleProvider, DrawableCompat.IStateOverlay {
private final DrawableCompat.StateOverlay mStateOverlay;
private String mFontFamily;
private int mFontStyle;
public Button(Context context) {
this(context, null);
}
public Button(Context context, AttributeSet attrs) {
this(context, attrs, android.R.attr.buttonStyle);
}
public Button(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
TextView.construct(this, context, attrs, defStyle);
mStateOverlay = new DrawableCompat.StateOverlay(this, context, attrs, defStyle);
}
@Override
public boolean isActivated() {
return mStateOverlay.isActivated();
}
@Override
public void setActivated(boolean activated) {
mStateOverlay.setActivated(activated);
}
@Override
protected int[] onCreateDrawableState(int extraSpace) {
if (mStateOverlay == null) {
return super.onCreateDrawableState(extraSpace);
}
return mStateOverlay.onCreateDrawableState(extraSpace);
}
@Override
public int[] superOnCreateDrawableState(int extraSpace) {
return super.onCreateDrawableState(extraSpace);
}
@Override
public String getFontFamily() {
return mFontFamily;
}
@Override
public int getFontStyle() {
return mFontStyle;
}
@Override
public void setAllCaps(boolean allCaps) {
TextView.setAllCaps(this, allCaps);
}
@Override
public void setFontStyle(String fontFamily, int fontStyle) {
mFontFamily = fontFamily;
mFontStyle = fontStyle;
TextView.setFontStyle(this, fontFamily, fontStyle);
}
@Override
public void setTextAppearance(Context context, int resid) {
TextView.setTextAppearance(this, context, resid);
}
}