Fix vibrate settings for incoming calls.
Bug: 2489593
Change-Id: Id0347bada808f604febc51c3d69d30442c3d51c4
diff --git a/src/com/android/settings/SoundSettings.java b/src/com/android/settings/SoundSettings.java
index c7bfe71..c1f773c 100644
--- a/src/com/android/settings/SoundSettings.java
+++ b/src/com/android/settings/SoundSettings.java
@@ -106,6 +106,8 @@
mSilent = (CheckBoxPreference) findPreference(KEY_SILENT);
mPhoneVibrate = (ListPreference) findPreference(KEY_VIBRATE);
+ mPhoneVibrate.setOnPreferenceChangeListener(this);
+
mVibrateInSilent = (CheckBoxPreference) findPreference(KEY_VIBRATE_IN_SILENT);
mDtmfTone = (CheckBoxPreference) findPreference(KEY_DTMF_TONE);
mDtmfTone.setPersistent(false);
@@ -216,18 +218,6 @@
mAudioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
}
updateState(false);
- } else if (preference == mPhoneVibrate) {
- int vibeSetting = new Integer(mPhoneVibrate.getValue()).intValue();
- switch (vibeSetting) {
- case AudioManager.VIBRATE_SETTING_ON:
- case AudioManager.VIBRATE_SETTING_OFF:
- case AudioManager.VIBRATE_SETTING_ONLY_SILENT:
- mAudioManager.setVibrateSetting(
- AudioManager.VIBRATE_TYPE_RINGER,
- vibeSetting);
- updateState(false);
- break;
- }
} else if (preference == mVibrateInSilent) {
boolean vibeInSilent = mVibrateInSilent.isChecked();
Settings.System.putInt(getContentResolver(),
@@ -279,6 +269,18 @@
} catch (NumberFormatException e) {
Log.e(TAG, "could not persist emergency tone setting", e);
}
+ } else if (preference == mPhoneVibrate) {
+ int vibeSetting = new Integer(objValue.toString()).intValue();
+ switch (vibeSetting) {
+ case AudioManager.VIBRATE_SETTING_ON:
+ case AudioManager.VIBRATE_SETTING_OFF:
+ case AudioManager.VIBRATE_SETTING_ONLY_SILENT:
+ mAudioManager.setVibrateSetting(
+ AudioManager.VIBRATE_TYPE_RINGER,
+ vibeSetting);
+ updateState(false);
+ break;
+ }
}
return true;