diff options
author | Mike Cleron <mcleron@google.com> | 2011-12-12 18:15:59 -0800 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2011-12-12 18:15:59 -0800 |
commit | 840201d6e2d7d53e42a31ffeb2ef454982882d12 (patch) | |
tree | 4742dc383fa9e4985088ce48df633d0462b34bc1 | |
parent | 359bb3b432b21590c12588c3ca3880ac17aadc96 (diff) | |
parent | 3066afdc6f729279b1dfd743bbdead73f889249f (diff) | |
download | base-840201d6e2d7d53e42a31ffeb2ef454982882d12.tar.gz |
Merge "Update VIBRATE_ON to a supported value when upgrading from GB." into ics-mr1
-rw-r--r-- | packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java b/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java index 1fbe08d87943..a5e348301a0a 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java @@ -63,7 +63,7 @@ public class DatabaseHelper extends SQLiteOpenHelper { // database gets upgraded properly. At a minimum, please confirm that 'upgradeVersion' // is properly propagated through your change. Not doing so will result in a loss of user // settings. - private static final int DATABASE_VERSION = 73; + private static final int DATABASE_VERSION = 74; private Context mContext; @@ -986,6 +986,12 @@ public class DatabaseHelper extends SQLiteOpenHelper { upgradeVersion = 73; } + if (upgradeVersion == 73) { + // update vibration settings + upgradeVibrateSettingFromNone(db); + upgradeVersion = 74; + } + // *** Remember to update DATABASE_VERSION above! if (upgradeVersion != currentVersion) { @@ -1091,6 +1097,28 @@ public class DatabaseHelper extends SQLiteOpenHelper { } } + private void upgradeVibrateSettingFromNone(SQLiteDatabase db) { + int vibrateSetting = getIntValueFromSystem(db, Settings.System.VIBRATE_ON, 0); + // If the ringer vibrate value is invalid, set it to the default + if ((vibrateSetting & 3) == AudioManager.VIBRATE_SETTING_OFF) { + vibrateSetting = AudioService.getValueForVibrateSetting(0, + AudioManager.VIBRATE_TYPE_RINGER, AudioManager.VIBRATE_SETTING_ONLY_SILENT); + } + // Apply the same setting to the notification vibrate value + vibrateSetting = AudioService.getValueForVibrateSetting(vibrateSetting, + AudioManager.VIBRATE_TYPE_NOTIFICATION, vibrateSetting); + + SQLiteStatement stmt = null; + try { + stmt = db.compileStatement("INSERT OR REPLACE INTO system(name,value)" + + " VALUES(?,?);"); + loadSetting(stmt, Settings.System.VIBRATE_ON, vibrateSetting); + } finally { + if (stmt != null) + stmt.close(); + } + } + private void upgradeScreenTimeout(SQLiteDatabase db) { // Change screen timeout to current default db.beginTransaction(); |