diff options
author | Amith Yamasani <yamasani@google.com> | 2009-07-07 11:37:08 -0700 |
---|---|---|
committer | Amith Yamasani <yamasani@google.com> | 2009-07-07 14:42:50 -0700 |
commit | eb72bcd6d07708bfc65eec474092f136e822c9fb (patch) | |
tree | 7f3f48260b2e28665062451b5b16094f9ee39e78 /src/com | |
parent | c4a3bf94cc870d940df37756ed2c5ea7067d00da (diff) | |
download | packages_apps_settings-eb72bcd6d07708bfc65eec474092f136e822c9fb.zip packages_apps_settings-eb72bcd6d07708bfc65eec474092f136e822c9fb.tar.gz packages_apps_settings-eb72bcd6d07708bfc65eec474092f136e822c9fb.tar.bz2 |
Fix vibrate and silent mode toggle dependency.
Diffstat (limited to 'src/com')
-rw-r--r-- | src/com/android/settings/SoundAndDisplaySettings.java | 34 |
1 files changed, 15 insertions, 19 deletions
diff --git a/src/com/android/settings/SoundAndDisplaySettings.java b/src/com/android/settings/SoundAndDisplaySettings.java index 3d3a5d0..8e7411c 100644 --- a/src/com/android/settings/SoundAndDisplaySettings.java +++ b/src/com/android/settings/SoundAndDisplaySettings.java @@ -216,33 +216,29 @@ public class SoundAndDisplaySettings extends PreferenceActivity implements Settings.System.ACCELEROMETER_ROTATION, 0) != 0); } + private void setRingerMode(boolean silent, boolean vibrate) { + if (silent) { + mAudioManager.setRingerMode(vibrate ? AudioManager.RINGER_MODE_VIBRATE : + AudioManager.RINGER_MODE_SILENT); + } else { + mAudioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL); + mAudioManager.setVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER, + vibrate ? AudioManager.VIBRATE_SETTING_ON + : AudioManager.VIBRATE_SETTING_OFF); + } + } + @Override public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) { - if (preference == mSilent) { - final boolean silent = mSilent.isChecked(); - mAudioManager.setRingerMode(silent ? AudioManager.RINGER_MODE_SILENT - : AudioManager.RINGER_MODE_NORMAL); - updateState(false); - + if (preference == mSilent || preference == mVibrate) { + setRingerMode(mSilent.isChecked(), mVibrate.isChecked()); + if (preference == mSilent) updateState(false); } else if (preference == mPlayMediaNotificationSounds) { try { mMountService.setPlayNotificationSounds(mPlayMediaNotificationSounds.isChecked()); } catch (RemoteException e) { } - } else if (preference == mVibrate) { - final boolean vibrate = mVibrate.isChecked(); - final boolean silent = mSilent.isChecked(); - - if (silent) { - mAudioManager.setRingerMode(vibrate ? AudioManager.RINGER_MODE_VIBRATE : - AudioManager.RINGER_MODE_SILENT); - } else { - mAudioManager.setVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER, - vibrate ? AudioManager.VIBRATE_SETTING_ON - : AudioManager.VIBRATE_SETTING_OFF); - } - } else if (preference == mDtmfTone) { Settings.System.putInt(getContentResolver(), Settings.System.DTMF_TONE_WHEN_DIALING, mDtmfTone.isChecked() ? 1 : 0); |