summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xsrc/com/android/mms/ui/MessagingPreferenceActivity.java8
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);