Dialer: Add call waiting vibrate option
Change-Id: Id903310aa0ef74fe01349e39262159e4795f4501
diff --git a/InCallUI/src/com/android/incallui/InCallVibrationHandler.java b/InCallUI/src/com/android/incallui/InCallVibrationHandler.java
index 42845df..20722a8 100644
--- a/InCallUI/src/com/android/incallui/InCallVibrationHandler.java
+++ b/InCallUI/src/com/android/incallui/InCallVibrationHandler.java
@@ -31,6 +31,7 @@
private static final int MSG_VIBRATE_45_SEC = 1;
+ private static final String KEY_VIBRATE_CALL_WAITING = "incall_vibrate_call_waiting";
private static final String KEY_VIBRATE_OUTGOING = "incall_vibrate_outgoing";
private static final String KEY_VIBRATE_45SECS = "incall_vibrate_45secs";
private static final String KEY_VIBRATE_HANGUP = "incall_vibrate_hangup";
@@ -64,6 +65,10 @@
handleOutgoingCallVibration(activeCall);
}
mActiveCall = activeCall;
+ } else if (activeCall != null && callList.getIncomingCall() != null
+ && !callList.getIncomingCall().equals(activeCall)) {
+ Log.d(this, "New incoming call" + callList.getIncomingCall());
+ handleCallWaitingVibration(activeCall);
} else if (activeCall == null && mActiveCall != null) {
Log.d(this, "Transition from active call " + mActiveCall);
handleCallEnd(mActiveCall);
@@ -83,6 +88,13 @@
}
}
+ private void handleCallWaitingVibration(Call call) {
+ Log.d(this, "Start call waiting vibration");
+ if (mPrefs.getBoolean(KEY_VIBRATE_CALL_WAITING, false)) {
+ vibrate(200, 300, 500);
+ }
+ }
+
private void handleCallEnd(Call call) {
long durationMillis = System.currentTimeMillis() - call.getConnectTimeMillis();
DisconnectCause cause = call.getDisconnectCause();
diff --git a/res/values/custom_strings.xml b/res/values/custom_strings.xml
index 614f018..d396e24 100644
--- a/res/values/custom_strings.xml
+++ b/res/values/custom_strings.xml
@@ -18,6 +18,7 @@
<!-- In-call vibrate options -->
<string name="incall_vibration_category_title">In-call vibration</string>
<string name="incall_vibrate_outgoing_title">Vibrate on answer</string>
+ <string name="vibrate_call_waiting">Vibrate on call waiting</string>
<string name="incall_vibrate_hangup_title">Vibrate on hang up</string>
<string name="incall_vibrate_45_title">Vibrate every minute</string>
<string name="incall_vibrate_45_summary">Vibrates at 45s of every minute during outgoing calls</string>
diff --git a/res/xml/sound_settings.xml b/res/xml/sound_settings.xml
index a1170ad..9bc6e4b 100644
--- a/res/xml/sound_settings.xml
+++ b/res/xml/sound_settings.xml
@@ -52,6 +52,10 @@
android:title="@string/incall_vibrate_outgoing_title" />
<SwitchPreference
+ android:key="incall_vibrate_call_waiting"
+ android:title="@string/vibrate_call_waiting"/>
+
+ <SwitchPreference
android:key="incall_vibrate_hangup"
android:title="@string/incall_vibrate_hangup_title" />