Refactoring max id logic to a common method
Change-Id: I1f649b570ee43d6c0540a207693d2cbee4538fb8
This commit is contained in:
@@ -733,23 +733,7 @@ public class LauncherProvider extends ContentProvider {
|
||||
}
|
||||
|
||||
private long initializeMaxItemId(SQLiteDatabase db) {
|
||||
Cursor c = db.rawQuery("SELECT MAX(_id) FROM favorites", null);
|
||||
|
||||
// get the result
|
||||
final int maxIdIndex = 0;
|
||||
long id = -1;
|
||||
if (c != null && c.moveToNext()) {
|
||||
id = c.getLong(maxIdIndex);
|
||||
}
|
||||
if (c != null) {
|
||||
c.close();
|
||||
}
|
||||
|
||||
if (id == -1) {
|
||||
throw new RuntimeException("Error: could not query max item id");
|
||||
}
|
||||
|
||||
return id;
|
||||
return getMaxId(db, TABLE_FAVORITES);
|
||||
}
|
||||
|
||||
// Generates a new ID to use for an workspace screen in your database. This method
|
||||
@@ -768,25 +752,7 @@ public class LauncherProvider extends ContentProvider {
|
||||
}
|
||||
|
||||
private long initializeMaxScreenId(SQLiteDatabase db) {
|
||||
Cursor c = db.rawQuery("SELECT MAX(" + LauncherSettings.WorkspaceScreens._ID + ") FROM " + TABLE_WORKSPACE_SCREENS, null);
|
||||
|
||||
// get the result
|
||||
final int maxIdIndex = 0;
|
||||
long id = -1;
|
||||
if (c != null && c.moveToNext()) {
|
||||
id = c.getLong(maxIdIndex);
|
||||
}
|
||||
if (c != null) {
|
||||
c.close();
|
||||
}
|
||||
|
||||
if (id == -1) {
|
||||
throw new RuntimeException("Error: could not query max screen id");
|
||||
}
|
||||
|
||||
// Log to disk
|
||||
Launcher.addDumpLog(TAG, "11683562 - initializeMaxScreenId(): " + id, true);
|
||||
return id;
|
||||
return getMaxId(db, TABLE_WORKSPACE_SCREENS);
|
||||
}
|
||||
|
||||
private boolean initializeExternalAdd(ContentValues values) {
|
||||
@@ -1199,6 +1165,27 @@ public class LauncherProvider extends ContentProvider {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the max _id in the provided table.
|
||||
*/
|
||||
private static long getMaxId(SQLiteDatabase db, String table) {
|
||||
Cursor c = db.rawQuery("SELECT MAX(_id) FROM " + table, null);
|
||||
// get the result
|
||||
long id = -1;
|
||||
if (c != null && c.moveToNext()) {
|
||||
id = c.getLong(0);
|
||||
}
|
||||
if (c != null) {
|
||||
c.close();
|
||||
}
|
||||
|
||||
if (id == -1) {
|
||||
throw new RuntimeException("Error: could not query max id in " + table);
|
||||
}
|
||||
|
||||
return id;
|
||||
}
|
||||
|
||||
static class SqlArguments {
|
||||
public final String table;
|
||||
public final String where;
|
||||
|
||||
Reference in New Issue
Block a user