Skip to content

Commit 531c237

Browse files
author
Amith Yamasani
committed
Add an upgrade step for settings moved to global.
For some reason, the original step didn't work for some testers. This re-applies the move, which should be no-ops if the entries are already in the right table. Bug: 7254629 Also moved a few more entries to the global initialization section. Otherwise they would write into the wrong table. Change-Id: Ic0f5c4e09680f5687d08dccf78063508b9c0584c
1 parent 0e2aade commit 531c237

File tree

1 file changed

+37
-18
lines changed

1 file changed

+37
-18
lines changed

packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java

Lines changed: 37 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ public class DatabaseHelper extends SQLiteOpenHelper {
6868
// database gets upgraded properly. At a minimum, please confirm that 'upgradeVersion'
6969
// is properly propagated through your change. Not doing so will result in a loss of user
7070
// settings.
71-
private static final int DATABASE_VERSION = 93;
71+
private static final int DATABASE_VERSION = 94;
7272

7373
private Context mContext;
7474
private int mUserHandle;
@@ -1438,7 +1438,7 @@ public void onUpgrade(SQLiteDatabase db, int oldVersion, int currentVersion) {
14381438
db.beginTransaction();
14391439
try {
14401440
// Move ringer mode from system to global settings
1441-
String[] settingsToMove = { Settings.System.MODE_RINGER };
1441+
String[] settingsToMove = { Settings.Global.MODE_RINGER };
14421442
moveSettingsToNewTable(db, TABLE_SYSTEM, TABLE_GLOBAL, settingsToMove, true);
14431443

14441444
db.setTransactionSuccessful();
@@ -1473,6 +1473,27 @@ public void onUpgrade(SQLiteDatabase db, int oldVersion, int currentVersion) {
14731473
upgradeVersion = 93;
14741474
}
14751475

1476+
if (upgradeVersion == 93) {
1477+
// Redo this step, since somehow it didn't work the first time for some users
1478+
if (mUserHandle == UserHandle.USER_OWNER) {
1479+
db.beginTransaction();
1480+
SQLiteStatement stmt = null;
1481+
try {
1482+
// Migrate now-global settings
1483+
String[] settingsToMove = hashsetToStringArray(SettingsProvider.sSystemGlobalKeys);
1484+
moveSettingsToNewTable(db, TABLE_SYSTEM, TABLE_GLOBAL, settingsToMove, true);
1485+
settingsToMove = hashsetToStringArray(SettingsProvider.sSecureGlobalKeys);
1486+
moveSettingsToNewTable(db, TABLE_SECURE, TABLE_GLOBAL, settingsToMove, true);
1487+
1488+
db.setTransactionSuccessful();
1489+
} finally {
1490+
db.endTransaction();
1491+
if (stmt != null) stmt.close();
1492+
}
1493+
}
1494+
upgradeVersion = 94;
1495+
}
1496+
14761497
// *** Remember to update DATABASE_VERSION above!
14771498

14781499
if (upgradeVersion != currentVersion) {
@@ -1921,28 +1942,13 @@ private void loadSystemSettings(SQLiteDatabase db) {
19211942
}
19221943

19231944
private void loadUISoundEffectsSettings(SQLiteStatement stmt) {
1924-
loadIntegerSetting(stmt, Settings.System.POWER_SOUNDS_ENABLED,
1925-
R.integer.def_power_sounds_enabled);
1926-
loadStringSetting(stmt, Settings.System.LOW_BATTERY_SOUND,
1927-
R.string.def_low_battery_sound);
19281945
loadBooleanSetting(stmt, Settings.System.DTMF_TONE_WHEN_DIALING,
19291946
R.bool.def_dtmf_tones_enabled);
19301947
loadBooleanSetting(stmt, Settings.System.SOUND_EFFECTS_ENABLED,
19311948
R.bool.def_sound_effects_enabled);
19321949
loadBooleanSetting(stmt, Settings.System.HAPTIC_FEEDBACK_ENABLED,
19331950
R.bool.def_haptic_feedback);
19341951

1935-
loadIntegerSetting(stmt, Settings.System.DOCK_SOUNDS_ENABLED,
1936-
R.integer.def_dock_sounds_enabled);
1937-
loadStringSetting(stmt, Settings.System.DESK_DOCK_SOUND,
1938-
R.string.def_desk_dock_sound);
1939-
loadStringSetting(stmt, Settings.System.DESK_UNDOCK_SOUND,
1940-
R.string.def_desk_undock_sound);
1941-
loadStringSetting(stmt, Settings.System.CAR_DOCK_SOUND,
1942-
R.string.def_car_dock_sound);
1943-
loadStringSetting(stmt, Settings.System.CAR_UNDOCK_SOUND,
1944-
R.string.def_car_undock_sound);
1945-
19461952
loadIntegerSetting(stmt, Settings.System.LOCKSCREEN_SOUNDS_ENABLED,
19471953
R.integer.def_lockscreen_sounds_enabled);
19481954
}
@@ -2158,9 +2164,22 @@ private void loadGlobalSettings(SQLiteDatabase db) {
21582164

21592165
loadStringSetting(stmt, Settings.Global.LOCK_SOUND,
21602166
R.string.def_lock_sound);
2161-
21622167
loadStringSetting(stmt, Settings.Global.UNLOCK_SOUND,
21632168
R.string.def_unlock_sound);
2169+
loadIntegerSetting(stmt, Settings.Global.POWER_SOUNDS_ENABLED,
2170+
R.integer.def_power_sounds_enabled);
2171+
loadStringSetting(stmt, Settings.Global.LOW_BATTERY_SOUND,
2172+
R.string.def_low_battery_sound);
2173+
loadIntegerSetting(stmt, Settings.Global.DOCK_SOUNDS_ENABLED,
2174+
R.integer.def_dock_sounds_enabled);
2175+
loadStringSetting(stmt, Settings.Global.DESK_DOCK_SOUND,
2176+
R.string.def_desk_dock_sound);
2177+
loadStringSetting(stmt, Settings.Global.DESK_UNDOCK_SOUND,
2178+
R.string.def_desk_undock_sound);
2179+
loadStringSetting(stmt, Settings.Global.CAR_DOCK_SOUND,
2180+
R.string.def_car_dock_sound);
2181+
loadStringSetting(stmt, Settings.Global.CAR_UNDOCK_SOUND,
2182+
R.string.def_car_undock_sound);
21642183

21652184
loadSetting(stmt, Settings.Global.SET_INSTALL_LOCATION, 0);
21662185
loadSetting(stmt, Settings.Global.DEFAULT_INSTALL_LOCATION,

0 commit comments

Comments
 (0)