package com.jenzz.materialpreference;
import android.annotation.TargetApi;
import android.content.Context;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import static android.content.Context.LAYOUT_INFLATER_SERVICE;
import static android.os.Build.VERSION_CODES.LOLLIPOP;
import static android.text.TextUtils.isEmpty;
import static android.view.View.GONE;
import static android.view.View.VISIBLE;
import static com.jenzz.materialpreference.ThemeUtils.resolveAccentColor;
import static com.jenzz.materialpreference.Typefaces.getRobotoMedium;
public class PreferenceCategory extends android.preference.PreferenceCategory {
private int accentColor;
public PreferenceCategory(Context context) {
super(context);
init();
}
public PreferenceCategory(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public PreferenceCategory(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init();
}
@TargetApi(LOLLIPOP)
public PreferenceCategory(Context context, AttributeSet attrs, int defStyleAttr,
int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
init();
}
private void init() {
accentColor = resolveAccentColor(getContext());
}
@Override
protected View onCreateView(ViewGroup parent) {
LayoutInflater layoutInflater =
(LayoutInflater) getContext().getSystemService(LAYOUT_INFLATER_SERVICE);
return layoutInflater.inflate(R.layout.mp_preference_category, parent, false);
}
@Override
protected void onBindView(View view) {
super.onBindView(view);
CharSequence title = getTitle();
TextView titleView = (TextView) view.findViewById(R.id.title);
titleView.setText(title);
titleView.setTextColor(accentColor);
titleView.setVisibility(!isEmpty(title) ? VISIBLE : GONE);
titleView.setTypeface(getRobotoMedium(getContext()));
}
}