package com.boardgamegeek.sorter;
import android.content.Context;
import android.database.Cursor;
import android.support.annotation.NonNull;
import com.boardgamegeek.R;
import java.text.DecimalFormat;
public abstract class RatingSorter extends CollectionSorter {
private final String defaultValue;
public RatingSorter(@NonNull Context context) {
super(context);
defaultValue = context.getString(R.string.text_unknown);
}
@Override
protected boolean isSortDescending() {
return true;
}
@Override
public String getHeaderText(@NonNull Cursor cursor) {
return getInfo(cursor, null);
}
@Override
public String getDisplayInfo(@NonNull Cursor cursor) {
return getInfo(cursor, getDisplayFormat());
}
protected String getInfo(@NonNull Cursor cursor, DecimalFormat format) {
return getDoubleAsString(cursor, getSortColumn(), defaultValue, true, format);
}
protected abstract DecimalFormat getDisplayFormat();
}