Added support for game and onlyAvailable when retireving data
From now on, it is possible for the API to retrieve only object which are assigned to a specific game or only objects that are available or both. This might (pretty sure it is) needed in the future
This commit is contained in:
@@ -7,8 +7,8 @@ android {
|
||||
applicationId "com.de.aldo_apps.aldo.mariokartcircuitselector"
|
||||
minSdkVersion 16
|
||||
targetSdkVersion 25
|
||||
versionCode 6
|
||||
versionName "0.1.6"
|
||||
versionCode 7
|
||||
versionName "0.1.7"
|
||||
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
|
||||
}
|
||||
buildTypes {
|
||||
|
||||
@@ -5,6 +5,7 @@ import android.content.Context;
|
||||
import android.database.Cursor;
|
||||
import android.database.DatabaseUtils;
|
||||
import android.database.sqlite.SQLiteDatabase;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.util.Log;
|
||||
|
||||
import com.de.aldo_apps.aldo.mariokartcircuitselector.database_models.Accessory;
|
||||
@@ -18,36 +19,6 @@ import com.readystatesoftware.sqliteasset.SQLiteAssetHelper;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import static com.de.aldo_apps.aldo.mariokartcircuitselector.Constants.KEY_100_CCM;
|
||||
import static com.de.aldo_apps.aldo.mariokartcircuitselector.Constants.KEY_150_CCM;
|
||||
import static com.de.aldo_apps.aldo.mariokartcircuitselector.Constants.KEY_200_CCM;
|
||||
import static com.de.aldo_apps.aldo.mariokartcircuitselector.Constants.KEY_50_CCM;
|
||||
import static com.de.aldo_apps.aldo.mariokartcircuitselector.Constants.KEY_ACCESSORY;
|
||||
import static com.de.aldo_apps.aldo.mariokartcircuitselector.Constants.KEY_AVAILABLE;
|
||||
import static com.de.aldo_apps.aldo.mariokartcircuitselector.Constants.KEY_BIKES;
|
||||
import static com.de.aldo_apps.aldo.mariokartcircuitselector.Constants.KEY_COVER_URI;
|
||||
import static com.de.aldo_apps.aldo.mariokartcircuitselector.Constants.KEY_FREE_FOR_ALL;
|
||||
import static com.de.aldo_apps.aldo.mariokartcircuitselector.Constants.KEY_GAME;
|
||||
import static com.de.aldo_apps.aldo.mariokartcircuitselector.Constants.KEY_ID;
|
||||
import static com.de.aldo_apps.aldo.mariokartcircuitselector.Constants.KEY_KART_FREE_FOR_ALL;
|
||||
import static com.de.aldo_apps.aldo.mariokartcircuitselector.Constants.KEY_MIRROR_CLASS;
|
||||
import static com.de.aldo_apps.aldo.mariokartcircuitselector.Constants.KEY_NAME;
|
||||
import static com.de.aldo_apps.aldo.mariokartcircuitselector.Constants.KEY_NUMBER;
|
||||
import static com.de.aldo_apps.aldo.mariokartcircuitselector.Constants.KEY_PACKAGE;
|
||||
import static com.de.aldo_apps.aldo.mariokartcircuitselector.Constants.KEY_WEIGHT;
|
||||
import static com.de.aldo_apps.aldo.mariokartcircuitselector.Constants.KEY_WHEELS;
|
||||
import static com.de.aldo_apps.aldo.mariokartcircuitselector.Constants.PROJECTION_CHARACTER;
|
||||
import static com.de.aldo_apps.aldo.mariokartcircuitselector.Constants.PROJECTION_GAME;
|
||||
import static com.de.aldo_apps.aldo.mariokartcircuitselector.Constants.PROJECTION_KART;
|
||||
import static com.de.aldo_apps.aldo.mariokartcircuitselector.Constants.PROJECTION_RULESET;
|
||||
import static com.de.aldo_apps.aldo.mariokartcircuitselector.Constants.PROJECTION_TRACK;
|
||||
import static com.de.aldo_apps.aldo.mariokartcircuitselector.Constants.TABLE_CHARACTER;
|
||||
import static com.de.aldo_apps.aldo.mariokartcircuitselector.Constants.TABLE_GAME;
|
||||
import static com.de.aldo_apps.aldo.mariokartcircuitselector.Constants.TABLE_KART;
|
||||
import static com.de.aldo_apps.aldo.mariokartcircuitselector.Constants.TABLE_RULESET;
|
||||
import static com.de.aldo_apps.aldo.mariokartcircuitselector.Constants.TABLE_TRACK;
|
||||
import static com.de.aldo_apps.aldo.mariokartcircuitselector.Constants.TABLE_WHEELS;
|
||||
|
||||
/**
|
||||
* The Database Handler class which opens/closes connection and handles all CRUD Operations
|
||||
* on the Database.
|
||||
@@ -63,8 +34,16 @@ public class DatabaseHandler extends SQLiteAssetHelper {
|
||||
*/
|
||||
private static final String TAG = "DatabaseHandler";
|
||||
|
||||
/**
|
||||
* The context from which this Handler was called.
|
||||
*/
|
||||
private final Context mContext;
|
||||
|
||||
/**
|
||||
* The default constructor of the DatabaseHandler.
|
||||
*
|
||||
* @param context The context from which this Handler was called.
|
||||
*/
|
||||
public DatabaseHandler(final Context context) {
|
||||
super(context, Constants.DATABASE_NAME, null, Constants.DATABASE_VERSION);
|
||||
mContext = context;
|
||||
@@ -80,23 +59,25 @@ public class DatabaseHandler extends SQLiteAssetHelper {
|
||||
*
|
||||
* @param track The track which should be marked as available/unavailable.
|
||||
* @param isAvailable The status of availability to be set.
|
||||
*
|
||||
* @return The result code of the update function.
|
||||
*/
|
||||
public int changeTrackAvailability(final Track track, final boolean isAvailable) {
|
||||
public int changeTrackAvailability(final Track track,
|
||||
final boolean isAvailable) {
|
||||
final SQLiteDatabase db = this.getWritableDatabase();
|
||||
|
||||
final ContentValues values = new ContentValues();
|
||||
values.put(Constants.KEY_GAME, track.getGame());
|
||||
values.put(KEY_NAME, track.getName());
|
||||
values.put(Constants.KEY_NAME, track.getName());
|
||||
values.put(Constants.KEY_PACKAGE, track.getPackage());
|
||||
values.put(Constants.KEY_NUMBER, track.getmNumber());
|
||||
if (isAvailable) {
|
||||
values.put(KEY_AVAILABLE, Constants.TRUE);
|
||||
values.put(Constants.KEY_AVAILABLE, String.valueOf(Constants.TRUE));
|
||||
} else {
|
||||
values.put(KEY_AVAILABLE, Constants.FALSE);
|
||||
values.put(Constants.KEY_AVAILABLE, Constants.FALSE);
|
||||
}
|
||||
|
||||
return db.update(Constants.TABLE_TRACK, values, KEY_ID + " = ?",
|
||||
return db.update(Constants.TABLE_TRACK, values, Constants.KEY_ID + " = ?",
|
||||
new String[]{String.valueOf(track.getId())});
|
||||
}
|
||||
|
||||
@@ -105,22 +86,24 @@ public class DatabaseHandler extends SQLiteAssetHelper {
|
||||
*
|
||||
* @param character The character which should be marked as available/unavailable.
|
||||
* @param isAvailable The status of availability to be set.
|
||||
*
|
||||
* @return The result code of the update function.
|
||||
*/
|
||||
public int changeCharacterAvailability(final Character character, final boolean isAvailable) {
|
||||
public int changeCharacterAvailability(final Character character,
|
||||
final boolean isAvailable) {
|
||||
final SQLiteDatabase db = this.getWritableDatabase();
|
||||
|
||||
final ContentValues values = new ContentValues();
|
||||
values.put(Constants.KEY_GAME, character.getGame());
|
||||
values.put(KEY_NAME, character.getName());
|
||||
values.put(Constants.KEY_NAME, character.getName());
|
||||
values.put(Constants.KEY_WEIGHT, character.getWeight());
|
||||
if (isAvailable) {
|
||||
values.put(KEY_AVAILABLE, Constants.TRUE);
|
||||
values.put(Constants.KEY_AVAILABLE, String.valueOf(Constants.TRUE));
|
||||
} else {
|
||||
values.put(KEY_AVAILABLE, Constants.FALSE);
|
||||
values.put(Constants.KEY_AVAILABLE, Constants.FALSE);
|
||||
}
|
||||
|
||||
return db.update(Constants.TABLE_CHARACTER, values, KEY_ID + " = ?",
|
||||
return db.update(Constants.TABLE_CHARACTER, values, Constants.KEY_ID + " = ?",
|
||||
new String[]{String.valueOf(character.getId())});
|
||||
}
|
||||
|
||||
@@ -129,26 +112,28 @@ public class DatabaseHandler extends SQLiteAssetHelper {
|
||||
*
|
||||
* @param kart The kart which should be marked as available/unavailable.
|
||||
* @param isAvailable The status of availability to be set.
|
||||
*
|
||||
* @return The result code of the update function.
|
||||
*/
|
||||
public int changeKartAvailability(final Kart kart, final boolean isAvailable) {
|
||||
public int changeKartAvailability(final Kart kart,
|
||||
final boolean isAvailable) {
|
||||
final SQLiteDatabase db = this.getWritableDatabase();
|
||||
|
||||
final ContentValues values = new ContentValues();
|
||||
values.put(Constants.KEY_GAME, kart.getGame());
|
||||
values.put(KEY_NAME, kart.getName());
|
||||
values.put(Constants.KEY_NAME, kart.getName());
|
||||
values.put(Constants.KEY_WEIGHT, kart.getWeight());
|
||||
values.put(Constants.KEY_WHEELS, kart.getWheels());
|
||||
values.put(Constants.KEY_ACCESSORY, kart.getAccessory());
|
||||
values.put(Constants.KEY_DEDICATED_DRIVER, kart.getDedicatedDriver());
|
||||
values.put(Constants.KEY_FREE_FOR_ALL, kart.getFreeForAll());
|
||||
if (isAvailable) {
|
||||
values.put(KEY_AVAILABLE, Constants.TRUE);
|
||||
values.put(Constants.KEY_AVAILABLE, String.valueOf(Constants.TRUE));
|
||||
} else {
|
||||
values.put(KEY_AVAILABLE, Constants.FALSE);
|
||||
values.put(Constants.KEY_AVAILABLE, Constants.FALSE);
|
||||
}
|
||||
|
||||
return db.update(Constants.TABLE_KART, values, KEY_ID + " = ?",
|
||||
return db.update(Constants.TABLE_KART, values, Constants.KEY_ID + " = ?",
|
||||
new String[]{String.valueOf(kart.getId())});
|
||||
}
|
||||
|
||||
@@ -157,21 +142,23 @@ public class DatabaseHandler extends SQLiteAssetHelper {
|
||||
*
|
||||
* @param accessory The accessory which should be marked as available/unavailable.
|
||||
* @param isAvailable The status of availability to be set.
|
||||
*
|
||||
* @return The result code of the update function.
|
||||
*/
|
||||
public int changeAccessoryAvailability(final Accessory accessory, final boolean isAvailable) {
|
||||
public int changeAccessoryAvailability(final Accessory accessory,
|
||||
final boolean isAvailable) {
|
||||
final SQLiteDatabase db = this.getWritableDatabase();
|
||||
|
||||
final ContentValues values = new ContentValues();
|
||||
values.put(Constants.KEY_GAME, accessory.getGame());
|
||||
values.put(KEY_NAME, accessory.getName());
|
||||
values.put(Constants.KEY_NAME, accessory.getName());
|
||||
if (isAvailable) {
|
||||
values.put(KEY_AVAILABLE, Constants.TRUE);
|
||||
values.put(Constants.KEY_AVAILABLE, String.valueOf(Constants.TRUE));
|
||||
} else {
|
||||
values.put(KEY_AVAILABLE, Constants.FALSE);
|
||||
values.put(Constants.KEY_AVAILABLE, Constants.FALSE);
|
||||
}
|
||||
|
||||
return db.update(Constants.TABLE_ACCESSORY, values, KEY_ID + " = ?",
|
||||
return db.update(Constants.TABLE_ACCESSORY, values, Constants.KEY_ID + " = ?",
|
||||
new String[]{String.valueOf(accessory.getId())});
|
||||
}
|
||||
|
||||
@@ -180,21 +167,23 @@ public class DatabaseHandler extends SQLiteAssetHelper {
|
||||
*
|
||||
* @param wheels The wheels which should be marked as available/unavailable.
|
||||
* @param isAvailable The status of availability to be set.
|
||||
*
|
||||
* @return The result code of the update function.
|
||||
*/
|
||||
public int changeWheelsAvailability(final Wheels wheels, final boolean isAvailable) {
|
||||
public int changeWheelsAvailability(final Wheels wheels,
|
||||
final boolean isAvailable) {
|
||||
final SQLiteDatabase db = this.getWritableDatabase();
|
||||
|
||||
final ContentValues values = new ContentValues();
|
||||
values.put(Constants.KEY_GAME, wheels.getGame());
|
||||
values.put(KEY_NAME, wheels.getGame());
|
||||
values.put(Constants.KEY_NAME, wheels.getGame());
|
||||
if (isAvailable) {
|
||||
values.put(KEY_AVAILABLE, Constants.TRUE);
|
||||
values.put(Constants.KEY_AVAILABLE, String.valueOf(Constants.TRUE));
|
||||
} else {
|
||||
values.put(KEY_AVAILABLE, Constants.FALSE);
|
||||
values.put(Constants.KEY_AVAILABLE, Constants.FALSE);
|
||||
}
|
||||
|
||||
return db.update(TABLE_WHEELS, values, KEY_ID + " = ?",
|
||||
return db.update(Constants.TABLE_WHEELS, values, Constants.KEY_ID + " = ?",
|
||||
new String[]{String.valueOf(wheels.getId())});
|
||||
}
|
||||
|
||||
@@ -203,15 +192,36 @@ public class DatabaseHandler extends SQLiteAssetHelper {
|
||||
// -------------------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Retrieves all Tracks from Database.
|
||||
* Retrieves all Tracks from Database. If a Game is provided, all tracks of this specific
|
||||
* game will be retrieved.
|
||||
*
|
||||
* @param game The game of which all tracks should be retrieved.
|
||||
* @param onlyAvailable If true, only available objects will be returned, otherwise all
|
||||
*
|
||||
* @return List containing all Track Objects retrieved from Database.
|
||||
*/
|
||||
public ArrayList<Track> getAllTracks() {
|
||||
public ArrayList<Track> getAllTracks(@Nullable final Game game,
|
||||
final boolean onlyAvailable) {
|
||||
final SQLiteDatabase database = this.getReadableDatabase();
|
||||
|
||||
final Cursor cursor = database.query(TABLE_TRACK, PROJECTION_TRACK, null,
|
||||
null, null, null, null, null);
|
||||
final String selectionClause;
|
||||
final String[] selectionArgs;
|
||||
if (game != null && onlyAvailable) {
|
||||
selectionClause = Constants.KEY_GAME + "=? AND " + Constants.KEY_AVAILABLE + "=?";
|
||||
selectionArgs = new String[]{game.getName(), String.valueOf(Constants.TRUE)};
|
||||
} else if (game != null) {
|
||||
selectionClause = Constants.KEY_GAME + "=?";
|
||||
selectionArgs = new String[]{game.getName()};
|
||||
} else if (onlyAvailable) {
|
||||
selectionClause = Constants.KEY_AVAILABLE + "=?";
|
||||
selectionArgs = new String[]{String.valueOf(Constants.TRUE)};
|
||||
} else {
|
||||
selectionClause = null;
|
||||
selectionArgs = null;
|
||||
}
|
||||
|
||||
final Cursor cursor = database.query(Constants.TABLE_TRACK, Constants.PROJECTION_TRACK,
|
||||
selectionClause, selectionArgs, null, null, null, null);
|
||||
if (cursor != null) {
|
||||
Log.d(TAG, "getAllTracks: Moving cursor to first.");
|
||||
cursor.moveToFirst();
|
||||
@@ -223,54 +233,54 @@ public class DatabaseHandler extends SQLiteAssetHelper {
|
||||
final ArrayList<Track> allAvailableTrack = new ArrayList<>();
|
||||
|
||||
do {
|
||||
final int idIdx = cursor.getColumnIndex(KEY_ID);
|
||||
final int nameIdx = cursor.getColumnIndex(KEY_NAME);
|
||||
final int gameIdx = cursor.getColumnIndex(KEY_GAME);
|
||||
final int packageIdx = cursor.getColumnIndex(KEY_PACKAGE);
|
||||
final int numberIdx = cursor.getColumnIndex(KEY_NUMBER);
|
||||
final int availableIdx = cursor.getColumnIndex(KEY_AVAILABLE);
|
||||
final int idIdx = cursor.getColumnIndex(Constants.KEY_ID);
|
||||
final int nameIdx = cursor.getColumnIndex(Constants.KEY_NAME);
|
||||
final int gameIdx = cursor.getColumnIndex(Constants.KEY_GAME);
|
||||
final int packageIdx = cursor.getColumnIndex(Constants.KEY_PACKAGE);
|
||||
final int numberIdx = cursor.getColumnIndex(Constants.KEY_NUMBER);
|
||||
final int availableIdx = cursor.getColumnIndex(Constants.KEY_AVAILABLE);
|
||||
|
||||
final Track track = new Track();
|
||||
boolean isValid = true;
|
||||
if (idIdx >= 0) {
|
||||
track.setId(cursor.getInt(idIdx));
|
||||
} else {
|
||||
Log.d(TAG, "getAllTracks: No such column [" + KEY_ID + "]");
|
||||
Log.d(TAG, "getAllTracks: No such column [" + Constants.KEY_ID + "]");
|
||||
isValid = false;
|
||||
}
|
||||
|
||||
if (nameIdx >= 0) {
|
||||
track.setName(cursor.getString(nameIdx));
|
||||
} else {
|
||||
Log.d(TAG, "getAllTracks: No such column [" + KEY_NAME + "]");
|
||||
Log.d(TAG, "getAllTracks: No such column [" + Constants.KEY_NAME + "]");
|
||||
isValid = false;
|
||||
}
|
||||
|
||||
if (gameIdx >= 0) {
|
||||
track.setGame(cursor.getString(gameIdx));
|
||||
} else {
|
||||
Log.d(TAG, "getAllTracks: No such column [" + KEY_GAME + "]");
|
||||
Log.d(TAG, "getAllTracks: No such column [" + Constants.KEY_GAME + "]");
|
||||
isValid = false;
|
||||
}
|
||||
|
||||
if (packageIdx >= 0) {
|
||||
track.setPackage(cursor.getString(packageIdx));
|
||||
} else {
|
||||
Log.d(TAG, "getAllTracks: No such column [" + KEY_PACKAGE + "]");
|
||||
Log.d(TAG, "getAllTracks: No such column [" + Constants.KEY_PACKAGE + "]");
|
||||
isValid = false;
|
||||
}
|
||||
|
||||
if (numberIdx >= 0) {
|
||||
track.setPackage(cursor.getString(numberIdx));
|
||||
} else {
|
||||
Log.d(TAG, "getAllTracks: No such column [" + KEY_NUMBER + "]");
|
||||
Log.d(TAG, "getAllTracks: No such column [" + Constants.KEY_NUMBER + "]");
|
||||
isValid = false;
|
||||
}
|
||||
|
||||
if (availableIdx < 0) {
|
||||
track.setAvailable(cursor.getInt(availableIdx));
|
||||
} else {
|
||||
Log.d(TAG, "getAllTracks: No such column [" + KEY_AVAILABLE + "]");
|
||||
Log.d(TAG, "getAllTracks: No such column [" + Constants.KEY_AVAILABLE + "]");
|
||||
isValid = false;
|
||||
}
|
||||
|
||||
@@ -290,15 +300,36 @@ public class DatabaseHandler extends SQLiteAssetHelper {
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves all Karts from Database.
|
||||
* Retrieves all Karts from Database. If a Game is provided, all karts of this specific
|
||||
* game will be retrieved.
|
||||
*
|
||||
* @param game The game of which all tracks should be retrieved.
|
||||
* @param onlyAvailable If true, only available objects will be returned, otherwise all
|
||||
*
|
||||
* @return List containing all Kart Objects retrieved from Database.
|
||||
*/
|
||||
public ArrayList<Kart> getAllKarts() {
|
||||
public ArrayList<Kart> getAllKarts(@Nullable final Game game,
|
||||
final boolean onlyAvailable) {
|
||||
final SQLiteDatabase database = this.getReadableDatabase();
|
||||
|
||||
final Cursor cursor = database.query(TABLE_KART, PROJECTION_KART, null,
|
||||
null, null, null, null, null);
|
||||
final String selectionClause;
|
||||
final String[] selectionArgs;
|
||||
if (game != null && onlyAvailable) {
|
||||
selectionClause = Constants.KEY_GAME + "=? AND " + Constants.KEY_AVAILABLE + "=?";
|
||||
selectionArgs = new String[]{game.getName(), String.valueOf(Constants.TRUE)};
|
||||
} else if (game != null) {
|
||||
selectionClause = Constants.KEY_GAME + "=?";
|
||||
selectionArgs = new String[]{game.getName()};
|
||||
} else if (onlyAvailable) {
|
||||
selectionClause = Constants.KEY_AVAILABLE + "=?";
|
||||
selectionArgs = new String[]{String.valueOf(Constants.TRUE)};
|
||||
} else {
|
||||
selectionClause = null;
|
||||
selectionArgs = null;
|
||||
}
|
||||
|
||||
final Cursor cursor = database.query(Constants.TABLE_KART, Constants.PROJECTION_KART,
|
||||
selectionClause, selectionArgs, null, null, null, null);
|
||||
if (cursor != null) {
|
||||
Log.d(TAG, "getAllKarts: Moving cursor to first.");
|
||||
cursor.moveToFirst();
|
||||
@@ -310,70 +341,70 @@ public class DatabaseHandler extends SQLiteAssetHelper {
|
||||
final ArrayList<Kart> allAvailableKarts = new ArrayList<>();
|
||||
|
||||
do {
|
||||
final int idIdx = cursor.getColumnIndex(KEY_ID);
|
||||
final int nameIdx = cursor.getColumnIndex(KEY_NAME);
|
||||
final int gameIdx = cursor.getColumnIndex(KEY_GAME);
|
||||
final int weightIdx = cursor.getColumnIndex(KEY_WEIGHT);
|
||||
final int accessoryIdx = cursor.getColumnIndex(KEY_ACCESSORY);
|
||||
final int wheelsIdx = cursor.getColumnIndex(KEY_WHEELS);
|
||||
final int freeForAllIdx = cursor.getColumnIndex(KEY_FREE_FOR_ALL);
|
||||
final int availableIdx = cursor.getColumnIndex(KEY_AVAILABLE);
|
||||
final int idIdx = cursor.getColumnIndex(Constants.KEY_ID);
|
||||
final int nameIdx = cursor.getColumnIndex(Constants.KEY_NAME);
|
||||
final int gameIdx = cursor.getColumnIndex(Constants.KEY_GAME);
|
||||
final int weightIdx = cursor.getColumnIndex(Constants.KEY_WEIGHT);
|
||||
final int accessoryIdx = cursor.getColumnIndex(Constants.KEY_ACCESSORY);
|
||||
final int wheelsIdx = cursor.getColumnIndex(Constants.KEY_WHEELS);
|
||||
final int freeForAllIdx = cursor.getColumnIndex(Constants.KEY_FREE_FOR_ALL);
|
||||
final int availableIdx = cursor.getColumnIndex(Constants.KEY_AVAILABLE);
|
||||
|
||||
final Kart kart = new Kart();
|
||||
boolean isValid = true;
|
||||
if (idIdx >= 0) {
|
||||
kart.setId(cursor.getInt(idIdx));
|
||||
} else {
|
||||
Log.d(TAG, "getAllKarts: No such column [" + KEY_ID + "]");
|
||||
Log.d(TAG, "getAllKarts: No such column [" + Constants.KEY_ID + "]");
|
||||
isValid = false;
|
||||
}
|
||||
|
||||
if (nameIdx >= 0) {
|
||||
kart.setName(cursor.getString(nameIdx));
|
||||
} else {
|
||||
Log.d(TAG, "getAllKarts: No such column [" + KEY_NAME + "]");
|
||||
Log.d(TAG, "getAllKarts: No such column [" + Constants.KEY_NAME + "]");
|
||||
isValid = false;
|
||||
}
|
||||
|
||||
if (gameIdx >= 0) {
|
||||
kart.setGame(cursor.getString(gameIdx));
|
||||
} else {
|
||||
Log.d(TAG, "getAllKarts: No such column [" + KEY_GAME + "]");
|
||||
Log.d(TAG, "getAllKarts: No such column [" + Constants.KEY_GAME + "]");
|
||||
isValid = false;
|
||||
}
|
||||
|
||||
if (weightIdx >= 0) {
|
||||
kart.setWeight(cursor.getString(weightIdx));
|
||||
} else {
|
||||
Log.d(TAG, "getAllKarts: No such column [" + KEY_WEIGHT + "]");
|
||||
Log.d(TAG, "getAllKarts: No such column [" + Constants.KEY_WEIGHT + "]");
|
||||
isValid = false;
|
||||
}
|
||||
|
||||
if (accessoryIdx >= 0) {
|
||||
kart.setAccessory(cursor.getInt(accessoryIdx));
|
||||
} else {
|
||||
Log.d(TAG, "getAllKarts: No such column [" + KEY_ACCESSORY + "]");
|
||||
Log.d(TAG, "getAllKarts: No such column [" + Constants.KEY_ACCESSORY + "]");
|
||||
isValid = false;
|
||||
}
|
||||
|
||||
if (wheelsIdx >= 0) {
|
||||
kart.setWheels(cursor.getInt(wheelsIdx));
|
||||
} else {
|
||||
Log.d(TAG, "getAllKarts: No such column [" + KEY_WHEELS + "]");
|
||||
Log.d(TAG, "getAllKarts: No such column [" + Constants.KEY_WHEELS + "]");
|
||||
isValid = false;
|
||||
}
|
||||
|
||||
if (freeForAllIdx >= 0) {
|
||||
kart.setFreeForAll(cursor.getInt(freeForAllIdx));
|
||||
} else {
|
||||
Log.d(TAG, "getAllKarts: No such column [" + KEY_FREE_FOR_ALL + "]");
|
||||
Log.d(TAG, "getAllKarts: No such column [" + Constants.KEY_FREE_FOR_ALL + "]");
|
||||
isValid = false;
|
||||
}
|
||||
|
||||
if (availableIdx < 0) {
|
||||
kart.setAvailable(cursor.getInt(availableIdx));
|
||||
} else {
|
||||
Log.d(TAG, "getAllKarts: No such column [" + KEY_AVAILABLE + "]");
|
||||
Log.d(TAG, "getAllKarts: No such column [" + Constants.KEY_AVAILABLE + "]");
|
||||
isValid = false;
|
||||
}
|
||||
|
||||
@@ -393,31 +424,46 @@ public class DatabaseHandler extends SQLiteAssetHelper {
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves all Characters from Database.
|
||||
* Retrieves all Characters from Database. If a Game is provided, all characters of this
|
||||
* specific game will be retrieved.
|
||||
*
|
||||
* @param game The game of which all tracks should be retrieved.
|
||||
* @param onlyAvailable If true, only available objects will be returned, otherwise all
|
||||
*
|
||||
* @return List containing all Character Objects retrieved from Database.
|
||||
*/
|
||||
public ArrayList<Character> getAllCharacters() {
|
||||
public ArrayList<Character> getAllCharacters(@Nullable final Game game,
|
||||
final boolean onlyAvailable) {
|
||||
final SQLiteDatabase database = this.getReadableDatabase();
|
||||
|
||||
final Cursor cursor = database.query(TABLE_CHARACTER, PROJECTION_CHARACTER, null,
|
||||
null, null, null, null, null);
|
||||
if (cursor != null) {
|
||||
Log.d(TAG, "getAllCharacters: Moving cursor to first.");
|
||||
cursor.moveToFirst();
|
||||
final String selectionClause;
|
||||
final String[] selectionArgs;
|
||||
if (game != null && onlyAvailable) {
|
||||
selectionClause = Constants.KEY_GAME + "=? AND " + Constants.KEY_AVAILABLE + "=?";
|
||||
selectionArgs = new String[]{game.getName(), String.valueOf(Constants.TRUE)};
|
||||
} else if (game != null) {
|
||||
selectionClause = Constants.KEY_GAME + "=?";
|
||||
selectionArgs = new String[]{game.getName()};
|
||||
} else if (onlyAvailable) {
|
||||
selectionClause = Constants.KEY_AVAILABLE + "=?";
|
||||
selectionArgs = new String[]{String.valueOf(Constants.TRUE)};
|
||||
} else {
|
||||
Log.d(TAG, "getAllCharacters: cursor is null");
|
||||
return null;
|
||||
selectionClause = null;
|
||||
selectionArgs = null;
|
||||
}
|
||||
|
||||
final Cursor cursor = database.query(Constants.TABLE_CHARACTER,
|
||||
Constants.PROJECTION_CHARACTER, selectionClause, selectionArgs, null, null, null,
|
||||
null);
|
||||
|
||||
final ArrayList<Character> allAvailableCharacters = new ArrayList<>();
|
||||
|
||||
do {
|
||||
final int idIdx = cursor.getColumnIndex(KEY_ID);
|
||||
final int nameIdx = cursor.getColumnIndex(KEY_NAME);
|
||||
final int gameIdx = cursor.getColumnIndex(KEY_GAME);
|
||||
final int weightIdx = cursor.getColumnIndex(KEY_WEIGHT);
|
||||
final int availableIdx = cursor.getColumnIndex(KEY_AVAILABLE);
|
||||
final int idIdx = cursor.getColumnIndex(Constants.KEY_ID);
|
||||
final int nameIdx = cursor.getColumnIndex(Constants.KEY_NAME);
|
||||
final int gameIdx = cursor.getColumnIndex(Constants.KEY_GAME);
|
||||
final int weightIdx = cursor.getColumnIndex(Constants.KEY_WEIGHT);
|
||||
final int availableIdx = cursor.getColumnIndex(Constants.KEY_AVAILABLE);
|
||||
|
||||
final Character character = new Character();
|
||||
boolean isValid = true;
|
||||
@@ -425,35 +471,35 @@ public class DatabaseHandler extends SQLiteAssetHelper {
|
||||
if (idIdx >= 0) {
|
||||
character.setId(cursor.getInt(idIdx));
|
||||
} else {
|
||||
Log.d(TAG, "getAllCharacters: No such column [" + KEY_ID + "]");
|
||||
Log.d(TAG, "getAllCharacters: No such column [" + Constants.KEY_ID + "]");
|
||||
isValid = false;
|
||||
}
|
||||
|
||||
if (nameIdx >= 0) {
|
||||
character.setName(cursor.getString(nameIdx));
|
||||
} else {
|
||||
Log.d(TAG, "getAllCharacters: No such column [" + KEY_NAME + "]");
|
||||
Log.d(TAG, "getAllCharacters: No such column [" + Constants.KEY_NAME + "]");
|
||||
isValid = false;
|
||||
}
|
||||
|
||||
if (gameIdx >= 0) {
|
||||
character.setGame(cursor.getString(gameIdx));
|
||||
} else {
|
||||
Log.d(TAG, "getAllCharacters: No such column [" + KEY_GAME + "]");
|
||||
Log.d(TAG, "getAllCharacters: No such column [" + Constants.KEY_GAME + "]");
|
||||
isValid = false;
|
||||
}
|
||||
|
||||
if (weightIdx >= 0) {
|
||||
character.setWeight(cursor.getString(weightIdx));
|
||||
} else {
|
||||
Log.d(TAG, "getAllCharacters: No such column [" + KEY_WEIGHT + "]");
|
||||
Log.d(TAG, "getAllCharacters: No such column [" + Constants.KEY_WEIGHT + "]");
|
||||
isValid = false;
|
||||
}
|
||||
|
||||
if (availableIdx < 0) {
|
||||
character.setAvailable(cursor.getInt(availableIdx));
|
||||
} else {
|
||||
Log.d(TAG, "getAllCharacters: No such column [" + KEY_AVAILABLE + "]");
|
||||
Log.d(TAG, "getAllCharacters: No such column [" + Constants.KEY_AVAILABLE + "]");
|
||||
isValid = false;
|
||||
}
|
||||
|
||||
@@ -474,34 +520,48 @@ public class DatabaseHandler extends SQLiteAssetHelper {
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves all Rulesets from Database.
|
||||
* Retrieves all Rulesets from Database. If a Game is provided, the ruleset of this specific
|
||||
* game will be retrieved.
|
||||
*
|
||||
* @param game The game of which all tracks should be retrieved.
|
||||
* @param onlyAvailable If true, only available objects will be returned, otherwise all
|
||||
*
|
||||
* @return List containing all Ruleset Objects retrieved from Database.
|
||||
*/
|
||||
public ArrayList<Ruleset> getAllRulesets() {
|
||||
public ArrayList<Ruleset> getAllRulesets(@Nullable final Game game,
|
||||
final boolean onlyAvailable) {
|
||||
final SQLiteDatabase database = this.getReadableDatabase();
|
||||
|
||||
final Cursor cursor = database.query(TABLE_RULESET, PROJECTION_RULESET, null,
|
||||
null, null, null, null, null);
|
||||
if (cursor != null) {
|
||||
Log.d(TAG, "getAllRulesets: Moving cursor to first.");
|
||||
cursor.moveToFirst();
|
||||
final String selectionClause;
|
||||
final String[] selectionArgs;
|
||||
if (game != null && onlyAvailable) {
|
||||
selectionClause = Constants.KEY_GAME + "=? AND " + Constants.KEY_AVAILABLE + "=?";
|
||||
selectionArgs = new String[]{game.getName(), String.valueOf(Constants.TRUE)};
|
||||
} else if (game != null) {
|
||||
selectionClause = Constants.KEY_GAME + "=?";
|
||||
selectionArgs = new String[]{game.getName()};
|
||||
} else if (onlyAvailable) {
|
||||
selectionClause = Constants.KEY_AVAILABLE + "=?";
|
||||
selectionArgs = new String[]{String.valueOf(Constants.TRUE)};
|
||||
} else {
|
||||
Log.d(TAG, "getAllRulesets: cursor is null");
|
||||
return null;
|
||||
selectionClause = null;
|
||||
selectionArgs = null;
|
||||
}
|
||||
|
||||
final Cursor cursor = database.query(Constants.TABLE_RULESET, Constants.PROJECTION_RULESET,
|
||||
selectionClause, selectionArgs, null, null, null, null);
|
||||
|
||||
final ArrayList<Ruleset> allAvailableRulesets = new ArrayList<>();
|
||||
do {
|
||||
final int idIdx = cursor.getColumnIndex(KEY_ID);
|
||||
final int gameIdx = cursor.getColumnIndex(KEY_GAME);
|
||||
final int mirrorIdx = cursor.getColumnIndex(KEY_MIRROR_CLASS);
|
||||
final int ccm50Idx = cursor.getColumnIndex(KEY_50_CCM);
|
||||
final int ccm100Idx = cursor.getColumnIndex(KEY_100_CCM);
|
||||
final int ccm150Idx = cursor.getColumnIndex(KEY_150_CCM);
|
||||
final int ccm200Idx = cursor.getColumnIndex(KEY_200_CCM);
|
||||
final int freeForAllIdx = cursor.getColumnIndex(KEY_KART_FREE_FOR_ALL);
|
||||
final int bikesIdx = cursor.getColumnIndex(KEY_BIKES);
|
||||
final int idIdx = cursor.getColumnIndex(Constants.KEY_ID);
|
||||
final int gameIdx = cursor.getColumnIndex(Constants.KEY_GAME);
|
||||
final int mirrorIdx = cursor.getColumnIndex(Constants.KEY_MIRROR_CLASS);
|
||||
final int ccm50Idx = cursor.getColumnIndex(Constants.KEY_50_CCM);
|
||||
final int ccm100Idx = cursor.getColumnIndex(Constants.KEY_100_CCM);
|
||||
final int ccm150Idx = cursor.getColumnIndex(Constants.KEY_150_CCM);
|
||||
final int ccm200Idx = cursor.getColumnIndex(Constants.KEY_200_CCM);
|
||||
final int freeForAllIdx = cursor.getColumnIndex(Constants.KEY_KART_FREE_FOR_ALL);
|
||||
final int bikesIdx = cursor.getColumnIndex(Constants.KEY_BIKES);
|
||||
|
||||
final Ruleset ruleset = new Ruleset();
|
||||
boolean isValid = true;
|
||||
@@ -509,63 +569,64 @@ public class DatabaseHandler extends SQLiteAssetHelper {
|
||||
if (idIdx >= 0) {
|
||||
ruleset.setId(cursor.getInt(idIdx));
|
||||
} else {
|
||||
Log.d(TAG, "getAllRulesets: No such column [" + KEY_ID + "]");
|
||||
Log.d(TAG, "getAllRulesets: No such column [" + Constants.KEY_ID + "]");
|
||||
isValid = false;
|
||||
}
|
||||
|
||||
if (gameIdx >= 0) {
|
||||
ruleset.setGame(cursor.getString(gameIdx));
|
||||
} else {
|
||||
Log.d(TAG, "getAllRulesets: No such column [" + KEY_GAME + "]");
|
||||
Log.d(TAG, "getAllRulesets: No such column [" + Constants.KEY_GAME + "]");
|
||||
isValid = false;
|
||||
}
|
||||
|
||||
if (mirrorIdx >= 0) {
|
||||
ruleset.setGame(cursor.getString(gameIdx));
|
||||
} else {
|
||||
Log.d(TAG, "getAllRulesets: No such column [" + KEY_GAME + "]");
|
||||
Log.d(TAG, "getAllRulesets: No such column [" + Constants.KEY_GAME + "]");
|
||||
isValid = false;
|
||||
}
|
||||
|
||||
if (ccm50Idx >= 0) {
|
||||
ruleset.set50CcmAvailable(cursor.getInt(ccm50Idx));
|
||||
} else {
|
||||
Log.d(TAG, "getAllRulesets: No such column [" + KEY_50_CCM + "]");
|
||||
Log.d(TAG, "getAllRulesets: No such column [" + Constants.KEY_50_CCM + "]");
|
||||
isValid = false;
|
||||
}
|
||||
|
||||
if (ccm100Idx >= 0) {
|
||||
ruleset.set100CcmAvailable(cursor.getInt(ccm100Idx));
|
||||
} else {
|
||||
Log.d(TAG, "getAllRulesets: No such column [" + KEY_100_CCM + "]");
|
||||
Log.d(TAG, "getAllRulesets: No such column [" + Constants.KEY_100_CCM + "]");
|
||||
isValid = false;
|
||||
}
|
||||
|
||||
if (ccm150Idx >= 0) {
|
||||
ruleset.set150CcmAvailable(cursor.getInt(ccm150Idx));
|
||||
} else {
|
||||
Log.d(TAG, "getAllRulesets: No such column [" + KEY_150_CCM + "]");
|
||||
Log.d(TAG, "getAllRulesets: No such column [" + Constants.KEY_150_CCM + "]");
|
||||
isValid = false;
|
||||
}
|
||||
|
||||
if (ccm200Idx >= 0) {
|
||||
ruleset.set200CcmAvailable(cursor.getInt(ccm200Idx));
|
||||
} else {
|
||||
Log.d(TAG, "getAllRulesets: No such column [" + KEY_200_CCM + "]");
|
||||
Log.d(TAG, "getAllRulesets: No such column [" + Constants.KEY_200_CCM + "]");
|
||||
isValid = false;
|
||||
}
|
||||
|
||||
if (freeForAllIdx >= 0) {
|
||||
ruleset.setKartsFreeForAll(cursor.getInt(freeForAllIdx));
|
||||
} else {
|
||||
Log.d(TAG, "getAllRulesets: No such column [" + KEY_KART_FREE_FOR_ALL + "]");
|
||||
Log.d(TAG, "getAllRulesets: No such column [" + Constants.KEY_KART_FREE_FOR_ALL
|
||||
+ "]");
|
||||
isValid = false;
|
||||
}
|
||||
|
||||
if (bikesIdx >= 0) {
|
||||
ruleset.setBikesAvailable(cursor.getInt(bikesIdx));
|
||||
} else {
|
||||
Log.d(TAG, "getAllRulesets: No such column [" + KEY_BIKES + "]");
|
||||
Log.d(TAG, "getAllRulesets: No such column [" + Constants.KEY_BIKES + "]");
|
||||
isValid = false;
|
||||
}
|
||||
|
||||
@@ -586,58 +647,73 @@ public class DatabaseHandler extends SQLiteAssetHelper {
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves all Accessories from Database.
|
||||
* Retrieves all Accessories from Database. If a Game is provided, all accessories of this
|
||||
* specific game will be retrieved.
|
||||
*
|
||||
* @param game The game of which all tracks should be retrieved.
|
||||
* @param onlyAvailable If true, only available objects will be returned, otherwise all
|
||||
*
|
||||
* @return List containing all Accessory Objects retrieved from Database.
|
||||
*/
|
||||
public ArrayList<Accessory> getAllAccessories() {
|
||||
public ArrayList<Accessory> getAllAccessories(@Nullable final Game game,
|
||||
final boolean onlyAvailable) {
|
||||
final SQLiteDatabase database = this.getReadableDatabase();
|
||||
|
||||
final Cursor cursor = database.query(TABLE_TRACK, PROJECTION_TRACK, null,
|
||||
null, null, null, null, null);
|
||||
if (cursor != null) {
|
||||
Log.d(TAG, "getAllAccessories: Moving cursor to first.");
|
||||
cursor.moveToFirst();
|
||||
final String selectionClause;
|
||||
final String[] selectionArgs;
|
||||
if (game != null && onlyAvailable) {
|
||||
selectionClause = Constants.KEY_GAME + "=? AND " + Constants.KEY_AVAILABLE + "=?";
|
||||
selectionArgs = new String[]{game.getName(), String.valueOf(Constants.TRUE)};
|
||||
} else if (game != null) {
|
||||
selectionClause = Constants.KEY_GAME + "=?";
|
||||
selectionArgs = new String[]{game.getName()};
|
||||
} else if (onlyAvailable) {
|
||||
selectionClause = Constants.KEY_AVAILABLE + "=?";
|
||||
selectionArgs = new String[]{String.valueOf(Constants.TRUE)};
|
||||
} else {
|
||||
Log.d(TAG, "getAllAccessories: cursor is null");
|
||||
return null;
|
||||
selectionClause = null;
|
||||
selectionArgs = null;
|
||||
}
|
||||
|
||||
final Cursor cursor = database.query(Constants.TABLE_ACCESSORY,
|
||||
Constants.PROJECTION_ACCESSORY, selectionClause, selectionArgs, null, null, null,
|
||||
null);
|
||||
|
||||
final ArrayList<Accessory> allAvailableAccessories = new ArrayList<>();
|
||||
|
||||
do {
|
||||
final int idIdx = cursor.getColumnIndex(KEY_ID);
|
||||
final int nameIdx = cursor.getColumnIndex(KEY_NAME);
|
||||
final int gameIdx = cursor.getColumnIndex(KEY_GAME);
|
||||
final int availableIdx = cursor.getColumnIndex(KEY_AVAILABLE);
|
||||
final int idIdx = cursor.getColumnIndex(Constants.KEY_ID);
|
||||
final int nameIdx = cursor.getColumnIndex(Constants.KEY_NAME);
|
||||
final int gameIdx = cursor.getColumnIndex(Constants.KEY_GAME);
|
||||
final int availableIdx = cursor.getColumnIndex(Constants.KEY_AVAILABLE);
|
||||
|
||||
final Accessory accessory = new Accessory();
|
||||
boolean isValid = true;
|
||||
if (idIdx >= 0) {
|
||||
accessory.setId(cursor.getInt(idIdx));
|
||||
} else {
|
||||
Log.d(TAG, "getAllAccessories: No such column [" + KEY_ID + "]");
|
||||
Log.d(TAG, "getAllAccessories: No such column [" + Constants.KEY_ID + "]");
|
||||
isValid = false;
|
||||
}
|
||||
|
||||
if (nameIdx >= 0) {
|
||||
accessory.setName(cursor.getString(nameIdx));
|
||||
} else {
|
||||
Log.d(TAG, "getAllAccessories: No such column [" + KEY_NAME + "]");
|
||||
Log.d(TAG, "getAllAccessories: No such column [" + Constants.KEY_NAME + "]");
|
||||
isValid = false;
|
||||
}
|
||||
|
||||
if (gameIdx >= 0) {
|
||||
accessory.setGame(cursor.getString(gameIdx));
|
||||
} else {
|
||||
Log.d(TAG, "getAllAccessories: No such column [" + KEY_GAME + "]");
|
||||
Log.d(TAG, "getAllAccessories: No such column [" + Constants.KEY_GAME + "]");
|
||||
isValid = false;
|
||||
}
|
||||
|
||||
if (availableIdx < 0) {
|
||||
accessory.setAvailable(cursor.getInt(availableIdx));
|
||||
} else {
|
||||
Log.d(TAG, "getAllAccessories: No such column [" + KEY_AVAILABLE + "]");
|
||||
Log.d(TAG, "getAllAccessories: No such column [" + Constants.KEY_AVAILABLE + "]");
|
||||
isValid = false;
|
||||
}
|
||||
|
||||
@@ -658,15 +734,36 @@ public class DatabaseHandler extends SQLiteAssetHelper {
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves all Wheels from Database.
|
||||
* Retrieves all Wheels from Database. If a Game is provided, all wheels of this specific
|
||||
* game will be retrieved.
|
||||
*
|
||||
* @param game The game of which all tracks should be retrieved.
|
||||
* @param onlyAvailable If true, only available objects will be returned, otherwise all
|
||||
*
|
||||
* @return List containing all Wheels Objects retrieved from Database.
|
||||
*/
|
||||
public ArrayList<Wheels> getAllWheels() {
|
||||
public ArrayList<Wheels> getAllWheels(@Nullable final Game game,
|
||||
final boolean onlyAvailable) {
|
||||
final SQLiteDatabase database = this.getReadableDatabase();
|
||||
|
||||
final Cursor cursor = database.query(TABLE_TRACK, PROJECTION_TRACK, null,
|
||||
null, null, null, null, null);
|
||||
final String selectionClause;
|
||||
final String[] selectionArgs;
|
||||
if (game != null && onlyAvailable) {
|
||||
selectionClause = Constants.KEY_GAME + "=? AND " + Constants.KEY_AVAILABLE + "=?";
|
||||
selectionArgs = new String[]{game.getName(), String.valueOf(Constants.TRUE)};
|
||||
} else if (game != null) {
|
||||
selectionClause = Constants.KEY_GAME + "=?";
|
||||
selectionArgs = new String[]{game.getName()};
|
||||
} else if (onlyAvailable) {
|
||||
selectionClause = Constants.KEY_AVAILABLE + "=?";
|
||||
selectionArgs = new String[]{String.valueOf(Constants.TRUE)};
|
||||
} else {
|
||||
selectionClause = null;
|
||||
selectionArgs = null;
|
||||
}
|
||||
|
||||
final Cursor cursor = database.query(Constants.TABLE_WHEELS, Constants.PROJECTION_WHEELS,
|
||||
selectionClause, selectionArgs, null, null, null, null);
|
||||
if (cursor != null) {
|
||||
Log.d(TAG, "getAllWheels: Moving cursor to first.");
|
||||
cursor.moveToFirst();
|
||||
@@ -678,38 +775,38 @@ public class DatabaseHandler extends SQLiteAssetHelper {
|
||||
final ArrayList<Wheels> allAvailableWheels = new ArrayList<>();
|
||||
|
||||
do {
|
||||
final int idIdx = cursor.getColumnIndex(KEY_ID);
|
||||
final int nameIdx = cursor.getColumnIndex(KEY_NAME);
|
||||
final int gameIdx = cursor.getColumnIndex(KEY_GAME);
|
||||
final int availableIdx = cursor.getColumnIndex(KEY_AVAILABLE);
|
||||
final int idIdx = cursor.getColumnIndex(Constants.KEY_ID);
|
||||
final int nameIdx = cursor.getColumnIndex(Constants.KEY_NAME);
|
||||
final int gameIdx = cursor.getColumnIndex(Constants.KEY_GAME);
|
||||
final int availableIdx = cursor.getColumnIndex(Constants.KEY_AVAILABLE);
|
||||
|
||||
final Wheels wheels = new Wheels();
|
||||
boolean isValid = true;
|
||||
if (idIdx >= 0) {
|
||||
wheels.setId(cursor.getInt(idIdx));
|
||||
} else {
|
||||
Log.d(TAG, "getAllWheels: No such column [" + KEY_ID + "]");
|
||||
Log.d(TAG, "getAllWheels: No such column [" + Constants.KEY_ID + "]");
|
||||
isValid = false;
|
||||
}
|
||||
|
||||
if (nameIdx >= 0) {
|
||||
wheels.setName(cursor.getString(nameIdx));
|
||||
} else {
|
||||
Log.d(TAG, "getAllWheels: No such column [" + KEY_NAME + "]");
|
||||
Log.d(TAG, "getAllWheels: No such column [" + Constants.KEY_NAME + "]");
|
||||
isValid = false;
|
||||
}
|
||||
|
||||
if (gameIdx >= 0) {
|
||||
wheels.setGame(cursor.getString(gameIdx));
|
||||
} else {
|
||||
Log.d(TAG, "getAllWheels: No such column [" + KEY_GAME + "]");
|
||||
Log.d(TAG, "getAllWheels: No such column [" + Constants.KEY_GAME + "]");
|
||||
isValid = false;
|
||||
}
|
||||
|
||||
if (availableIdx < 0) {
|
||||
wheels.setAvailable(cursor.getInt(availableIdx));
|
||||
} else {
|
||||
Log.d(TAG, "getAllWheels: No such column [" + KEY_AVAILABLE + "]");
|
||||
Log.d(TAG, "getAllWheels: No such column [" + Constants.KEY_AVAILABLE + "]");
|
||||
isValid = false;
|
||||
}
|
||||
|
||||
@@ -736,7 +833,7 @@ public class DatabaseHandler extends SQLiteAssetHelper {
|
||||
public ArrayList<Game> getAllGames() {
|
||||
final SQLiteDatabase database = this.getReadableDatabase();
|
||||
|
||||
final Cursor cursor = database.query(TABLE_GAME, PROJECTION_GAME, null,
|
||||
final Cursor cursor = database.query(Constants.TABLE_GAME, Constants.PROJECTION_GAME, null,
|
||||
null, null, null, null, null);
|
||||
if (cursor != null) {
|
||||
Log.d(TAG, "getAllGames: Moving cursor to first.");
|
||||
@@ -749,30 +846,30 @@ public class DatabaseHandler extends SQLiteAssetHelper {
|
||||
final ArrayList<Game> allAvailableGames = new ArrayList<>();
|
||||
|
||||
do {
|
||||
final int idIdx = cursor.getColumnIndex(KEY_ID);
|
||||
final int nameIdx = cursor.getColumnIndex(KEY_NAME);
|
||||
final int coverUriIdx = cursor.getColumnIndex(KEY_COVER_URI);
|
||||
final int idIdx = cursor.getColumnIndex(Constants.KEY_ID);
|
||||
final int nameIdx = cursor.getColumnIndex(Constants.KEY_NAME);
|
||||
final int coverUriIdx = cursor.getColumnIndex(Constants.KEY_COVER_URI);
|
||||
|
||||
final Game game = new Game();
|
||||
boolean isValid = true;
|
||||
if (idIdx >= 0) {
|
||||
game.setId(cursor.getInt(idIdx));
|
||||
} else {
|
||||
Log.d(TAG, "getAllGames: No such column [" + KEY_ID + "]");
|
||||
Log.d(TAG, "getAllGames: No such column [" + Constants.KEY_ID + "]");
|
||||
isValid = false;
|
||||
}
|
||||
|
||||
if (nameIdx >= 0) {
|
||||
game.setName(cursor.getString(nameIdx));
|
||||
} else {
|
||||
Log.d(TAG, "getAllGames: No such column [" + KEY_NAME + "]");
|
||||
Log.d(TAG, "getAllGames: No such column [" + Constants.KEY_NAME + "]");
|
||||
isValid = false;
|
||||
}
|
||||
|
||||
if (coverUriIdx >= 0) {
|
||||
game.setCoverUri(cursor.getString(coverUriIdx));
|
||||
} else {
|
||||
Log.d(TAG, "getAllGames: No such column [" + KEY_COVER_URI + "]");
|
||||
Log.d(TAG, "getAllGames: No such column [" + Constants.KEY_COVER_URI + "]");
|
||||
isValid = false;
|
||||
}
|
||||
|
||||
@@ -795,14 +892,15 @@ public class DatabaseHandler extends SQLiteAssetHelper {
|
||||
// ------------------------------ T E S T F U N C T I O N S -------------------------------
|
||||
// -------------------------------------------------------------------------------------------
|
||||
|
||||
// TODO: This is only an intermediate state and can be removed later on
|
||||
public Track testDBConnection(final int id) {
|
||||
Log.d(TAG, "testDBConnection: Opening Readable Database.");
|
||||
final SQLiteDatabase database = this.getReadableDatabase();
|
||||
|
||||
Log.d(TAG, "testDBConnection: Query a single track for id = [" + id + "]");
|
||||
final Cursor cursor = database.query(TABLE_TRACK, new String[]{KEY_ID,
|
||||
KEY_NAME, KEY_GAME, KEY_AVAILABLE}, KEY_ID + "=?",
|
||||
new String[]{String.valueOf(id)}, null, null, null, null);
|
||||
final Cursor cursor = database.query(Constants.TABLE_TRACK, new String[]{Constants.KEY_ID,
|
||||
Constants.KEY_NAME, Constants.KEY_GAME, Constants.KEY_AVAILABLE},
|
||||
Constants.KEY_ID + "=?", new String[]{String.valueOf(id)}, null, null, null, null);
|
||||
if (cursor != null) {
|
||||
Log.d(TAG, "testDBConnection: Moving cursor to first.");
|
||||
cursor.moveToFirst();
|
||||
@@ -813,30 +911,30 @@ public class DatabaseHandler extends SQLiteAssetHelper {
|
||||
|
||||
DatabaseUtils.dumpCursor(cursor);
|
||||
|
||||
final int nameIdx = cursor.getColumnIndex(KEY_NAME);
|
||||
final int gameIdx = cursor.getColumnIndex(KEY_GAME);
|
||||
final int idIdx = cursor.getColumnIndex(KEY_ID);
|
||||
final int availableIdx = cursor.getColumnIndex(KEY_AVAILABLE);
|
||||
final int nameIdx = cursor.getColumnIndex(Constants.KEY_NAME);
|
||||
final int gameIdx = cursor.getColumnIndex(Constants.KEY_GAME);
|
||||
final int idIdx = cursor.getColumnIndex(Constants.KEY_ID);
|
||||
final int availableIdx = cursor.getColumnIndex(Constants.KEY_AVAILABLE);
|
||||
|
||||
if (nameIdx < 0) {
|
||||
Log.d(TAG, "testDBConnection: No such column [" + KEY_NAME + "]");
|
||||
Log.d(TAG, "testDBConnection: No such column [" + Constants.KEY_NAME + "]");
|
||||
}
|
||||
if (gameIdx < 0) {
|
||||
Log.d(TAG, "testDBConnection: No such column [" + KEY_GAME + "]");
|
||||
Log.d(TAG, "testDBConnection: No such column [" + Constants.KEY_GAME + "]");
|
||||
}
|
||||
if (idIdx < 0) {
|
||||
Log.d(TAG, "testDBConnection: No such column [" + KEY_ID + "]");
|
||||
Log.d(TAG, "testDBConnection: No such column [" + Constants.KEY_ID + "]");
|
||||
}
|
||||
if (availableIdx < 0) {
|
||||
Log.d(TAG, "testDBConnection: No such column [" + KEY_AVAILABLE + "]");
|
||||
Log.d(TAG, "testDBConnection: No such column [" + Constants.KEY_AVAILABLE + "]");
|
||||
}
|
||||
|
||||
if (availableIdx >= 0 && idIdx >= 0 && gameIdx >= 0 && nameIdx >= 0) {
|
||||
final Track track = new Track();
|
||||
track.setName(cursor.getString(cursor.getColumnIndex(KEY_NAME)));
|
||||
track.setGame(cursor.getString(cursor.getColumnIndex(KEY_GAME)));
|
||||
track.setId(Integer.parseInt(cursor.getString(cursor.getColumnIndex(KEY_ID))));
|
||||
track.setAvailable(Integer.parseInt(cursor.getString(cursor.getColumnIndex(KEY_AVAILABLE))));
|
||||
track.setName(cursor.getString(nameIdx));
|
||||
track.setGame(cursor.getString(gameIdx));
|
||||
track.setId(Integer.parseInt(cursor.getString(idIdx)));
|
||||
track.setAvailable(Integer.parseInt(cursor.getString(availableIdx)));
|
||||
database.close();
|
||||
|
||||
// return contact
|
||||
|
||||
Reference in New Issue
Block a user