package com.boardgamegeek.provider;
import android.content.ContentValues;
import android.content.Context;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.net.Uri;
import com.boardgamegeek.provider.BggContract.GamePolls;
import com.boardgamegeek.provider.BggContract.Games;
import com.boardgamegeek.provider.BggDatabase.Tables;
import com.boardgamegeek.util.SelectionBuilder;
import timber.log.Timber;
public class GamesIdPollsProvider extends BaseProvider {
private static final String TABLE = Tables.GAME_POLLS;
@Override
protected SelectionBuilder buildSimpleSelection(Uri uri) {
int gameId = Games.getGameId(uri);
return new SelectionBuilder().table(TABLE).whereEquals(GamePolls.GAME_ID, gameId);
}
@Override
protected String getDefaultSortOrder() {
return GamePolls.DEFAULT_SORT;
}
@Override
protected String getPath() {
return "games/#/polls";
}
@Override
protected String getType(Uri uri) {
return GamePolls.CONTENT_TYPE;
}
@Override
protected Uri insert(Context context, SQLiteDatabase db, Uri uri, ContentValues values) {
int gameId = Games.getGameId(uri);
values.put(GamePolls.GAME_ID, gameId);
try {
if (db.insertOrThrow(TABLE, null, values) != -1) {
return Games.buildPollsUri(gameId, values.getAsString(GamePolls.POLL_NAME));
}
} catch (SQLException e) {
Timber.e(e, "Problem inserting poll for game %1$s", gameId);
notifyException(context, e);
}
return null;
}
}