summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHall Liu <hallliu@google.com>2018-06-28 00:19:38 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2018-06-28 00:19:38 +0000
commitff1307c4d4c028b21f910410effdc69311b4fb85 (patch)
tree97b62b50f8fda2c08619fb71f1c342d060cecc90
parentafcdfa26a5279f58234ecd860eb2c577f03482c5 (diff)
parent79caeb3958af69d7e41f9c79bc02378ff057cb1d (diff)
downloadTelecomm-ff1307c4d4c028b21f910410effdc69311b4fb85.tar.gz
Merge "Don't use RTT for calls to voicemail" into pi-dev
-rw-r--r--src/com/android/server/telecom/CallsManager.java20
1 files changed, 16 insertions, 4 deletions
diff --git a/src/com/android/server/telecom/CallsManager.java b/src/com/android/server/telecom/CallsManager.java
index e4e572278..f61a8ee0d 100644
--- a/src/com/android/server/telecom/CallsManager.java
+++ b/src/com/android/server/telecom/CallsManager.java
@@ -1249,8 +1249,13 @@ public class CallsManager extends Call.ListenerBase
CallState.CONNECTING,
phoneAccountHandle == null ? "no-handle" : phoneAccountHandle.toString());
- if (isRttSettingOn() || (extras != null
- && extras.getBoolean(TelecomManager.EXTRA_START_CALL_WITH_RTT, false))) {
+ boolean isVoicemail = (call.getHandle() != null)
+ && (PhoneAccount.SCHEME_VOICEMAIL.equals(call.getHandle().getScheme())
+ || (accountToUse != null && mPhoneAccountRegistrar.isVoiceMailNumber(
+ accountToUse.getAccountHandle(), call.getHandle().getSchemeSpecificPart())));
+
+ if (!isVoicemail && (isRttSettingOn() || (extras != null
+ && extras.getBoolean(TelecomManager.EXTRA_START_CALL_WITH_RTT, false)))) {
Log.d(this, "Outgoing call requesting RTT, rtt setting is %b", isRttSettingOn());
if (accountToUse != null
&& accountToUse.hasCapabilities(PhoneAccount.CAPABILITY_RTT)) {
@@ -1833,8 +1838,15 @@ public class CallsManager extends Call.ListenerBase
Log.d("phoneAccountSelected: default to voip mode for call %s", call.getId());
call.setIsVoipAudioMode(true);
}
- if (isRttSettingOn() || call.getIntentExtras()
- .getBoolean(TelecomManager.EXTRA_START_CALL_WITH_RTT, false)) {
+
+ boolean isVoicemail = (call.getHandle() != null)
+ && (PhoneAccount.SCHEME_VOICEMAIL.equals(call.getHandle().getScheme())
+ || (realPhoneAccount != null && mPhoneAccountRegistrar.isVoiceMailNumber(
+ realPhoneAccount.getAccountHandle(),
+ call.getHandle().getSchemeSpecificPart())));
+
+ if (!isVoicemail && (isRttSettingOn() || call.getIntentExtras()
+ .getBoolean(TelecomManager.EXTRA_START_CALL_WITH_RTT, false))) {
Log.d(this, "Outgoing call after account selection requesting RTT," +
" rtt setting is %b", isRttSettingOn());
if (realPhoneAccount != null