package com.boardgamegeek.ui.dialog; import android.content.Context; import android.view.View; import com.boardgamegeek.R; import com.boardgamegeek.filterer.CollectionFilterer; import com.boardgamegeek.filterer.YearPublishedFilterer; import com.boardgamegeek.util.StringUtils; public class YearPublishedFilterDialog extends SliderFilterDialog { @Override protected InitialValues initValues(CollectionFilterer filter) { int min = YearPublishedFilterer.MIN_RANGE; int max = YearPublishedFilterer.MAX_RANGE; if (filter != null) { YearPublishedFilterer data = (YearPublishedFilterer) filter; min = data.getMin(); max = data.getMax(); } return new InitialValues(min, max); } @Override protected int getTitleId() { return R.string.menu_year_published; } @Override public int getType(Context context) { return new YearPublishedFilterer(context).getType(); } @Override protected CollectionFilterer getPositiveData(Context context, int min, int max, boolean checkbox) { return new YearPublishedFilterer(context, min, max); } @Override protected int getCheckboxVisibility() { return View.GONE; } @Override protected int getAbsoluteMin() { return YearPublishedFilterer.MIN_RANGE; } @Override protected int getAbsoluteMax() { return YearPublishedFilterer.MAX_RANGE; } @Override protected String getPinText(String value) { int year = StringUtils.parseInt(value, YearPublishedFilterer.MIN_RANGE); if (year == YearPublishedFilterer.MIN_RANGE) { return "<" + value; } if (year == YearPublishedFilterer.MAX_RANGE) { return value + "+"; } return super.getPinText(value); } @Override protected int getPinValue(String text) { if (text.startsWith("<")) { return YearPublishedFilterer.MIN_RANGE; } if (text.endsWith("+")) { return YearPublishedFilterer.MAX_RANGE; } return super.getPinValue(text); } }