summaryrefslogtreecommitdiffstats
path: root/src/com
diff options
context:
space:
mode:
authorAmith Yamasani <yamasani@google.com>2009-07-07 11:37:08 -0700
committerAmith Yamasani <yamasani@google.com>2009-07-07 14:42:50 -0700
commiteb72bcd6d07708bfc65eec474092f136e822c9fb (patch)
tree7f3f48260b2e28665062451b5b16094f9ee39e78 /src/com
parentc4a3bf94cc870d940df37756ed2c5ea7067d00da (diff)
downloadpackages_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.java34
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);