package com.boardgamegeek.provider;
import android.content.ContentValues;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.net.Uri;
import com.boardgamegeek.provider.BggContract.PlayPlayers;
import com.boardgamegeek.provider.BggContract.Plays;
import com.boardgamegeek.provider.BggDatabase.Tables;
import com.boardgamegeek.util.SelectionBuilder;
public class PlaysIdPlayersProvider extends BaseProvider {
@Override
protected SelectionBuilder buildSimpleSelection(Uri uri) {
long internalId = Plays.getInternalId(uri);
return new SelectionBuilder()
.table(Tables.PLAY_PLAYERS)
.whereEquals(PlayPlayers._PLAY_ID, internalId);
}
@Override
protected SelectionBuilder buildExpandedSelection(Uri uri) {
long internalId = Plays.getInternalId(uri);
return new SelectionBuilder()
.table(Tables.PLAY_PLAYERS_JOIN_PLAYS)
.whereEquals(PlayPlayers._PLAY_ID, internalId);
}
@Override
protected String getDefaultSortOrder() {
return PlayPlayers.DEFAULT_SORT;
}
@Override
protected String getPath() {
return "plays/#/players";
}
@Override
protected String getType(Uri uri) {
return PlayPlayers.CONTENT_TYPE;
}
@Override
protected Uri insert(Context context, SQLiteDatabase db, Uri uri, ContentValues values) {
long internalPlayId = Plays.getInternalId(uri);
values.put(PlayPlayers._PLAY_ID, internalPlayId);
long internalPlayerId = db.insertOrThrow(Tables.PLAY_PLAYERS, null, values);
return Plays.buildPlayerUri(internalPlayId, internalPlayerId);
}
}