summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGeorge Mount <mount@google.com>2013-03-15 11:16:08 -0700
committerGeorge Mount <mount@google.com>2013-03-15 11:16:50 -0700
commit4fc93d01548b8b67cb4cdd4a9e540ea0e004df49 (patch)
tree8ea4fbdf94c483b5e0cc4ac1ec7423cb8b4fd3bd /src
parentb7cc5e99563bc695ec871f897914eb2cb797ad53 (diff)
downloadandroid_packages_apps_Snap-4fc93d01548b8b67cb4cdd4a9e540ea0e004df49.tar.gz
android_packages_apps_Snap-4fc93d01548b8b67cb4cdd4a9e540ea0e004df49.tar.bz2
android_packages_apps_Snap-4fc93d01548b8b67cb4cdd4a9e540ea0e004df49.zip
Delete and recreate database on upgrade.
Change-Id: I0125697dd673568ddfee7be8d7d0d693018b61d5
Diffstat (limited to 'src')
-rw-r--r--src/com/android/photos/data/PhotoDatabase.java19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/com/android/photos/data/PhotoDatabase.java b/src/com/android/photos/data/PhotoDatabase.java
index a87f00bfa..3a9ad3cb1 100644
--- a/src/com/android/photos/data/PhotoDatabase.java
+++ b/src/com/android/photos/data/PhotoDatabase.java
@@ -90,12 +90,21 @@ public class PhotoDatabase extends SQLiteOpenHelper {
createTable(db, Metadata.TABLE, getMetadataTableDefinition());
}
+ public PhotoDatabase(Context context, String dbName, int dbVersion) {
+ super(context, dbName, null, dbVersion);
+ }
+
public PhotoDatabase(Context context, String dbName) {
super(context, dbName, null, DB_VERSION);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
+ dropTable(db, Metadata.TABLE);
+ dropTable(db, Photos.TABLE);
+ dropTable(db, Albums.TABLE);
+ dropTable(db, Accounts.TABLE);
+ onCreate(db);
}
protected List<String[]> getAlbumTableDefinition() {
@@ -163,4 +172,14 @@ public class PhotoDatabase extends SQLiteOpenHelper {
}
}
}
+
+ protected static void dropTable(SQLiteDatabase db, String table) {
+ db.beginTransaction();
+ try {
+ db.execSQL("drop table " + table);
+ db.setTransactionSuccessful();
+ } finally {
+ db.endTransaction();
+ }
+ }
}