summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Tyler Gunn <tgunn@google.com> 2018-05-24 10:44:44 -0700
committer Tyler Gunn <tgunn@google.com> 2018-05-24 10:44:44 -0700
commitf2e08b4c2c2c9cfa150cd9e4bb416d89e38b7b4e (patch)
tree7f68860252deae5ae9d1b56d202d230944868fcd
parent00c0a5bb238bd410772dc1a2f7fb338e3224fc98 (diff)
Ensure self-managed calls use voip audio mode.
Although Telecom ensures that new calls use voip audio mode, the default value from a Connection would override the Telecom default. Bug: 76362663 Test: Modify test app to ensure it does not set voip audio mode, ensure Telecom uses voip audio mode for new calls. Change-Id: Ie6477659cf6dabd08f371d4958ece1d258cd3106
-rw-r--r--telecomm/java/android/telecom/ConnectionService.java12
1 files changed, 9 insertions, 3 deletions
diff --git a/telecomm/java/android/telecom/ConnectionService.java b/telecomm/java/android/telecom/ConnectionService.java
index 2fdbc7194af8..4045eea4db02 100644
--- a/telecomm/java/android/telecom/ConnectionService.java
+++ b/telecomm/java/android/telecom/ConnectionService.java
@@ -1531,6 +1531,14 @@ public abstract class ConnectionService extends Service {
new DisconnectCause(DisconnectCause.ERROR, "IMPL_RETURNED_NULL_CONNECTION"));
}
+ boolean isSelfManaged =
+ (connection.getConnectionProperties() & Connection.PROPERTY_SELF_MANAGED)
+ == Connection.PROPERTY_SELF_MANAGED;
+ // Self-managed Connections should always use voip audio mode; we default here so that the
+ // local state within the ConnectionService matches the default we assume in Telecom.
+ if (isSelfManaged) {
+ connection.setAudioModeIsVoip(true);
+ }
connection.setTelecomCallId(callId);
if (connection.getState() != Connection.STATE_DISCONNECTED) {
addConnection(callId, connection);
@@ -1570,9 +1578,7 @@ public abstract class ConnectionService extends Service {
createIdList(connection.getConferenceables()),
connection.getExtras()));
- if (isIncoming && request.shouldShowIncomingCallUi() &&
- (connection.getConnectionProperties() & Connection.PROPERTY_SELF_MANAGED) ==
- Connection.PROPERTY_SELF_MANAGED) {
+ if (isIncoming && request.shouldShowIncomingCallUi() && isSelfManaged) {
// Tell ConnectionService to show its incoming call UX.
connection.onShowIncomingCallUi();
}