package co.smartreceipts.android.settings.widget;
import android.content.Context;
import android.text.TextUtils;
import android.util.AttributeSet;
import java.text.DecimalFormat;
import co.smartreceipts.android.R;
import co.smartreceipts.android.model.Distance;
import wb.android.preferences.FloatSummaryEditTextPreference;
public class DefaultDistanceRatePreference extends FloatSummaryEditTextPreference {
public DefaultDistanceRatePreference(Context context) {
super(context);
}
public DefaultDistanceRatePreference(Context context, AttributeSet attrs) {
super(context, attrs);
}
public DefaultDistanceRatePreference(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
public CharSequence getSummary() {
if (TextUtils.isEmpty(getText())) { //Add a zero check
return getContext().getString(R.string.pref_distance_rate_summaryOff);
}
else {
try {
float value = Float.parseFloat(getText());
if (value <= 0) {
return getContext().getString(R.string.pref_distance_rate_summaryOff);
}
DecimalFormat decimalFormat = new DecimalFormat();
decimalFormat.setMaximumFractionDigits(Distance.RATE_PRECISION);
decimalFormat.setMinimumFractionDigits(Distance.RATE_PRECISION);
decimalFormat.setGroupingUsed(false);
return getContext().getString(R.string.pref_distance_rate_summaryOn, decimalFormat.format(value));
} catch (NumberFormatException e) {
return getContext().getString(R.string.pref_distance_rate_summaryOff);
}
}
}
}