Merge "Modify UX/UI for FEATURE_WATCH devices"
diff --git a/src/com/android/cellbroadcastreceiver/CellBroadcastAlertAudio.java b/src/com/android/cellbroadcastreceiver/CellBroadcastAlertAudio.java
index a97ae84..31cf254 100644
--- a/src/com/android/cellbroadcastreceiver/CellBroadcastAlertAudio.java
+++ b/src/com/android/cellbroadcastreceiver/CellBroadcastAlertAudio.java
@@ -16,6 +16,8 @@
 
 package com.android.cellbroadcastreceiver;
 
+import static com.android.cellbroadcastreceiver.CellBroadcastReceiver.DBG;
+
 import android.app.PendingIntent;
 import android.app.Service;
 import android.content.Context;
@@ -39,8 +41,6 @@
 import java.util.Locale;
 import java.util.MissingResourceException;
 
-import static com.android.cellbroadcastreceiver.CellBroadcastReceiver.DBG;
-
 /**
  * Manages alert audio and vibration and text-to-speech. Runs as a service so that
  * it can continue to play if another activity overrides the CellBroadcastListActivity.
@@ -300,18 +300,18 @@
         mMessagePreferredLanguage = intent.getStringExtra(ALERT_AUDIO_MESSAGE_PREFERRED_LANGUAGE);
         mMessageDefaultLanguage = intent.getStringExtra(ALERT_AUDIO_MESSAGE_DEFAULT_LANGUAGE);
 
+        // retrieve the vibrate settings from cellbroadcast receiver settings.
         mEnableVibrate = intent.getBooleanExtra(ALERT_AUDIO_VIBRATE_EXTRA, true);
-        if (intent.getBooleanExtra(ALERT_AUDIO_ETWS_VIBRATE_EXTRA, false)) {
-            mEnableVibrate = true;  // force enable vibration for ETWS alerts
-        }
 
         switch (mAudioManager.getRingerMode()) {
             case AudioManager.RINGER_MODE_SILENT:
                 if (DBG) log("Ringer mode: silent");
                 mEnableAudio = false;
-                mEnableVibrate = false;
+                // If the device is in silent mode, do not vibrate (except ETWS).
+                if (!intent.getBooleanExtra(ALERT_AUDIO_ETWS_VIBRATE_EXTRA, false)) {
+                    mEnableVibrate = false;
+                }
                 break;
-
             case AudioManager.RINGER_MODE_VIBRATE:
                 if (DBG) log("Ringer mode: vibrate");
                 mEnableAudio = false;