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.Plays;
import com.boardgamegeek.util.DateTimeUtils;
import java.text.SimpleDateFormat;
import java.util.Locale;
import timber.log.Timber;
public class PlaysDateSorter extends PlaysSorter {
private static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("MMMM yyyy", Locale.getDefault());
public PlaysDateSorter(@NonNull Context context) {
super(context);
}
@StringRes
@Override
protected int getDescriptionId() {
return R.string.menu_plays_sort_date;
}
@Override
public int getType() {
return PlaysSorterFactory.TYPE_PLAY_DATE;
}
@Override
public String[] getColumns() {
return new String[] { Plays.DATE };
}
@NonNull
@Override
public String getHeaderText(@NonNull Cursor cursor) {
String date = getString(cursor, Plays.DATE);
long millis = DateTimeUtils.getMillisFromApiDate(date, 0);
if (millis == 0) {
Timber.w("This isn't a date in the expected format: " + date);
return date;
}
return DATE_FORMAT.format(millis);
}
}