From a96798e4a548f5ec0e387b2cdd8d419378498ebd Mon Sep 17 00:00:00 2001 From: Christopher Tate Date: Thu, 6 Sep 2012 19:07:19 -0700 Subject: [PATCH] Don't use toArray() inappropriately HashSet.toArray() does not give you an array of strings. Change-Id: I2053e714b12eab718aaf75d92bbc0625745b9932 --- .../providers/settings/DatabaseHelper.java | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java b/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java index 41bbe6efa7292..0917b2435deda 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java @@ -1175,14 +1175,6 @@ public class DatabaseHelper extends SQLiteOpenHelper { loadStringSetting(stmt, Settings.Secure.SCREENSAVER_COMPONENTS, R.string.def_screensaver_component); - // Migrate now-global settings. Note that this happens before - // new users can be created. - createGlobalTable(db); - String[] settingsToMove = (String[]) SettingsProvider.sSystemGlobalKeys.toArray(); - moveSettingsToNewTable(db, TABLE_SYSTEM, TABLE_GLOBAL, settingsToMove); - settingsToMove = (String[]) SettingsProvider.sSecureGlobalKeys.toArray(); - moveSettingsToNewTable(db, TABLE_SECURE, TABLE_GLOBAL, settingsToMove); - db.setTransactionSuccessful(); } finally { db.endTransaction(); @@ -1216,9 +1208,9 @@ public class DatabaseHelper extends SQLiteOpenHelper { // Migrate now-global settings. Note that this happens before // new users can be created. createGlobalTable(db); - String[] settingsToMove = (String[]) SettingsProvider.sSystemGlobalKeys.toArray(); + String[] settingsToMove = hashsetToStringArray(SettingsProvider.sSystemGlobalKeys); moveSettingsToNewTable(db, TABLE_SYSTEM, TABLE_GLOBAL, settingsToMove); - settingsToMove = (String[]) SettingsProvider.sSecureGlobalKeys.toArray(); + settingsToMove = hashsetToStringArray(SettingsProvider.sSecureGlobalKeys); moveSettingsToNewTable(db, TABLE_SECURE, TABLE_GLOBAL, settingsToMove); db.setTransactionSuccessful(); @@ -1283,6 +1275,11 @@ public class DatabaseHelper extends SQLiteOpenHelper { } } + private String[] hashsetToStringArray(HashSet set) { + String[] array = new String[set.size()]; + return set.toArray(array); + } + private void moveSettingsToNewTable(SQLiteDatabase db, String sourceTable, String destTable, String[] settingsToMove) {