From 4b2aec6d083bb4254bfaa1e943a018fca1066f32 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Thu, 6 Oct 2016 23:10:01 +0200 Subject: [PATCH] fix crash loop when upgrading from v0.101 For upgrades from DB version earlier than 63, the whole table is recreated by resetTransient() in migrateToPackageTable() so the upgrade method for the OBB tables only needs to run when the database is at exactly version 63 This was mistakenly added to cd9582c9902dd4ac9218acfd69872f3eebcd3d93 when it was rebased on !375. --- .../java/org/fdroid/fdroid/data/DBHelper.java | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/org/fdroid/fdroid/data/DBHelper.java b/app/src/main/java/org/fdroid/fdroid/data/DBHelper.java index 51270d448..e39d54406 100644 --- a/app/src/main/java/org/fdroid/fdroid/data/DBHelper.java +++ b/app/src/main/java/org/fdroid/fdroid/data/DBHelper.java @@ -361,8 +361,14 @@ class DBHelper extends SQLiteOpenHelper { addObbFiles(db, oldVersion); } + /** + * For upgrades from earlier than 63, this is created in + * {@link #resetTransient(SQLiteDatabase)} in + * {@link #migrateToPackageTable(SQLiteDatabase, int)}, so it only needs + * to run when the database is at version 63. + */ private void addObbFiles(SQLiteDatabase db, int oldVersion) { - if (oldVersion >= 64) { + if (oldVersion != 63) { return; } Utils.debugLog(TAG, "Adding " + ApkTable.Cols.OBB_MAIN_FILE @@ -499,10 +505,6 @@ class DBHelper extends SQLiteOpenHelper { + ApkTable.Cols.MIN_SDK_VERSION + " integer, " + ApkTable.Cols.TARGET_SDK_VERSION + " integer, " + ApkTable.Cols.MAX_SDK_VERSION + " integer, " - + ApkTable.Cols.OBB_MAIN_FILE + " string, " - + ApkTable.Cols.OBB_MAIN_FILE_SHA256 + " string, " - + ApkTable.Cols.OBB_PATCH_FILE + " string, " - + ApkTable.Cols.OBB_PATCH_FILE_SHA256 + " string, " + ApkTable.Cols.PERMISSIONS + " string, " + ApkTable.Cols.FEATURES + " string, " + ApkTable.Cols.NATIVE_CODE + " string, " @@ -528,10 +530,6 @@ class DBHelper extends SQLiteOpenHelper { ApkTable.Cols.MIN_SDK_VERSION, ApkTable.Cols.TARGET_SDK_VERSION, ApkTable.Cols.MAX_SDK_VERSION, - ApkTable.Cols.OBB_MAIN_FILE, - ApkTable.Cols.OBB_MAIN_FILE_SHA256, - ApkTable.Cols.OBB_PATCH_FILE, - ApkTable.Cols.OBB_PATCH_FILE_SHA256, ApkTable.Cols.PERMISSIONS, ApkTable.Cols.FEATURES, ApkTable.Cols.NATIVE_CODE,