diff options
author | Jim Shuma <jshuma@google.com> | 2010-03-25 12:01:08 -0700 |
---|---|---|
committer | Jim Shuma <jshuma@google.com> | 2010-03-25 12:01:08 -0700 |
commit | d73944a1691f2299889ea6140f7fd256040d9e41 (patch) | |
tree | 45ad676b09e8a60c7ad4a5b2b1961b6bbed1e728 | |
parent | 69ab334d6988eda70ba53618506d23ebf7d7b405 (diff) | |
download | Calendar-d73944a1691f2299889ea6140f7fd256040d9e41.tar.gz |
Migrate Vibrate setting from previous versions if needed
The Vibrate setting was getting properly interpreted
in AlertService, but this was not visible from the
preference screen. This change migrates the preference
when the preference screen is brought up.
Bug: 2535583
Change-Id: I63e8fdba108b37d6f31566cbe8eac81f5f1adee1
-rw-r--r-- | src/com/android/calendar/CalendarPreferenceActivity.java | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/com/android/calendar/CalendarPreferenceActivity.java b/src/com/android/calendar/CalendarPreferenceActivity.java index b3adb596..e2f84e35 100644 --- a/src/com/android/calendar/CalendarPreferenceActivity.java +++ b/src/com/android/calendar/CalendarPreferenceActivity.java @@ -79,7 +79,9 @@ public class CalendarPreferenceActivity extends PreferenceActivity implements On // Make sure to always use the same preferences file regardless of the package name // we're running under - getPreferenceManager().setSharedPreferencesName(SHARED_PREFS_NAME); + PreferenceManager preferenceManager = getPreferenceManager(); + SharedPreferences sharedPreferences = getSharedPreferences(this); + preferenceManager.setSharedPreferencesName(SHARED_PREFS_NAME); // Load the preferences from an XML resource addPreferencesFromResource(R.xml.preferences); @@ -90,6 +92,15 @@ public class CalendarPreferenceActivity extends PreferenceActivity implements On mVibrateWhen = (ListPreference) preferenceScreen.findPreference(KEY_ALERTS_VIBRATE_WHEN); mRingtone = (RingtonePreference) preferenceScreen.findPreference(KEY_ALERTS_RINGTONE); + // If needed, migrate vibration setting from a previous version + if (!sharedPreferences.contains(KEY_ALERTS_VIBRATE_WHEN) && + sharedPreferences.contains(KEY_ALERTS_VIBRATE)) { + int stringId = sharedPreferences.getBoolean(KEY_ALERTS_VIBRATE, false) ? + R.string.prefDefault_alerts_vibrate_true : + R.string.prefDefault_alerts_vibrate_false; + mVibrateWhen.setValue(getString(stringId)); + } + try { PackageInfo packageInfo = getPackageManager().getPackageInfo(getPackageName(), 0); findPreference(BUILD_VERSION).setSummary(packageInfo.versionName); |