summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorDavid Agnew <dsandler@android.com>2012-11-09 23:03:26 -0500
committerDaniel Sandler <dsandler@android.com>2012-11-10 00:01:04 -0500
commit71789e11cc5266c44886b4894057966a0380757a (patch)
treedd1b8ed96d6961a308a4150a541cbd1c4eb3394b /services
parentc1ae43ade0baa4dc8af1b505ba4b83f0f72c6dd8 (diff)
downloadframeworks_base-71789e11cc5266c44886b4894057966a0380757a.zip
frameworks_base-71789e11cc5266c44886b4894057966a0380757a.tar.gz
frameworks_base-71789e11cc5266c44886b4894057966a0380757a.tar.bz2
When in vibrate mode, all notifications will vibrate.
(Unless the notification specifies no ringtone AND no vibration, in which case it will remain silent.) Change-Id: I926d0fe0165b9622cd117e6c3ef6e3637772b444
Diffstat (limited to 'services')
-rwxr-xr-xservices/java/com/android/server/NotificationManagerService.java11
1 files changed, 10 insertions, 1 deletions
diff --git a/services/java/com/android/server/NotificationManagerService.java b/services/java/com/android/server/NotificationManagerService.java
index 216323e..f3a38f0 100755
--- a/services/java/com/android/server/NotificationManagerService.java
+++ b/services/java/com/android/server/NotificationManagerService.java
@@ -1086,8 +1086,17 @@ public class NotificationManagerService extends INotificationManager.Stub
}
// vibrate
+ // new in 4.2: if there was supposed to be a sound and we're in vibrate mode,
+ // we always vibrate, even if no vibration was specified
+ final boolean convertSoundToVibration =
+ notification.vibrate == null
+ && (useDefaultSound || notification.sound != null)
+ && (audioManager.getRingerMode() == AudioManager.RINGER_MODE_VIBRATE);
+
final boolean useDefaultVibrate =
- (notification.defaults & Notification.DEFAULT_VIBRATE) != 0;
+ (notification.defaults & Notification.DEFAULT_VIBRATE) != 0
+ || convertSoundToVibration;
+
if ((useDefaultVibrate || notification.vibrate != null)
&& !(audioManager.getRingerMode() == AudioManager.RINGER_MODE_SILENT)) {
mVibrateNotification = r;