diff options
Diffstat (limited to 'src/org/cyanogenmod/themes/provider/ThemesOpenHelper.java')
-rw-r--r-- | src/org/cyanogenmod/themes/provider/ThemesOpenHelper.java | 28 |
1 files changed, 24 insertions, 4 deletions
diff --git a/src/org/cyanogenmod/themes/provider/ThemesOpenHelper.java b/src/org/cyanogenmod/themes/provider/ThemesOpenHelper.java index b065f79..b0835de 100644 --- a/src/org/cyanogenmod/themes/provider/ThemesOpenHelper.java +++ b/src/org/cyanogenmod/themes/provider/ThemesOpenHelper.java @@ -36,7 +36,7 @@ import android.util.Log; public class ThemesOpenHelper extends SQLiteOpenHelper { private static final String TAG = ThemesOpenHelper.class.getName(); - private static final int DATABASE_VERSION = 13; + private static final int DATABASE_VERSION = 14; private static final String DATABASE_NAME = "themes.db"; private static final String SYSTEM_THEME_PKG_NAME = ThemeConfig.SYSTEM_DEFAULT; @@ -110,6 +110,10 @@ public class ThemesOpenHelper extends SQLiteOpenHelper { upgradeToVersion13(db); oldVersion = 13; } + if (oldVersion == 13) { + upgradeToVersion14(db); + oldVersion = 14; + } if (oldVersion != DATABASE_VERSION) { Log.e(TAG, "Recreating db because unknown database version: " + oldVersion); dropTables(db); @@ -396,6 +400,18 @@ public class ThemesOpenHelper extends SQLiteOpenHelper { ThemesColumns.INSTALL_STATE, ThemesColumns.InstallState.INSTALLED)); } + private void upgradeToVersion14(SQLiteDatabase db) { + // add previous_value column to mixnmatch db + String sql = String.format("ALTER TABLE %s ADD COLUMN %s TEXT", + MixnMatchTable.TABLE_NAME, MixnMatchColumns.COL_PREV_VALUE); + db.execSQL(sql); + + // add update_time column to mixnmatch db + sql = String.format("ALTER TABLE %s ADD COLUMN %s INTEGER DEFAULT 0", + MixnMatchTable.TABLE_NAME, MixnMatchColumns.COL_UPDATE_TIME); + db.execSQL(sql); + } + private void dropTables(SQLiteDatabase db) { db.execSQL("DROP TABLE IF EXISTS " + ThemesTable.TABLE_NAME); db.execSQL("DROP TABLE IF EXISTS " + MixnMatchTable.TABLE_NAME); @@ -474,18 +490,22 @@ public class ThemesOpenHelper extends SQLiteOpenHelper { } public static class MixnMatchTable { - protected static final String TABLE_NAME = "mixnmatch"; + public static final String TABLE_NAME = "mixnmatch"; private static final String MIXNMATCH_TABLE_CREATE = "CREATE TABLE " + TABLE_NAME + " (" + MixnMatchColumns.COL_KEY + " TEXT PRIMARY KEY," + - MixnMatchColumns.COL_VALUE + " TEXT" + + MixnMatchColumns.COL_VALUE + " TEXT," + + MixnMatchColumns.COL_PREV_VALUE + " TEXT," + + MixnMatchColumns.COL_UPDATE_TIME + " INTEGER DEFAULT 0" + ")"; public static void insertDefaults(SQLiteDatabase db) { ContentValues values = new ContentValues(); + long updateTime = System.currentTimeMillis(); + values.put(MixnMatchColumns.COL_VALUE, SYSTEM_THEME_PKG_NAME); + values.put(MixnMatchColumns.COL_UPDATE_TIME, updateTime); for(String key : MixnMatchColumns.ROWS) { values.put(MixnMatchColumns.COL_KEY, key); - values.put(MixnMatchColumns.COL_VALUE, SYSTEM_THEME_PKG_NAME); db.insert(TABLE_NAME, null, values); } } |