package tv.emby.embyatv.ui;
import android.content.Context;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.FrameLayout;
import android.widget.TextView;
import tv.emby.embyatv.R;
public class NumberSpinner extends FrameLayout {
long mValue = 0;
long mIncrement = 100;
TextView mTextValue;
ValueChangedListener<Long> mValueChangedListener;
public NumberSpinner(Context context, ValueChangedListener<Long> listener) {
super(context);
mValueChangedListener = listener;
init(context);
}
public NumberSpinner(Context context) {
super(context);
init(context);
}
public NumberSpinner(Context context, AttributeSet attrs) {
super(context, attrs);
init(context);
}
private void init(Context context) {
LayoutInflater inflater = LayoutInflater.from(context);
View v = inflater.inflate(R.layout.number_spinner, null, false);
this.addView(v);
if (!isInEditMode()) {
mTextValue = (TextView) v.findViewById(R.id.txtValue);
(v.findViewById(R.id.btnIncrease)).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
setValue(mValue + mIncrement);
}
});
(v.findViewById(R.id.btnDecrease)).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
setValue(mValue-mIncrement);
}
});
}
}
public void setOnChangeListener(ValueChangedListener<Long> listener) {
mValueChangedListener = listener;
}
public void setValue(long value) {
mValue = value;
mTextValue.setText(Long.toString(mValue));
if (mValueChangedListener != null) {
mValueChangedListener.onValueChanged(value);
}
}
public long getValue() {
return mValue;
}
public void setIncrement(long value) {
mIncrement = value;
}
}