diff options
-rwxr-xr-x | src/com/android/mms/ui/MessagingPreferenceActivity.java | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/com/android/mms/ui/MessagingPreferenceActivity.java b/src/com/android/mms/ui/MessagingPreferenceActivity.java index 38e8c28b..3c5f6093 100755 --- a/src/com/android/mms/ui/MessagingPreferenceActivity.java +++ b/src/com/android/mms/ui/MessagingPreferenceActivity.java @@ -30,6 +30,7 @@ import android.media.Ringtone; import android.media.RingtoneManager; import android.net.Uri; import android.os.Bundle; +import android.os.Vibrator; import android.preference.CheckBoxPreference; import android.preference.Preference; import android.preference.Preference.OnPreferenceChangeListener; @@ -195,6 +196,11 @@ public class MessagingPreferenceActivity extends PreferenceActivity mEnableNotificationsPref = (CheckBoxPreference) findPreference(NOTIFICATION_ENABLED); mMmsAutoRetrievialPref = (CheckBoxPreference) findPreference(AUTO_RETRIEVAL); mVibratePref = (CheckBoxPreference) findPreference(NOTIFICATION_VIBRATE); + Vibrator vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE); + if (mVibratePref != null && (vibrator == null || !vibrator.hasVibrator())) { + mNotificationPrefCategory.removePreference(mVibratePref); + mVibratePref = null; + } mRingtonePref = (RingtonePreference) findPreference(NOTIFICATION_RINGTONE); setMessagePreferences(); @@ -252,7 +258,7 @@ public class MessagingPreferenceActivity extends PreferenceActivity // If needed, migrate vibration setting from the previous tri-state setting stored in // NOTIFICATION_VIBRATE_WHEN to the boolean setting stored in NOTIFICATION_VIBRATE. SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this); - if (sharedPreferences.contains(NOTIFICATION_VIBRATE_WHEN)) { + if (mVibratePref != null && sharedPreferences.contains(NOTIFICATION_VIBRATE_WHEN)) { String vibrateWhen = sharedPreferences. getString(MessagingPreferenceActivity.NOTIFICATION_VIBRATE_WHEN, null); boolean vibrate = "always".equals(vibrateWhen); |