From 173285132b145436f86163f4ae14c70b49e93009 Mon Sep 17 00:00:00 2001 From: Stefan Rasmusson Date: Mon, 20 Jan 2014 22:36:29 +0100 Subject: [PATCH] Newly created database is now identified by flag Newly created database is now identified by flag instead of looking if the version number is 0 --- .../readystatesoftware/sqliteasset/SQLiteAssetHelper.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/library/src/main/java/com/readystatesoftware/sqliteasset/SQLiteAssetHelper.java b/library/src/main/java/com/readystatesoftware/sqliteasset/SQLiteAssetHelper.java index ebee1c9..29265e8 100755 --- a/library/src/main/java/com/readystatesoftware/sqliteasset/SQLiteAssetHelper.java +++ b/library/src/main/java/com/readystatesoftware/sqliteasset/SQLiteAssetHelper.java @@ -66,6 +66,7 @@ public class SQLiteAssetHelper extends SQLiteOpenHelper { private SQLiteDatabase mDatabase = null; private boolean mIsInitializing = false; + private boolean databaseNewlyCreated = false; private String mDatabasePath; @@ -178,7 +179,7 @@ public synchronized SQLiteDatabase getWritableDatabase() { int version = db.getVersion(); // do force upgrade - if (version != 0 && version < mForcedUpgradeVersion) { + if (!databaseNewlyCreated && version < mForcedUpgradeVersion) { db = createOrOpenDatabase(true); db.setVersion(mNewVersion); version = db.getVersion(); @@ -187,7 +188,7 @@ public synchronized SQLiteDatabase getWritableDatabase() { if (version != mNewVersion) { db.beginTransaction(); try { - if (version == 0) { + if (databaseNewlyCreated) { onCreate(db); } else { if (version > mNewVersion) { @@ -392,12 +393,14 @@ private SQLiteDatabase createOrOpenDatabase(boolean force) throws SQLiteAssetExc if (force) { Log.w(TAG, "forcing database upgrade!"); copyDatabaseFromAssets(); + databaseNewlyCreated = true; db = returnDatabase(); } return db; } else { // database does not exist, copy it from assets and return it copyDatabaseFromAssets(); + databaseNewlyCreated = true; db = returnDatabase(); return db; }