summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrandon Maxwell <maxwelb@google.com>2016-02-26 01:01:04 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2016-02-26 01:01:04 +0000
commit0eeee8b2e0d307f5be3c733dad5ef150fd2e008e (patch)
tree377ce582efa4bc6c13bd1a4f5e4fdeb1ba9e19f7
parentef57777a221ea78511e28e5f17c69da96c8a629c (diff)
parentffa70124c4a0516d1d7225a52180e0182276e252 (diff)
Merge "Respect setting for incoming call to vibrate" into nyc-dev
-rw-r--r--InCallUI/src/com/android/incallui/StatusBarNotifier.java4
-rw-r--r--InCallUI/src/com/android/incallui/ringtone/DialerRingtoneManager.java13
2 files changed, 16 insertions, 1 deletions
diff --git a/InCallUI/src/com/android/incallui/StatusBarNotifier.java b/InCallUI/src/com/android/incallui/StatusBarNotifier.java
index 1a4ec0935..315c0d0ae 100644
--- a/InCallUI/src/com/android/incallui/StatusBarNotifier.java
+++ b/InCallUI/src/com/android/incallui/StatusBarNotifier.java
@@ -315,7 +315,9 @@ public class StatusBarNotifier implements InCallPresenter.InCallStateListener,
audioAttributes.setContentType(AudioAttributes.CONTENT_TYPE_MUSIC);
audioAttributes.setUsage(AudioAttributes.USAGE_NOTIFICATION_RINGTONE);
notification.audioAttributes = audioAttributes.build();
- notification.vibrate = VIBRATE_PATTERN;
+ if (mDialerRingtoneManager.shouldVibrate(mContext.getContentResolver())) {
+ notification.vibrate = VIBRATE_PATTERN;
+ }
}
if (mDialerRingtoneManager.shouldPlayCallWaitingTone(callState)) {
Log.v(this, "Playing call waiting tone");
diff --git a/InCallUI/src/com/android/incallui/ringtone/DialerRingtoneManager.java b/InCallUI/src/com/android/incallui/ringtone/DialerRingtoneManager.java
index 38b37a263..3803a3e9a 100644
--- a/InCallUI/src/com/android/incallui/ringtone/DialerRingtoneManager.java
+++ b/InCallUI/src/com/android/incallui/ringtone/DialerRingtoneManager.java
@@ -18,7 +18,9 @@ package com.android.incallui.ringtone;
import com.google.common.base.Preconditions;
+import android.content.ContentResolver;
import android.net.Uri;
+import android.provider.Settings;
import android.support.annotation.Nullable;
import com.android.contacts.common.compat.CompatUtils;
@@ -70,6 +72,17 @@ public class DialerRingtoneManager {
}
/**
+ * Determines if an incoming call should vibrate as well as ring.
+ *
+ * @param resolver {@link ContentResolver} used to look up the
+ * {@link Settings.System#VIBRATE_WHEN_RINGING} setting.
+ * @return {@code true} if the call should vibrate, {@code false} otherwise.
+ */
+ public boolean shouldVibrate(ContentResolver resolver) {
+ return Settings.System.getInt(resolver, Settings.System.VIBRATE_WHEN_RINGING, 0) != 0;
+ }
+
+ /**
* The incoming callState is never set as {@link State#CALL_WAITING} because
* {@link Call#translateState(int)} doesn't account for that case, check for it here
*/