diff options
| author | 2018-03-29 16:14:10 +0000 | |
|---|---|---|
| committer | 2018-03-29 16:14:10 +0000 | |
| commit | a908ec2a368cfe14e4b5fc253388c45c34df41cb (patch) | |
| tree | 6db3215746f5176b2a71e0da911b2fc8cc2f46bb | |
| parent | dac0fe910ab16edb2c2433986f709da3b3f6c15f (diff) | |
| parent | ec2bb18c92dc489a0b54bfc96118007261e3e7be (diff) | |
Merge "NotificationManagerService: don't play notif in SILENT mode" into pi-dev
| -rw-r--r-- | services/core/java/com/android/server/notification/NotificationManagerService.java | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/services/core/java/com/android/server/notification/NotificationManagerService.java b/services/core/java/com/android/server/notification/NotificationManagerService.java index e930f70fbec3..31b0461b53b4 100644 --- a/services/core/java/com/android/server/notification/NotificationManagerService.java +++ b/services/core/java/com/android/server/notification/NotificationManagerService.java @@ -4692,11 +4692,12 @@ public class NotificationManagerService extends SystemService { private boolean playSound(final NotificationRecord record, Uri soundUri) { boolean looping = (record.getNotification().flags & Notification.FLAG_INSISTENT) != 0; - // do not play notifications if there is a user of exclusive audio focus - // or the device is in vibrate mode - if (!mAudioManager.isAudioFocusExclusive() && (mAudioManager.getRingerModeInternal() - != AudioManager.RINGER_MODE_VIBRATE || mAudioManager.getStreamVolume( - AudioAttributes.toLegacyStreamType(record.getAudioAttributes())) != 0)) { + // play notifications if there is no user of exclusive audio focus + // and the stream volume is not 0 (non-zero volume implies not silenced by SILENT or + // VIBRATE ringer mode) + if (!mAudioManager.isAudioFocusExclusive() + && (mAudioManager.getStreamVolume( + AudioAttributes.toLegacyStreamType(record.getAudioAttributes())) != 0)) { final long identity = Binder.clearCallingIdentity(); try { final IRingtonePlayer player = mAudioManager.getRingtonePlayer(); |