DBHelper: don't wrap entire func bodies in ifs
This removes tons of unnecessary indenting. Do it in smaller functions too for consistency.
This commit is contained in:
		
							parent
							
								
									7f2a811541
								
							
						
					
					
						commit
						6a0eec1262
					
				| @ -116,80 +116,82 @@ class DBHelper extends SQLiteOpenHelper { | ||||
|     } | ||||
| 
 | ||||
|     private void populateRepoNames(SQLiteDatabase db, int oldVersion) { | ||||
|         if (oldVersion < 37) { | ||||
|             Utils.debugLog(TAG, "Populating repo names from the url"); | ||||
|             final String[] columns = {"address", "_id"}; | ||||
|             Cursor cursor = db.query(TABLE_REPO, columns, | ||||
|                     "name IS NULL OR name = ''", null, null, null, null); | ||||
|             if (cursor != null) { | ||||
|                 if (cursor.getCount() > 0) { | ||||
|                     cursor.moveToFirst(); | ||||
|                     while (!cursor.isAfterLast()) { | ||||
|                         String address = cursor.getString(0); | ||||
|                         long id = cursor.getInt(1); | ||||
|                         ContentValues values = new ContentValues(1); | ||||
|                         String name = Repo.addressToName(address); | ||||
|                         values.put("name", name); | ||||
|                         final String[] args = {Long.toString(id)}; | ||||
|                         Utils.debugLog(TAG, "Setting repo name to '" + name + "' for repo " + address); | ||||
|                         db.update(TABLE_REPO, values, "_id = ?", args); | ||||
|                         cursor.moveToNext(); | ||||
|                     } | ||||
|         if (oldVersion >= 37) { | ||||
|             return; | ||||
|         } | ||||
|         Utils.debugLog(TAG, "Populating repo names from the url"); | ||||
|         final String[] columns = {"address", "_id"}; | ||||
|         Cursor cursor = db.query(TABLE_REPO, columns, | ||||
|                 "name IS NULL OR name = ''", null, null, null, null); | ||||
|         if (cursor != null) { | ||||
|             if (cursor.getCount() > 0) { | ||||
|                 cursor.moveToFirst(); | ||||
|                 while (!cursor.isAfterLast()) { | ||||
|                     String address = cursor.getString(0); | ||||
|                     long id = cursor.getInt(1); | ||||
|                     ContentValues values = new ContentValues(1); | ||||
|                     String name = Repo.addressToName(address); | ||||
|                     values.put("name", name); | ||||
|                     final String[] args = {Long.toString(id)}; | ||||
|                     Utils.debugLog(TAG, "Setting repo name to '" + name + "' for repo " + address); | ||||
|                     db.update(TABLE_REPO, values, "_id = ?", args); | ||||
|                     cursor.moveToNext(); | ||||
|                 } | ||||
|                 cursor.close(); | ||||
|             } | ||||
|             cursor.close(); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     private void renameRepoId(SQLiteDatabase db, int oldVersion) { | ||||
|         if (oldVersion < 36 && !columnExists(db, TABLE_REPO, "_id")) { | ||||
| 
 | ||||
|             Utils.debugLog(TAG, "Renaming " + TABLE_REPO + ".id to _id"); | ||||
|             db.beginTransaction(); | ||||
| 
 | ||||
|             try { | ||||
|                 // http://stackoverflow.com/questions/805363/how-do-i-rename-a-column-in-a-sqlite-database-table#805508 | ||||
|                 String tempTableName = TABLE_REPO + "__temp__"; | ||||
|                 db.execSQL("ALTER TABLE " + TABLE_REPO + " RENAME TO " + tempTableName + ";"); | ||||
| 
 | ||||
|                 // I realise this is available in the CREATE_TABLE_REPO above, | ||||
|                 // however I have a feeling that it will need to be the same as the | ||||
|                 // current structure of the table as of DBVersion 36, or else we may | ||||
|                 // get into strife. For example, if there was a field that | ||||
|                 // got removed, then it will break the "insert select" | ||||
|                 // statement. Therefore, I've put a copy of CREATE_TABLE_REPO | ||||
|                 // here that is the same as it was at DBVersion 36. | ||||
|                 String createTableDdl = "create table " + TABLE_REPO + " (" | ||||
|                         + "_id integer not null primary key, " | ||||
|                         + "address text not null, " | ||||
|                         + "name text, " | ||||
|                         + "description text, " | ||||
|                         + "inuse integer not null, " | ||||
|                         + "priority integer not null, " | ||||
|                         + "pubkey text, " | ||||
|                         + "fingerprint text, " | ||||
|                         + "maxage integer not null default 0, " | ||||
|                         + "version integer not null default 0, " | ||||
|                         + "lastetag text, " | ||||
|                         + "lastUpdated string);"; | ||||
| 
 | ||||
|                 db.execSQL(createTableDdl); | ||||
| 
 | ||||
|                 String nonIdFields = "address, name, description, inuse, priority, " + | ||||
|                         "pubkey, fingerprint, maxage, version, lastetag, lastUpdated"; | ||||
| 
 | ||||
|                 String insertSql = "INSERT INTO " + TABLE_REPO + | ||||
|                         "(_id, " + nonIdFields + " ) " + | ||||
|                         "SELECT id, " + nonIdFields + " FROM " + tempTableName + ";"; | ||||
| 
 | ||||
|                 db.execSQL(insertSql); | ||||
|                 db.execSQL("DROP TABLE " + tempTableName + ";"); | ||||
|                 db.setTransactionSuccessful(); | ||||
|             } catch (Exception e) { | ||||
|                 Log.e(TAG, "Error renaming id to _id", e); | ||||
|             } | ||||
|             db.endTransaction(); | ||||
|         if (oldVersion >= 36 || columnExists(db, TABLE_REPO, "_id")) { | ||||
|             return; | ||||
|         } | ||||
| 
 | ||||
|         Utils.debugLog(TAG, "Renaming " + TABLE_REPO + ".id to _id"); | ||||
|         db.beginTransaction(); | ||||
| 
 | ||||
|         try { | ||||
|             // http://stackoverflow.com/questions/805363/how-do-i-rename-a-column-in-a-sqlite-database-table#805508 | ||||
|             String tempTableName = TABLE_REPO + "__temp__"; | ||||
|             db.execSQL("ALTER TABLE " + TABLE_REPO + " RENAME TO " + tempTableName + ";"); | ||||
| 
 | ||||
|             // I realise this is available in the CREATE_TABLE_REPO above, | ||||
|             // however I have a feeling that it will need to be the same as the | ||||
|             // current structure of the table as of DBVersion 36, or else we may | ||||
|             // get into strife. For example, if there was a field that | ||||
|             // got removed, then it will break the "insert select" | ||||
|             // statement. Therefore, I've put a copy of CREATE_TABLE_REPO | ||||
|             // here that is the same as it was at DBVersion 36. | ||||
|             String createTableDdl = "create table " + TABLE_REPO + " (" | ||||
|                     + "_id integer not null primary key, " | ||||
|                     + "address text not null, " | ||||
|                     + "name text, " | ||||
|                     + "description text, " | ||||
|                     + "inuse integer not null, " | ||||
|                     + "priority integer not null, " | ||||
|                     + "pubkey text, " | ||||
|                     + "fingerprint text, " | ||||
|                     + "maxage integer not null default 0, " | ||||
|                     + "version integer not null default 0, " | ||||
|                     + "lastetag text, " | ||||
|                     + "lastUpdated string);"; | ||||
| 
 | ||||
|             db.execSQL(createTableDdl); | ||||
| 
 | ||||
|             String nonIdFields = "address, name, description, inuse, priority, " + | ||||
|                     "pubkey, fingerprint, maxage, version, lastetag, lastUpdated"; | ||||
| 
 | ||||
|             String insertSql = "INSERT INTO " + TABLE_REPO + | ||||
|                     "(_id, " + nonIdFields + " ) " + | ||||
|                     "SELECT id, " + nonIdFields + " FROM " + tempTableName + ";"; | ||||
| 
 | ||||
|             db.execSQL(insertSql); | ||||
|             db.execSQL("DROP TABLE " + tempTableName + ";"); | ||||
|             db.setTransactionSuccessful(); | ||||
|         } catch (Exception e) { | ||||
|             Log.e(TAG, "Error renaming id to _id", e); | ||||
|         } | ||||
|         db.endTransaction(); | ||||
|     } | ||||
| 
 | ||||
|     @Override | ||||
| @ -299,36 +301,37 @@ class DBHelper extends SQLiteOpenHelper { | ||||
|      * key in sqlite - table must be recreated). | ||||
|      */ | ||||
|     private void migrateRepoTable(SQLiteDatabase db, int oldVersion) { | ||||
|         if (oldVersion < 20) { | ||||
|             List<Repo> oldrepos = new ArrayList<>(); | ||||
|             Cursor cursor = db.query(TABLE_REPO, | ||||
|                     new String[] {"address", "inuse", "pubkey"}, | ||||
|                     null, null, null, null, null); | ||||
|             if (cursor != null) { | ||||
|                 if (cursor.getCount() > 0) { | ||||
|                     cursor.moveToFirst(); | ||||
|                     while (!cursor.isAfterLast()) { | ||||
|                         Repo repo = new Repo(); | ||||
|                         repo.address = cursor.getString(0); | ||||
|                         repo.inuse = cursor.getInt(1) == 1; | ||||
|                         repo.signingCertificate = cursor.getString(2); | ||||
|                         oldrepos.add(repo); | ||||
|                         cursor.moveToNext(); | ||||
|                     } | ||||
|         if (oldVersion >= 20) { | ||||
|             return; | ||||
|         } | ||||
|         List<Repo> oldrepos = new ArrayList<>(); | ||||
|         Cursor cursor = db.query(TABLE_REPO, | ||||
|                 new String[] {"address", "inuse", "pubkey"}, | ||||
|                 null, null, null, null, null); | ||||
|         if (cursor != null) { | ||||
|             if (cursor.getCount() > 0) { | ||||
|                 cursor.moveToFirst(); | ||||
|                 while (!cursor.isAfterLast()) { | ||||
|                     Repo repo = new Repo(); | ||||
|                     repo.address = cursor.getString(0); | ||||
|                     repo.inuse = cursor.getInt(1) == 1; | ||||
|                     repo.signingCertificate = cursor.getString(2); | ||||
|                     oldrepos.add(repo); | ||||
|                     cursor.moveToNext(); | ||||
|                 } | ||||
|                 cursor.close(); | ||||
|             } | ||||
|             db.execSQL("drop table " + TABLE_REPO); | ||||
|             db.execSQL(CREATE_TABLE_REPO); | ||||
|             for (final Repo repo : oldrepos) { | ||||
|                 ContentValues values = new ContentValues(); | ||||
|                 values.put("address", repo.address); | ||||
|                 values.put("inuse", repo.inuse); | ||||
|                 values.put("priority", 10); | ||||
|                 values.put("pubkey", repo.signingCertificate); | ||||
|                 values.put("lastetag", (String) null); | ||||
|                 db.insert(TABLE_REPO, null, values); | ||||
|             } | ||||
|             cursor.close(); | ||||
|         } | ||||
|         db.execSQL("drop table " + TABLE_REPO); | ||||
|         db.execSQL(CREATE_TABLE_REPO); | ||||
|         for (final Repo repo : oldrepos) { | ||||
|             ContentValues values = new ContentValues(); | ||||
|             values.put("address", repo.address); | ||||
|             values.put("inuse", repo.inuse); | ||||
|             values.put("priority", 10); | ||||
|             values.put("pubkey", repo.signingCertificate); | ||||
|             values.put("lastetag", (String) null); | ||||
|             db.insert(TABLE_REPO, null, values); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
| @ -350,22 +353,23 @@ class DBHelper extends SQLiteOpenHelper { | ||||
|     private void addNameAndDescriptionToRepo(SQLiteDatabase db, int oldVersion) { | ||||
|         boolean nameExists = columnExists(db, TABLE_REPO, "name"); | ||||
|         boolean descriptionExists = columnExists(db, TABLE_REPO, "description"); | ||||
|         if (oldVersion < 21 && !(nameExists && descriptionExists)) { | ||||
|             if (!nameExists) { | ||||
|                 db.execSQL("alter table " + TABLE_REPO + " add column name text"); | ||||
|             } | ||||
|             if (!descriptionExists) { | ||||
|                 db.execSQL("alter table " + TABLE_REPO + " add column description text"); | ||||
|             } | ||||
|             insertNameAndDescription(db, R.string.fdroid_repo_address, | ||||
|                     R.string.fdroid_repo_name, R.string.fdroid_repo_description); | ||||
|             insertNameAndDescription(db, R.string.fdroid_archive_address, | ||||
|                     R.string.fdroid_archive_name, R.string.fdroid_archive_description); | ||||
|             insertNameAndDescription(db, R.string.guardianproject_repo_address, | ||||
|                     R.string.guardianproject_repo_name, R.string.guardianproject_repo_description); | ||||
|             insertNameAndDescription(db, R.string.guardianproject_archive_address, | ||||
|                     R.string.guardianproject_archive_name, R.string.guardianproject_archive_description); | ||||
|         if (oldVersion >= 21 || (nameExists && descriptionExists)) { | ||||
|             return; | ||||
|         } | ||||
|         if (!nameExists) { | ||||
|             db.execSQL("alter table " + TABLE_REPO + " add column name text"); | ||||
|         } | ||||
|         if (!descriptionExists) { | ||||
|             db.execSQL("alter table " + TABLE_REPO + " add column description text"); | ||||
|         } | ||||
|         insertNameAndDescription(db, R.string.fdroid_repo_address, | ||||
|                 R.string.fdroid_repo_name, R.string.fdroid_repo_description); | ||||
|         insertNameAndDescription(db, R.string.fdroid_archive_address, | ||||
|                 R.string.fdroid_archive_name, R.string.fdroid_archive_description); | ||||
|         insertNameAndDescription(db, R.string.guardianproject_repo_address, | ||||
|                 R.string.guardianproject_repo_name, R.string.guardianproject_repo_description); | ||||
|         insertNameAndDescription(db, R.string.guardianproject_archive_address, | ||||
|                 R.string.guardianproject_archive_name, R.string.guardianproject_archive_description); | ||||
| 
 | ||||
|     } | ||||
| 
 | ||||
| @ -374,115 +378,128 @@ class DBHelper extends SQLiteOpenHelper { | ||||
|      * calculate its fingerprint and save it to the database. | ||||
|      */ | ||||
|     private void addFingerprintToRepo(SQLiteDatabase db, int oldVersion) { | ||||
|         if (oldVersion < 44) { | ||||
|             if (!columnExists(db, TABLE_REPO, "fingerprint")) { | ||||
|                 db.execSQL("alter table " + TABLE_REPO + " add column fingerprint text"); | ||||
|             } | ||||
|             List<Repo> oldrepos = new ArrayList<>(); | ||||
|             Cursor cursor = db.query(TABLE_REPO, | ||||
|                     new String[] {"address", "pubkey"}, | ||||
|                     null, null, null, null, null); | ||||
|             if (cursor != null) { | ||||
|                 if (cursor.getCount() > 0) { | ||||
|                     cursor.moveToFirst(); | ||||
|                     while (!cursor.isAfterLast()) { | ||||
|                         Repo repo = new Repo(); | ||||
|                         repo.address = cursor.getString(0); | ||||
|                         repo.signingCertificate = cursor.getString(1); | ||||
|                         oldrepos.add(repo); | ||||
|                         cursor.moveToNext(); | ||||
|                     } | ||||
|         if (oldVersion >= 44) { | ||||
|             return; | ||||
|         } | ||||
|         if (!columnExists(db, TABLE_REPO, "fingerprint")) { | ||||
|             db.execSQL("alter table " + TABLE_REPO + " add column fingerprint text"); | ||||
|         } | ||||
|         List<Repo> oldrepos = new ArrayList<>(); | ||||
|         Cursor cursor = db.query(TABLE_REPO, | ||||
|                 new String[] {"address", "pubkey"}, | ||||
|                 null, null, null, null, null); | ||||
|         if (cursor != null) { | ||||
|             if (cursor.getCount() > 0) { | ||||
|                 cursor.moveToFirst(); | ||||
|                 while (!cursor.isAfterLast()) { | ||||
|                     Repo repo = new Repo(); | ||||
|                     repo.address = cursor.getString(0); | ||||
|                     repo.signingCertificate = cursor.getString(1); | ||||
|                     oldrepos.add(repo); | ||||
|                     cursor.moveToNext(); | ||||
|                 } | ||||
|                 cursor.close(); | ||||
|             } | ||||
|             for (final Repo repo : oldrepos) { | ||||
|                 ContentValues values = new ContentValues(); | ||||
|                 values.put("fingerprint", Utils.calcFingerprint(repo.signingCertificate)); | ||||
|                 db.update(TABLE_REPO, values, "address = ?", new String[] {repo.address}); | ||||
|             } | ||||
|             cursor.close(); | ||||
|         } | ||||
|         for (final Repo repo : oldrepos) { | ||||
|             ContentValues values = new ContentValues(); | ||||
|             values.put("fingerprint", Utils.calcFingerprint(repo.signingCertificate)); | ||||
|             db.update(TABLE_REPO, values, "address = ?", new String[] {repo.address}); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     private void addMaxAgeToRepo(SQLiteDatabase db, int oldVersion) { | ||||
|         if (oldVersion < 30 && !columnExists(db, TABLE_REPO, "maxage")) { | ||||
|             db.execSQL("alter table " + TABLE_REPO + " add column maxage integer not null default 0"); | ||||
|         if (oldVersion >= 30 || columnExists(db, TABLE_REPO, "maxage")) { | ||||
|             return; | ||||
|         } | ||||
|         db.execSQL("alter table " + TABLE_REPO + " add column maxage integer not null default 0"); | ||||
|     } | ||||
| 
 | ||||
|     private void addVersionToRepo(SQLiteDatabase db, int oldVersion) { | ||||
|         if (oldVersion < 33 && !columnExists(db, TABLE_REPO, "version")) { | ||||
|             db.execSQL("alter table " + TABLE_REPO + " add column version integer not null default 0"); | ||||
|         if (oldVersion >= 33 || columnExists(db, TABLE_REPO, "version")) { | ||||
|             return; | ||||
|         } | ||||
|         db.execSQL("alter table " + TABLE_REPO + " add column version integer not null default 0"); | ||||
|     } | ||||
| 
 | ||||
|     private void addLastUpdatedToRepo(SQLiteDatabase db, int oldVersion) { | ||||
|         if (oldVersion < 35 && !columnExists(db, TABLE_REPO, "lastUpdated")) { | ||||
|             Utils.debugLog(TAG, "Adding lastUpdated column to " + TABLE_REPO); | ||||
|             db.execSQL("Alter table " + TABLE_REPO + " add column lastUpdated string"); | ||||
|         if (oldVersion >= 35 || columnExists(db, TABLE_REPO, "lastUpdated")) { | ||||
|             return; | ||||
|         } | ||||
|         Utils.debugLog(TAG, "Adding lastUpdated column to " + TABLE_REPO); | ||||
|         db.execSQL("Alter table " + TABLE_REPO + " add column lastUpdated string"); | ||||
|     } | ||||
| 
 | ||||
|     private void addIsSwapToRepo(SQLiteDatabase db, int oldVersion) { | ||||
|         if (oldVersion < 47 && !columnExists(db, TABLE_REPO, "isSwap")) { | ||||
|             Utils.debugLog(TAG, "Adding isSwap field to " + TABLE_REPO + " table in db."); | ||||
|             db.execSQL("alter table " + TABLE_REPO + " add column isSwap boolean default 0;"); | ||||
|         if (oldVersion >= 47 || columnExists(db, TABLE_REPO, "isSwap")) { | ||||
|             return; | ||||
|         } | ||||
|         Utils.debugLog(TAG, "Adding isSwap field to " + TABLE_REPO + " table in db."); | ||||
|         db.execSQL("alter table " + TABLE_REPO + " add column isSwap boolean default 0;"); | ||||
|     } | ||||
| 
 | ||||
|     private void addCredentialsToRepo(SQLiteDatabase db, int oldVersion) { | ||||
|         if (oldVersion < 52) { | ||||
|             if (!columnExists(db, TABLE_REPO, "username")) { | ||||
|                 Utils.debugLog(TAG, "Adding username field to " + TABLE_REPO + " table in db."); | ||||
|                 db.execSQL("alter table " + TABLE_REPO + " add column username string;"); | ||||
|             } | ||||
|         if (oldVersion >= 52) { | ||||
|             return; | ||||
|         } | ||||
|         if (!columnExists(db, TABLE_REPO, "username")) { | ||||
|             Utils.debugLog(TAG, "Adding username field to " + TABLE_REPO + " table in db."); | ||||
|             db.execSQL("alter table " + TABLE_REPO + " add column username string;"); | ||||
|         } | ||||
| 
 | ||||
|             if (!columnExists(db, TABLE_REPO, "password")) { | ||||
|                 Utils.debugLog(TAG, "Adding password field to " + TABLE_REPO + " table in db."); | ||||
|                 db.execSQL("alter table " + TABLE_REPO + " add column password string;"); | ||||
|             } | ||||
|         if (!columnExists(db, TABLE_REPO, "password")) { | ||||
|             Utils.debugLog(TAG, "Adding password field to " + TABLE_REPO + " table in db."); | ||||
|             db.execSQL("alter table " + TABLE_REPO + " add column password string;"); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     private void addChangelogToApp(SQLiteDatabase db, int oldVersion) { | ||||
|         if (oldVersion < 48 && !columnExists(db, TABLE_APP, "changelogURL")) { | ||||
|             Utils.debugLog(TAG, "Adding changelogURL column to " + TABLE_APP); | ||||
|             db.execSQL("alter table " + TABLE_APP + " add column changelogURL text"); | ||||
|         if (oldVersion >= 48 || columnExists(db, TABLE_APP, "changelogURL")) { | ||||
|             return; | ||||
|         } | ||||
|         Utils.debugLog(TAG, "Adding changelogURL column to " + TABLE_APP); | ||||
|         db.execSQL("alter table " + TABLE_APP + " add column changelogURL text"); | ||||
|     } | ||||
| 
 | ||||
|     private void addIconUrlLargeToApp(SQLiteDatabase db, int oldVersion) { | ||||
|         if (oldVersion < 49 && !columnExists(db, TABLE_APP, "iconUrlLarge")) { | ||||
|             Utils.debugLog(TAG, "Adding iconUrlLarge columns to " + TABLE_APP); | ||||
|             db.execSQL("alter table " + TABLE_APP + " add column iconUrlLarge text"); | ||||
|         if (oldVersion >= 49 || columnExists(db, TABLE_APP, "iconUrlLarge")) { | ||||
|             return; | ||||
|         } | ||||
|         Utils.debugLog(TAG, "Adding iconUrlLarge columns to " + TABLE_APP); | ||||
|         db.execSQL("alter table " + TABLE_APP + " add column iconUrlLarge text"); | ||||
|     } | ||||
| 
 | ||||
|     private void updateIconUrlLarge(SQLiteDatabase db, int oldVersion) { | ||||
|         if (oldVersion < 50) { | ||||
|             Utils.debugLog(TAG, "Recalculating app icon URLs so that the newly added large icons will get updated."); | ||||
|             AppProvider.UpgradeHelper.updateIconUrls(context, db); | ||||
|             clearRepoEtags(db); | ||||
|         if (oldVersion >= 50) { | ||||
|             return; | ||||
|         } | ||||
|         Utils.debugLog(TAG, "Recalculating app icon URLs so that the newly added large icons will get updated."); | ||||
|         AppProvider.UpgradeHelper.updateIconUrls(context, db); | ||||
|         clearRepoEtags(db); | ||||
|     } | ||||
| 
 | ||||
|     private void addAuthorToApp(SQLiteDatabase db, int oldVersion) { | ||||
|         if (oldVersion < 53 && !columnExists(db, TABLE_APP, "author")) { | ||||
|         if (oldVersion >= 53) { | ||||
|             return; | ||||
|         } | ||||
|         if (!columnExists(db, TABLE_APP, "author")) { | ||||
|             Utils.debugLog(TAG, "Adding author column to " + TABLE_APP); | ||||
|             db.execSQL("alter table " + TABLE_APP + " add column author text"); | ||||
|         } | ||||
|         if (oldVersion < 53 && !columnExists(db, TABLE_APP, "email")) { | ||||
|         if (!columnExists(db, TABLE_APP, "email")) { | ||||
|             Utils.debugLog(TAG, "Adding email column to " + TABLE_APP); | ||||
|             db.execSQL("alter table " + TABLE_APP + " add column email text"); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     private void useMaxValueInMaxSdkVersion(SQLiteDatabase db, int oldVersion) { | ||||
|         if (oldVersion < 54) { | ||||
|             Utils.debugLog(TAG, "Converting maxSdkVersion value 0 to " + Byte.MAX_VALUE); | ||||
|             ContentValues values = new ContentValues(); | ||||
|             values.put(ApkProvider.DataColumns.MAX_SDK_VERSION, Byte.MAX_VALUE); | ||||
|             db.update(TABLE_APK, values, ApkProvider.DataColumns.MAX_SDK_VERSION + " < 1", null); | ||||
|         if (oldVersion >= 54) { | ||||
|             return; | ||||
|         } | ||||
|         Utils.debugLog(TAG, "Converting maxSdkVersion value 0 to " + Byte.MAX_VALUE); | ||||
|         ContentValues values = new ContentValues(); | ||||
|         values.put(ApkProvider.DataColumns.MAX_SDK_VERSION, Byte.MAX_VALUE); | ||||
|         db.update(TABLE_APK, values, ApkProvider.DataColumns.MAX_SDK_VERSION + " < 1", null); | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
| @ -501,14 +518,15 @@ class DBHelper extends SQLiteOpenHelper { | ||||
|         // was is specified by the user. We don't want to weely-neely nuke that data. | ||||
|         // and the new way to deal with changes to the table structure is to add a | ||||
|         // if (oldVersion < x && !columnExists(...) and then alter the table as required. | ||||
|         if (oldVersion < 42) { | ||||
|             context.getSharedPreferences("FDroid", Context.MODE_PRIVATE).edit() | ||||
|                     .putBoolean("triedEmptyUpdate", false).commit(); | ||||
|             db.execSQL("drop table " + TABLE_APP); | ||||
|             db.execSQL("drop table " + TABLE_APK); | ||||
|             clearRepoEtags(db); | ||||
|             createAppApk(db); | ||||
|         if (oldVersion >= 42) { | ||||
|             return; | ||||
|         } | ||||
|         context.getSharedPreferences("FDroid", Context.MODE_PRIVATE).edit() | ||||
|                 .putBoolean("triedEmptyUpdate", false).commit(); | ||||
|         db.execSQL("drop table " + TABLE_APP); | ||||
|         db.execSQL("drop table " + TABLE_APK); | ||||
|         clearRepoEtags(db); | ||||
|         createAppApk(db); | ||||
|     } | ||||
| 
 | ||||
|     private static void createAppApk(SQLiteDatabase db) { | ||||
| @ -527,10 +545,11 @@ class DBHelper extends SQLiteOpenHelper { | ||||
|     // If any column was added or removed, just drop the table, create it | ||||
|     // again and let the cache be filled from scratch again. | ||||
|     private void recreateInstalledCache(SQLiteDatabase db, int oldVersion) { | ||||
|         if (oldVersion < 51) { | ||||
|             db.execSQL(DROP_TABLE_INSTALLED_APP); | ||||
|             createInstalledApp(db); | ||||
|         if (oldVersion >= 51) { | ||||
|             return; | ||||
|         } | ||||
|         db.execSQL(DROP_TABLE_INSTALLED_APP); | ||||
|         createInstalledApp(db); | ||||
|     } | ||||
| 
 | ||||
|     private static boolean columnExists(SQLiteDatabase db, | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Daniel Martí
						Daniel Martí