diff options
author | Tyler Gunn <tgunn@google.com> | 2021-06-24 11:25:07 -0700 |
---|---|---|
committer | Tyler Gunn <tgunn@google.com> | 2021-08-13 18:29:40 +0000 |
commit | fdc4bff3198fcaedfa29f45d92525c0351acd583 (patch) | |
tree | 62c14ae24d87859eae299d8f3b65435f6c9885e9 /telecomm/java/android/telecom/Connection.java | |
parent | 7949cf90ace42c1582ef8fdb93fd85d5ed4b7372 (diff) |
Fix issue when adding existing connections via remote connection services.
When an existing connection is added to represent an IMS conference
participant, it is added with an associated parent conference specified.
This was NOT passed along to the connection manager via the
RemoteConnectionService API since there is no equivalent API present for
that operation. To work around this, we stash the parent conference's
ID into the connection extras. We will use that later so that Telecom
can know which conference is the parent of this call.
Also, removing restriction in RemoteConnectionService which would ignore
conferences with no children. This assumption was incorrect for VOLTE
conferences since they will start with no children. As a consequence we
would ALWAYS skip adding IMS conferences to the connection manager, which
would mean that it had no way of knowing about the conference that the
existing connections are associated with.
Test: Manual test with connection manager APIS on live network; make
conference and verify that the correct objects are being created wrapped
by the connection manager.
Bug: 188420526
Change-Id: Ie58afed7a3b7eeaa7e329e80479d273e4c50ec82
Change-Id: I4250f9459c7a1b82936583a10e93d049fdfb4c5d
Diffstat (limited to 'telecomm/java/android/telecom/Connection.java')
-rw-r--r-- | telecomm/java/android/telecom/Connection.java | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/telecomm/java/android/telecom/Connection.java b/telecomm/java/android/telecom/Connection.java index 759afd72d539..f2f1645b335d 100644 --- a/telecomm/java/android/telecom/Connection.java +++ b/telecomm/java/android/telecom/Connection.java @@ -775,6 +775,21 @@ public abstract class Connection extends Conferenceable { "android.telecom.extra.REMOTE_PHONE_ACCOUNT_HANDLE"; /** + * The Telecom call ID of the conference an existing connection should be added to. This is + * required when {@link com.android.services.telephony.TelephonyConnectionService} adds a + * {@link Conference} to Telecom using the + * {@link ConnectionService#addExistingConnection(PhoneAccountHandle, Connection, Conference)} + * API. That API specifies a parent conference associated with the new existing connection + * being added, and there is no equivalent as part of the {@link RemoteConnectionService} API. + * This extra key is used to stack the ID of the conference to which the existing connection + * will be added so that Telecom can link it up correctly when the {@link RemoteConference} + * is added to Telecom by the connection manager. + * @hide + */ + public static final String EXTRA_ADD_TO_CONFERENCE_ID = + "android.telecom.extra.ADD_TO_CONFERENCE_ID"; + + /** * Extra key set from a {@link ConnectionService} when using the remote connection APIs * (e.g. {@link RemoteConnectionService#createRemoteConnection(PhoneAccountHandle, * ConnectionRequest, boolean)}) to create a remote connection. Provides the receiving |