summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDanny Baumann <dannybaumann@web.de>2016-10-17 16:41:04 +0200
committerDanny Baumann <dannybaumann@web.de>2016-10-17 16:41:04 +0200
commit1d0ca65e7b41d2728c226ae9284df6ff8e322db3 (patch)
treedf98e6a0863058f3330f0da25420270f7111ddaf
parent812605dcc76c1ab2855a1515d19d51ad33048a6a (diff)
downloadandroid_packages_services_Telecomm-1d0ca65e7b41d2728c226ae9284df6ff8e322db3.tar.gz
android_packages_services_Telecomm-1d0ca65e7b41d2728c226ae9284df6ff8e322db3.tar.bz2
android_packages_services_Telecomm-1d0ca65e7b41d2728c226ae9284df6ff8e322db3.zip
Honor option to allow vibration during priority zen mode.
Change-Id: Ie48746c913758f5d9fe7dea68bc7d304be82b026
-rw-r--r--src/com/android/server/telecom/Ringer.java13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/com/android/server/telecom/Ringer.java b/src/com/android/server/telecom/Ringer.java
index 9696a20b..bba200b7 100644
--- a/src/com/android/server/telecom/Ringer.java
+++ b/src/com/android/server/telecom/Ringer.java
@@ -200,13 +200,14 @@ final class Ringer extends CallsManagerListenerBase {
// The foreground call is one of incoming calls so play the ringer out loud.
stopCallWaiting(call);
- if (!shouldRingForContact(foregroundCall.getContactUri())) {
- return;
- }
+ boolean[] shouldRingOrVibrate =
+ shouldRingOrVibrateForContact(foregroundCall.getContactUri());
+ boolean ringAllowed = shouldRingOrVibrate[0];
+ boolean vibrationAllowed = shouldRingOrVibrate[1];
AudioManager audioManager =
(AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
- if (audioManager.getStreamVolume(AudioManager.STREAM_RING) >= 0) {
+ if (ringAllowed && audioManager.getStreamVolume(AudioManager.STREAM_RING) >= 0) {
if (mState != STATE_RINGING) {
Log.event(call, Log.Events.START_RINGER);
mState = STATE_RINGING;
@@ -245,7 +246,7 @@ final class Ringer extends CallsManagerListenerBase {
Log.v(this, "startRingingOrCallWaiting, skipping because volume is 0");
}
- if (shouldVibrate(mContext) && !mIsVibrating) {
+ if (vibrationAllowed && shouldVibrate(mContext) && !mIsVibrating) {
mVibrator.vibrate(VIBRATION_PATTERN, VIBRATION_PATTERN_REPEAT,
VIBRATION_ATTRIBUTES);
mIsVibrating = true;
@@ -274,7 +275,7 @@ final class Ringer extends CallsManagerListenerBase {
}
}
- private boolean shouldRingForContact(Uri contactUri) {
+ private boolean[] shouldRingOrVibrateForContact(Uri contactUri) {
final NotificationManager manager =
(NotificationManager) mContext.getSystemService(Context.NOTIFICATION_SERVICE);
final Bundle extras = new Bundle();