diff options
author | Grace Jia <xiaotonj@google.com> | 2020-08-04 12:52:09 -0700 |
---|---|---|
committer | Grace Jia <xiaotonj@google.com> | 2020-08-11 19:26:33 +0000 |
commit | 9a09c670759c50ce8f84b40f62ceef9b5dc00132 (patch) | |
tree | e518672aeaf9ec9afe0ed0af19557bc6244164ce /telecomm/java/android/telecom/RemoteConnectionManager.java | |
parent | bad5c4ec49a6dfc6c0c73dedba6cd5c0a9b27f9b (diff) |
Add adhoc conference APIs to RemoteConnection and
RemoteConnectionService.
Plumb through the adhoc conference APIs via these new APIs.
Bug: 159944852
Test: atest CtsTelecomTestCases:RemoteConnectionTest
Change-Id: Icfa27e0616dd35ba350f7a491e5c95337a286b9d
Diffstat (limited to 'telecomm/java/android/telecom/RemoteConnectionManager.java')
-rw-r--r-- | telecomm/java/android/telecom/RemoteConnectionManager.java | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/telecomm/java/android/telecom/RemoteConnectionManager.java b/telecomm/java/android/telecom/RemoteConnectionManager.java index 0322218d75dc..f3c7bd83ed4b 100644 --- a/telecomm/java/android/telecom/RemoteConnectionManager.java +++ b/telecomm/java/android/telecom/RemoteConnectionManager.java @@ -73,6 +73,37 @@ public class RemoteConnectionManager { return null; } + /** + * Ask a {@code RemoteConnectionService} to create a {@code RemoteConference}. + * @param connectionManagerPhoneAccount See description at + * {@link ConnectionService#onCreateOutgoingConnection(PhoneAccountHandle, ConnectionRequest)}. + * @param request Details about the incoming conference call. + * @param isIncoming {@code true} if it's an incoming conference. + * @return + */ + public RemoteConference createRemoteConference( + PhoneAccountHandle connectionManagerPhoneAccount, + ConnectionRequest request, + boolean isIncoming) { + PhoneAccountHandle accountHandle = request.getAccountHandle(); + if (accountHandle == null) { + throw new IllegalArgumentException("accountHandle must be specified."); + } + + ComponentName componentName = request.getAccountHandle().getComponentName(); + if (!mRemoteConnectionServices.containsKey(componentName)) { + throw new UnsupportedOperationException("accountHandle not supported: " + + componentName); + } + + RemoteConnectionService remoteService = mRemoteConnectionServices.get(componentName); + if (remoteService != null) { + return remoteService.createRemoteConference( + connectionManagerPhoneAccount, request, isIncoming); + } + return null; + } + public void conferenceRemoteConnections(RemoteConnection a, RemoteConnection b) { if (a.getConnectionService() == b.getConnectionService()) { try { |