package com.boardgamegeek.sorter; import android.content.Context; import android.database.Cursor; import android.support.annotation.NonNull; import android.support.annotation.StringRes; import com.boardgamegeek.R; import com.boardgamegeek.provider.BggContract.Collection; import java.text.DecimalFormat; public abstract class AverageWeightSorter extends CollectionSorter { private static final String DEFAULT_VALUE = "?"; private final DecimalFormat displayFormat = new DecimalFormat("0.000"); public AverageWeightSorter(@NonNull Context context) { super(context); } @StringRes @Override protected int getDescriptionId() { return R.string.collection_sort_average_weight; } @Override protected String getSortColumn() { return Collection.STATS_AVERAGE_WEIGHT; } @NonNull @Override public String getDisplayInfo(@NonNull Cursor cursor) { return context.getString(R.string.weight) + " " + getInfo(cursor, displayFormat); } @Override public String getHeaderText(@NonNull Cursor cursor) { return getInfo(cursor, null); } private String getInfo(@NonNull Cursor cursor, DecimalFormat format) { return getDoubleAsString(cursor, Collection.STATS_AVERAGE_WEIGHT, DEFAULT_VALUE, true, format); } }