summaryrefslogtreecommitdiff
path: root/telecomm/java/android/telecom/RemoteConnectionService.java
Commit message (Collapse)AuthorAgeFilesLines
* Fix issue when adding existing connections via remote connection services.Tyler Gunn2021-06-291-7/+19
| | | | | | | | | | | | | | | | | | | | | | | | | 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
* Merge "Add adhoc conference APIs to RemoteConnection and ↵Grace Jia2020-08-131-1/+33
|\ | | | | | | RemoteConnectionService."
| * Add adhoc conference APIs to RemoteConnection andGrace Jia2020-08-111-1/+33
| | | | | | | | | | | | | | | | | | | | RemoteConnectionService. Plumb through the adhoc conference APIs via these new APIs. Bug: 159944852 Test: atest CtsTelecomTestCases:RemoteConnectionTest Change-Id: Icfa27e0616dd35ba350f7a491e5c95337a286b9d
* | Improve remote connection logging.Tyler Gunn2020-08-051-1/+19
|/ | | | | | | | | | | | | | | | | | | | | | | | This CL improves traceability of calls initiated via a remote connection service. For regular incoming/outgoing calls, when initiating a request to create a remote connection in RemoteConnectionService, we set EXTRA_REQUESTING_PACKAGE_NAME in the parcelled request to the package name of the connection manager. In ConnectionService this serves as an indicator that the incoming request is via a connection manager and is used to trigger setting of EXTRA_REMOTE_PHONE_ACCOUNT_HANDLE with the phone account handle the remote connection service uses to place the call. For conferences and existing connections, the initial request is from the remote connection service to the connection manager so we can just set the EXTRA_REMOTE_PHONE_ACCOUNT handle there directly. Also cleaned up logging in the telecom session logging to remove the assumption that the ownerInfo is an incall service. Test: Manual testing with connection manager to verify logging. Bug: 154353494 Fixes: 155097158 Merged-In: I916750e0f558db1eb9e581bab7a9fbc71f781709 Change-Id: Iee1b5cfd3334a5de08d7b04022b7c6d5af6a4b04
* Add new @hide API to pass call direction changes through TelecomBrad Ebinger2020-04-201-0/+5
| | | | | | | | Bug: 153277327 Fixes: 154245581 Test: atest TelecomUnitTests Merged-In: Icad12c4144bf185c24ee80bcbdd1aec29550bf4e Change-Id: Icad12c4144bf185c24ee80bcbdd1aec29550bf4e
* Ims: Add support for Adhoc Conference callsRavi Paluri2020-01-221-0/+8
| | | | | | | | Add support for Adhoc Conference calls Test: Manual Bug: 62151032 Change-Id: Id50d235595d2133f867848ffdebdfe11e2f1c896
* Make queryRemoteConnectionServices DSDS aware.Tyler Gunn2019-05-171-1/+1
| | | | | | | | | | | | | | | | The method queryRemoteConnectionServices had the issue that it assumes there is a single connection manager for the device. This assumption does not work on a multisim device. Since the ConnectionManager is associated with a particular carrier, this means that the connection mgr for one carrier could try to impact calls destined for another carrier. This change ensures that the calling package is passed into Telecom so that we can determine which RemoteConnectionServices which are available to the calling connection manager. Test: Manual test on DSDS with a connection mgr carrier and another carrier. Bug: 131856987 Change-Id: I46d80dc68adaab7fd4374f023d7ba4242804c253
* Support for treating single party IMS conference as a standalone call.Tyler Gunn2019-01-191-0/+6
| | | | | | | | | Adding @hide APIs which Telephony can use to make a conference call with a single participant look like its a standalone call. Test: Manual testing Bug: 75975913 Change-Id: Id8532234ab295785fc749b120898f43911e12637
* Telecom: Reset the duration after the CDMA call is acceptedMengjun Leng2018-07-311-0/+5
| | | | | | | | | | In android original design, the duration of CDMA MO call is started from the dial command sent, so it is not the real duration of the active time. In this patch, a new message is registered to listen the event of the call accepted, and then reset the duration when the event happens. Change-Id: Icc447012030ae243f200ec2c83b7d5210af9b31c
* Ensure start of call properties are propagated to RemoteConnection.Tyler Gunn2018-02-131-0/+4
| | | | | | | | | | | | | | | | Some properties were not being propagated to a RemoteConnection when a Connection is first created. This can cause problems where the Connection Manager is not aware of these property changes, especially if they never change again during the lifetime of a call. The extras set when a Connection is first created using the RemoteConnectionService API would not be propagated to the RemoteConnection. This means that Telephony RAT reporting would never happen if the radio technology never changes during a call. Bug: 72811636 Test: Manual Change-Id: I658aab10b1fb89ca29c39338febcc76e9f50d8f4
* Add connection serivce focus api interfacePengquan Meng2018-01-091-0/+3
| | | | | | | | | | | This add new api interface to ConnectionService to support the connection service focus api. Bug: 69651192 Test: manually Change-Id: Iea49d95b086d32a0ebaf8e9f34fe4556953a0fd5 Merged-In: Iea49d95b086d32a0ebaf8e9f34fe4556953a0fd5
* Update Telecom APIs to include multi-hfpHall Liu2017-11-091-1/+2
| | | | | | | | | | | * Add bluetooth devices to CallAudioState * Add methods for specifying a bluetooth device to InCallService * Add methods for specifying a bluetooth device to Connection (for self-managed connections) Bug: 64767509 Test: unit tests Change-Id: I286b19b423dc2ee417dbc90eda7e8055b2da2444
* Emergency redial implementationSrikanth Chintala2017-08-251-0/+5
| | | | | | | | | | Define connection event to notify Telecom/InCallUi about change in account handle after redial and extra for emergency phone handle. Bug: 27059146 Change-Id: Ie72ab2901ec05d972204ed11f115a05b79173c1d
* Merge "API review cleanups/changes." am: 9324d6513b am: dd4bc7c69cTyler Gunn2017-03-071-2/+6
|\ | | | | | | | | | | am: c49b011151 Change-Id: Ib3d76474bef8c911b2ec6a61b916e38af0a3b861
| * API review cleanups/changes.Tyler Gunn2017-03-061-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Change onCreateIncomingConnectionFailed/onCreateOutgoingConnectionFailed to accept the connection mgr phone account as the first parameter. - For the video APIs, pass the target SDK of the caller into along so that the Telecom permission check can have fallback behavior for older API versions. - Add guidance for how UX should be shown in onShowIncomingCallUi API. API guidance follows how the Dialer app shows its notification and full screen UX. Test: Manual, CTS. Bug: 35767711 Bug: 35767096 Change-Id: Ib343f0eda1a4d067a38c553f33f140b4efcf3e48
* | Add further Connection-side APIs for RTT (part 2)Hall Liu2017-03-011-0/+44
|/ | | | | | | | | | Add methods and callbacks to facilitate local and remote RTT initiation and termination in the middle of a call. Adds @hide Connection-side APIs to communicate with the ConnectionService, as well as plumbing for RemoteConnections. Test: manual, through telecom testapps Change-Id: Ia80604b7dff8586ff222dbccdbe55e91aab02178
* Introduce APIs for RTT calls (part 1)Hall Liu2017-02-211-5/+8
| | | | | | | | Add signaling methods and data pipes for handling real-time text during a call. Change-Id: I876827c448252c5f786d7a4919c47891acb03877 Test: manual, through telecom testapps
* Perform camera permission and app ops check when setting camera for VT.Tyler Gunn2017-02-061-2/+8
| | | | | | | | | | | | | | | | | When a calling InCallService attempts to use the setCamera API on the VideoCall, Telecom will perform a permission check to ensure that the caller has the correct camera permission and passes the app-ops camera check. A failure to set the camera will result in a callback via the call session event API. This got a little messy as the app ops package name needs to come from the InCallService, and handler usage in the VideoProvider API means we had to pass around the uid/pid of the caller, obtained before we trampoline onto the handler. Test: Unit tests added, manual testing performed. Bug: 32747443 Change-Id: I555a04f9c3fb45e60bb811f64ba855ccf2e3b0e2
* Framework fixes to support VoLTE conf calls via RemoteConnectionServices.Tyler Gunn2017-02-061-5/+20
| | | | | | | | | | | | | | | | | | | | | | | | | Fixing some issues with the addExistingConnection and addConference APIs on ConnectionService. When a connection manager relays the addition of an existing connection or a conference to Telecom, it will assign a new ID to the new connection/conference. Due to how RemoteCSes work, the Connection/Conf will be added directly via TelephonyConnectionService and also via the connection manager's connection service. Because the ID changes, we ended up adding these twice. Conferences weren't a problem in the GSM conference case because the TElephonyConnectionService's ConnectionServiceWrapper didn't know of the IDs for the children of the conference. However, due to how the existing connections work its not the case for VoLTE conferences. To mitigate this, I'm passing the original connection/conference ID to the connection manager via extras (ugh) and using this to ensure that when the new existing connection/conference is added to telecom that the same ID is used. This ensures that we can properly de-dupe the requests from TelephonyConnectionService and the connection manager. Also, there was some missing code in RemoteConnectionService which would cause it to not properly track existing connections. Bug: 31464792 Change-Id: I436f4438fd000ea48ebea7ceb75105bd3f456e46
* Adding self-managed connection service APIs.Tyler Gunn2017-01-181-0/+9
| | | | | | | | | 1. Adding new APIs for self-managed connection services. 2. Adding Telecom package-level documentation. Test: Manual (unit, cts pending; this is just scaffolding for now) Bug: 34159263 Change-Id: Ic226ec8bfcb2fbcc02fe802b47499e47aab17d0a
* Modify ConnectionServiceAdapter to include SessionBrad Ebinger2016-11-021-30/+41
| | | | | | | | | | Modifies the ConnectionServiceAdapter to include Session Information in the AIDL interface so that external Sessions can be started in Telecom from Telephony. Test: Manual testing and Unit Tests pass Bug: 26571395 Change-Id: I31bbfe433dd062a50bd05083e1a639dd4cd03403
* Modify AIDLs to include Session.InfoBrad Ebinger2016-10-281-3/+6
| | | | | | | | | | Modifies the IConnectionService.aidl file to include Session.Info information to pass from Telecom to Telephony, which is used to start external Sessions in Telephony from Telecom. Test: Manual testing and Unit Tests pass Bug: 26571395 Change-Id: Ia09a0abfa13d5167542d4c67465ea9aa1930b58b
* Add missing remote conference property set.Tyler Gunn2016-08-151-0/+1
| | | | | | | | | | When creating a new remote conference, there was a missing call to "setConnectionProperties". This would prevent remote conferences from being created with the correct properties as defined in the actual conference. Bug: 30383741 Change-Id: I335e35c222ae18b0d6ea7e750b91bcc36aa40ece
* Finalize MEP functionality.Tyler Gunn2016-07-111-0/+6
| | | | | | | | | | 1) Finish plumbing of PULLING_CALL state. 2) Add new disconnect cause used when maximum number of calls across all devices has been reached. 3) Add PII mask for toString of ImsExternalCallState. Bug: 29522023 Change-Id: I78a0a9f3c3d846cfc58a1c5bcc6f105027602cbc
* Add connection properties to Connections.Tyler Gunn2016-03-241-0/+12
| | | | | | | | - Per suggestion of API council, moving properties of a Connection from CAPABILITIES_* to PROPERTIES_*. Bug: 27458894 Change-Id: Icce921b03cda514a991646ed39a26559c7e91230
* Expand call/connection extras API.Tyler Gunn2016-03-231-6/+13
| | | | | | | | | | | | | | | | | Currently, connection extras are propagated up to Telecom as an entire bundle. This is not ideal, as any time a change is made to the extras, the bundle needs to be fetched, changed, and then re-set on the connection, where it is parceled to Telecom as a whole. Using how extras on an Intent as inspiration, this CL adds separate putExtras, putExtra, and removeExtra methods to allow manipulation of the extras bundle without operating on it in its entirety. This Cl also adds support for Calls modifying the extras bundle, with changes propagated back down to ConnectionServices. Bug: 27458894 Change-Id: I152340a3bca2dc03f170b06b172a6823410fb961
* Add API support for multi-endpoint.Tyler Gunn2016-03-141-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | This CL includes changes required to support multi-endpoint (see the design doc linked off the bug). Main changes include: - support for indicating if a call/connection is "external" to the device. - support for indicating if an external call can be pulled from the remote device to the local device. - API used to initiate a pull of a call external to the current device to the current device. - Made the "connection event" API public (was previously @hide); this will be used to support passing some error events involving pulling calls to the incall ui. - Added new InCallService metadata which will be used to determine if an InCallService wants to be informed of external calls. - New disconnect causes which will be used to expose the fact that a multi-endpoint call was answered elsewhere and that a call ended because it was pulled to another device. - New call log call types to indicate if calls were answered elsewhere or pulled to another device. Bug: 27458894 Change-Id: I423f64ff965b5e50194635a51868c327782db2a1
* Add new ConnectionEvent API (hide) to send a notification to TelecomTyler Gunn2016-02-161-0/+7
| | | | | | | | | Connection event used to inform Telecom that it should play or stop the on hold tone. This is used to play or stop a tone when the peer puts the current call on hold. BUG=25357778 Change-Id: I2669f8f5062449784a712b9dd28e576326fcc679
* Add extras to Connections/Calls. (1/3)Santos Cordon2015-05-281-0/+12
| | | | | | | | | | | Two major changes: 1) Add the notion of extras to a Connection. These extras will be parceled through to InCallService as Call.getExtras() 2) The previously existing Call.getExtras() has been renamed to getIntentExtras(). This name better describes the fact that these particular extras are from the original CALL or INCOMING_CALL intents. Change-Id: I08c1baf4f08d54757f98012f0c08b423a707c53d
* Merge commit '17455a3' into master_mergePrerepa Viswanadham2015-05-011-0/+7
|\
| * Add plumbing for merge failures and renable button. (3/4)Anthony Lee2015-04-281-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The merge failure is not plumbed up through any layer that can trap the callback and act on it. The first part of this fix is to create that plumbing. Then we need to reenable the merge button. At this point in time, we leverage the fact that forcing the call to reassess its capabilities will poke the InCallUI to reenable the merge button. In the future, we should plumb the merge failure all the way to InCallUI and not only handle the button but display UI to the user. The UI is currently being displayed by CallNotifier which is the wrong place. See b/20530631 for more details. Bug: 20229905 Change-Id: I0355ada46b484c6db4bee656c77386dd61be5e1f
| * DO NOT MERGE Remove connection substateJay Shrauner2015-04-161-7/+0
| | | | | | | | | | Bug:20300433 Change-Id: Ifefc08b5165de3e0b6ce92007e5f612879dcc4d9
* | Remove connection substateJay Shrauner2015-04-161-7/+0
| | | | | | | | | | Bug:20300433 Change-Id: Ifefc08b5165de3e0b6ce92007e5f612879dcc4d9
* | Merge commit 'e593d0a' into merge_workPrerepa Viswanadham2015-04-101-0/+7
|\| | | | | | | Change-Id: I4f8ae40fc446cd9cda4d5c6ec99469a98dda595b
| * IMS-VT: Upgrade/Downgrade changeRekha Kumar2015-04-011-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -Add isVideo API to VideoProfile.VideoState IMS-VT: Fix propagation of device orientation. Orientation received at VT Service is incorrect. Fixed propagation of device orientation to VT service. IMS-VT: Upgrade fix -Add session modify call timed out constant Notify listeners of video quality changed event - Propagate the video quality changed message to the UI. IMS: Add support for video quality - Add Config interface to get/set video quality IMS-VT: Multitasking feature -Support for video multitasking IMS-VT: Modification of data usage aidl Change data usage aidl interface to take parameter type long instead of int Change-Id: I7cda2a689edb86d025dfe8efc8f573918c4bd6bc Propagate the call substate changed message to the UI IMS-VT: Add call modifiable capability PhoneCapababilities call type modifiable constant added IMS-VT: Add a bit mask CALL_SUBSTATE_ALL with all call substate bits set IMS-VT: Enable Video conferencing. Enable Video conferencing. Change-Id: I4240aa6f32c75d6eea8a41da3c87bca651f0901b IMS-VT: Add hide for setVideoProvider API Observed compilation error for SDK generation due to setVideoProvider API. Marking setVideoProvider as hide inorder to resolve the compilation error. IMS-VT: Add persist.radio.ims.audio.output for VT calls -- Add persist.radio.ims.audio.output to set the default speaker for VT calls. -- Add required constants IMS-VT: Add additional error codes for upgrade downgrade -Add support to send additional error codes to UI during upgrade downgrade. Change-Id: Id452d225098fe3bccdcd37d242985c5c761144c1
* | Don't set address for failed remote connectionsSailesh Nepal2015-01-311-5/+10
|/ | | | | | | | | | | | | We created failed connections we no address attached. When the connection is sent to RemoteConnectionService the null address is translated to a setAddress() call. This causes all failed connections to show up as "unknown". Fix is to only call setAddress if creating the connection succeeded. BUG: 18830726 Change-Id: I680e2fa4c69157a9fdbfa348c6af1f2f87aafd48
* Fix crash when making emergency callsSailesh Nepal2015-01-281-1/+5
| | | | | | | | | | | | | When making an emergency call the fallback connection manager would crash. The problem was that the connection manager would get a setVideoProvider() call even though it wasn't routing calls. The root cause of this crash is b/19185063. As a short term work around I'm adding a null check to avoid the crash. BUG: 19020123 Change-Id: Ibe4a791882c9b5e21ae629a63f8d89cd3deba828
* Pass onPostDialChar call back from Telephony to Telecom.Nancy Chen2014-12-161-0/+6
| | | | | | | | Add plumbing to alert Telecom every time a character is processed after the post dial wait state (the processing happens in Telephony). Bug: 18644688 Change-Id: I487d76aa9c959ca528c6377374aa35c2d0b4a803
* Telecom API updates (1/6)Ihab Awad2014-11-281-7/+7
| | | | | | Bug: 18292176 Change-Id: I060366234a5a60510c385dc837f2b7e79596eaf5
* Creating connections for conference event package participants.Tyler Gunn2014-10-301-1/+11
| | | | | | | | | | | | | - Add "addExistingConnection" method to connection service which provides a way for a connection service to notify telecom of a pre-existing connection (connections are normally created through telecom). - Modify TelephonyConferenceController to retrieve its state from a multiparty connection in the conference (in the case of IMS calls, this would be the ImsCall that manages the conference) instead of just taking the first one. Bug: 18057361 Change-Id: I26993aec54ecb0ce90ae6983fd3eed9d8d0a5773
* Fix hangouts conference calling regression.mike dooley2014-10-091-1/+1
| | | | | | | | Check the connection-by-id hash table instead of conference-by-id hash table when setting conferenceable connections. Bug: 17919110 Change-Id: Ia8a5ab3fb96926e600d21eca7737a0044b233563
* Add ability to add sim-initiated MO call to UI (2/4)Yorke Lee2014-10-061-1/+2
| | | | | | | | | Add supporting (hidden) APIs to TelecomManager to add the ability to add a previous unknown call to Telecom Bug: 17787391 Change-Id: Ibdfaee81a55e11451c146751cf970980dccad435
* Refine implementation of GSM conferences (1/3)Ihab Awad2014-09-301-2/+11
| | | | | Bug: 17684223 Change-Id: I05d05b594803ea2c1da4247111b70ad5f870ac46
* Pass disconnect reason for failed remote connectionsSailesh Nepal2014-09-201-1/+5
| | | | | | | | | | | | If a remote connection fails to create call setDisconnected instead of setState. This allows us to pass the disconnect reason. Note, this CL is very low risk since it only impacts remote connections. Bug: 17594857 Change-Id: Id296f3f5a4bb9168b358d3bfda94e04623a6b99c
* Add new DisconnectCause class to telecomm.Andrew Lee2014-09-161-7/+5
| | | | | | | | | | | | | | | | + Add a hidden "UNKNOWN" default type to ToneGenerator. - Hide the Telephony DisconnectCause from the public API. + Add a Telecomm DisconnectCause. This is parcelable, and contains information (code, user facing message, non-user facing reason, and tone) to help describe the disconnect state and what behaviors an application can implement for the user experience. This reduces the causes for a disconnect to a more generic set. + Lots of work to pipe this through. DisconnectCause replaces the code and message which were formerly passed around. Bug: 17241433 Bug: 17329632 Change-Id: I9d337e478a8784bcc0ade02267c2df52cac9bf17
* Renaming Telecomm to Telecom.Tyler Gunn2014-09-121-0/+385
- Changing package from android.telecomm to android.telecom - Changing package from com.android.telecomm to com.android.server.telecomm. - Renaming TelecommManager to TelecomManager. Bug: 17364651 Change-Id: I192cb5d189f55db012ea72ee82ccc5aedbc21638