summaryrefslogtreecommitdiff
path: root/telecomm/java/android/telecom/Connection.java
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | Remove default public ctor from RttModifyStatusHall Liu2017-04-211-0/+1
|/ / / | | | | | | | | | | | | | | | Test: builds Bug: 37515063 Change-Id: I1e573d945b48e28d12621078cc8f37eb076d9ee3
* | | Merge "Add @TestApi annotations to CS-side RTT APIs for CTS"Hall Liu2017-04-041-10/+48
|\ \ \
| * | | Add @TestApi annotations to CS-side RTT APIs for CTSHall Liu2017-03-301-10/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CTS tests need both the in-call and connection service sides of the APIs to test Telecom functionality properly, so annotating the hidden-for-now connection service APIs with TestApi. Test: part of CTS Change-Id: I3711729d7e8c8aff2735f4da9fbd04bcca6b4942
* | | | Self Managed CS ImplementationTyler Gunn2017-03-301-0/+12
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Add API guide for developers giving an overview of what they need to implement. - Add @hide setLabel method in PhoneAccount; used when registering a self-managed CS's phone account; we override it with their app label to ensure they don't try to give themselves another name. Test: Unit Bug: 34159263 Change-Id: I0c890dc2feeb3ee438a80ed425db2aaf1f4c1fdd
* | | Merge "Add further Connection-side APIs for RTT (part 2)"Hall Liu2017-03-071-0/+122
|\ \ \ | |_|/ |/| |
| * | Add further Connection-side APIs for RTT (part 2)Hall Liu2017-03-061-0/+122
| |/ | | | | | | | | | | | | | | | | | | | | 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 Merged-In: Ia80604b7dff8586ff222dbccdbe55e91aab02178 Change-Id: Ia80604b7dff8586ff222dbccdbe55e91aab02178
* / API review cleanups/changes.Tyler Gunn2017-03-061-3/+46
|/ | | | | | | | | | | | | | | | - 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
* Introduce APIs for RTT calls (part 1)Hall Liu2017-02-211-1/+70
| | | | | | | | 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-7/+64
| | | | | | | | | | | | | | | | | 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-0/+25
| | | | | | | | | | | | | | | | | | | | | | | | | 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-1/+48
| | | | | | | | | 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
* Add ability to set supported audio routes on phone accounts and connectionChristine Hallstrom2016-12-131-0/+33
| | | | | | | | | | | | The set audio routes are used by Telecom to restrict where the audio may be routed to. For example, an account can specify that calls may not be routed over bluetooth headsets, which will prevent a new call from being routed to this source. This is a cherry-pick of abandoned ag/1521009. Bug: 32958838 Change-Id: Idd5e4d38b157f11454f3d991385644f2f384596e
* Add toString method for session event codes.Tyler Gunn2016-09-021-1/+34
| | | | | | | Used to get a human readable version of a call session event for logging. Bug: 31199425 Change-Id: Idf024ec405f1d18ff2cfab7f814b2651d7d8f0a0
* Rename PROPERTY_SHOW_CALLBACK_NUMBERHall Liu2016-08-301-3/+3
| | | | | | | This property actually indicates emergency callback mode. Change-Id: I334cb5a702040768b879ca6189a9ab25237dd49d Fix: 30005987
* Add connection events for indicated when a connection is remotely held.Tyler Gunn2016-08-171-0/+26
| | | | | | | | | | | Note: This is different than the existing EVENT_ON_HOLD_TONE_START and EVENT_ON_HOLD_TONE_END events, which trigger playing a hold tone for remotely held calls. Those events also take into account whether the call is foreground/background; it is left as a future exercise to clean that up. Bug: 30349182 Change-Id: I919365d243ae3b9fe56454c7a2b9d5805b2c03a2
* Add short string methods for capabilities and properties.Santos Cordon2016-07-261-28/+66
| | | | | Bug: 30411195 Change-Id: I3aa81da23b75986fab8570b8b36e56a36a660045
* Add PROPERTY_IS_DOWNGRADED_CONFERENCEHall Liu2016-07-141-1/+7
| | | | | Change-Id: I490876b45dcfb0b0efa9604c9d666db485923391 Fix: 29806833
* Finalize MEP functionality.Tyler Gunn2016-07-111-0/+2
| | | | | | | | | | 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
* Rename disable add call extraHall Liu2016-07-081-3/+3
| | | | | | | | | Used to be DISABLE_ADD_CALL_DURING_VIDEO_CALL, now just DISABLE_ADD_CALL. The meaning has also changed -- having the extra set means that adding calls should be disabled no matter what. Bug: 29047863 Change-Id: Icd8966492b264a9c64dc4880080a706032f0759c
* Merge "Add missing setPulling() method in Connection." into nyc-mr1-devTyler Gunn2016-06-301-0/+10
|\
| * Add missing setPulling() method in Connection.Tyler Gunn2016-06-291-0/+10
| | | | | | | | Change-Id: I89c720b2fa3d3e1304766ba3779410b233a04c6a
* | API cleanups per API review.Tyler Gunn2016-06-291-12/+92
|/ | | | | | | | | | | | | | | | | | | | | | | | 1. removing deprecation for setExtras on Connection/Conference as these have legitimate use-cases going forward. 2. Expanded documentation on Call.Callback class to clarify how it is expected to be used. 3. Updated Callback#onConnectionEvent callback docs to clarify its usage. 4. Expanded Call#sendCallEvent docs to clarify expected namespacing of call event keys and extras keys, as well as clarification about backwards compatibility and expectations of ConnectionServices. 5. Standardized the "invoked" vs "notifies" language in the Conference docs. 6. Clarified how Connection callbacks from Telecom should be implemented. 7. Added Bundle parameter expectations for pre-defined connection events. 8. Documented capabilities and properties toString methods. 9. Documented expectations for onCallEvent method. 10. Expanded documentation for sendConnectionEvent method to clarify namespacing, use cases, etc. Bug: 29759275 Bug: 29759954 Bug: 29759773 Change-Id: Ib8c983af4dbbfee68edb60937b268e2c1a9b5e64
* Add disable add call during video call extra and carrier config keyHall Liu2016-06-271-0/+8
| | | | | | Bug: 29047863 Change-Id: I977041ec72968bdccc69a706e27dd4b5ec336ba7
* Add onConferenceSupportedChanged callback, carrier config.Tyler Gunn2016-06-271-0/+15
| | | | | | | | | | | Used to inform listeners when a connection can or cannot be part of a conference. Used to inform the conference controller so that it can recalculate the conferencable connections. Adding carrier config for carrier requirement. Bug: 29059073 Change-Id: Iab028fd44d87c8dc2bbbe8bba7ba9ccdc223fe51
* Add support for dropping fg video call on answer of audio call.Tyler Gunn2016-06-231-0/+8
| | | | | | | | | | | | | | | | | | Adding two new carrier config options: 1. treat_downgraded_video_calls_as_video_calls_bool - when there is an ongoing call which was previously a video call (or is currently video call), some carriers require that this is treated as if it is a video call for telephony logic such as in (2). 2. drop_video_call_when_answering_audio_call_bool - if the user is in an active video call (see (1)) over wifi, and an incoming audio call comes in, when this carrier config option is "TRUE", the video call will be dropped when the audio call is answered. Adding new connection extra to indicate to the dialer app that answering a ringing call will cause the current active video call to drop. Bug: 29275420 Change-Id: Ied5dbabc8ff09045ba41c5eba2136adad10db80e
* Merge \"Handle Concurrency issues in Connection\" into nyc-devBrad Ebinger2016-06-151-18/+35
|\ | | | | | | | | | | am: df41725e53 Change-Id: I0332df9dc96086a3094dc4ab53573b5cf57f8730
| * Handle Concurrency issues in ConnectionBrad Ebinger2016-06-151-18/+35
| | | | | | | | | | | | | | | | | | | | Currently, there is a possibility of concurrent thread operations to the Extras bundle in Conference/Connection. This can cause unexpected behavior. We have added a lock on the Extras to prevent that from occuring. Bug: 29330310 Change-Id: Id63a9797c2f748120a3df8e3ce06c4ce3891c651
* | Merge "Add EVENT_CALL_MERGE_FAILED Connection Event" into nyc-mr1-devBrad Ebinger2016-06-131-0/+6
|\ \
| * | Add EVENT_CALL_MERGE_FAILED Connection EventBrad Ebinger2016-05-311-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, if a call merge failure occurs, we can not try again because the merge button "gets stuck". This change adds a new Connection Event that notifies the InCall UI to enable the merge button so that the user can try again. Bug: 28847375 Change-Id: I376f6ee446e135577a54aa36ff1dfc77af87261a
* | | Adds CDMA Voice Privacy Property to CallBrad Ebinger2016-06-031-1/+9
|/ / | | | | | | | | | | | | | | Adds the CDMA Enhanced Voice Privacy Property to a Call when it has been enabled for the call by the network. Bug: 26931679 Change-Id: I1f5b4a4fb22fe6aaaf0c424ef11925c6058c6e82
* | Add removeExtras(String...) prototype per API review.Tyler Gunn2016-05-101-2/+12
| | | | | | | | | | | | | | Per API review, adding a convenience prototype of the removeExtras method. Bug: 28295516 Change-Id: Icc0e040516c06205540c5683bde16882a73a89d6
* | Un-@hide multi-endpoint APIs.Tyler Gunn2016-05-061-19/+11
|/ | | | | | Bug: 28621640 This reverts commit 1bf206b766654ea9c4e9bc7a703a9d5f1d30ab72. Change-Id: If8c85e4adeb017eec2b7e8199010deae2a920c6a
* Hide multi-endpoint APIs.Tyler Gunn2016-04-151-11/+19
| | | | | | | | Per feature council decision, the multi-endpoint APIs will be @hide for the N release. Bug: 28196918 Change-Id: Ia80b089bc754ce87ca208382eb79442b5265844d
* Merge "Add missing null checks on Conference and Connection." into nyc-devTyler Gunn2016-03-291-3/+5
|\
| * Add missing null checks on Conference and Connection.Tyler Gunn2016-03-291-3/+5
| | | | | | | | | | | | | | Also add missing bundle passing for Connection Events. Bug: 27850430 Change-Id: I0f79635929cbe5da18b528b6c1119c7ce4d8e32b
* | Add connection properties to Connections.Tyler Gunn2016-03-241-41/+107
|/ | | | | | | | - 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-3/+159
| | | | | | | | | | | | | | | | | 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
* Un-hide Connection#onReject(String) and its associated capabilityHall Liu2016-03-151-4/+2
| | | | | | | The capability is CAPABILITY_CAN_SEND_RESPONSE_VIA_CONNECTION Bug: 27501686 Change-Id: Id73bb99650ca8440a9f4e87bfe533a97c4d19778
* Add API support for multi-endpoint.Tyler Gunn2016-03-141-7/+89
| | | | | | | | | | | | | | | | | | | | | | | | | 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/+32
| | | | | | | | | 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 capability to determine if downgrade to audio is denied.Tyler Gunn2016-01-191-1/+19
| | | | | | | | | By default we assume downgrade to audio is permitted; this capability probides a means for a carrier to specifically deny that. Bug: 22728624 Change-Id: I75e0a5b9e5ad2d970003a4691b6fc0ac0dcfe9e0
* Fix capability/property checking methods to handle multi-bit capabilities.Tyler Gunn2015-12-181-1/+1
| | | | | | | | | | | | | Some capabilities, such as CAPABILITY_SUPPORTS_VT_LOCAL_BIDIRECTIONAL are defined in terms of other capabilities; eg: CAPABILITY_SUPPORTS_VT_LOCAL_RX | CAPABILITY_SUPPORTS_VT_LOCAL_TX The current capability logic will return TRUE if checking for CAPABILITY_SUPPORTS_VT_LOCAL_BIDIRECTIONAL and either of the TX or RX bits is on; which is incorrect. Yay cts tests for finding this. Bug: 26272951 Change-Id: I55a5676674ee74e213deb3a07e226b04a37d10ee
* Merge "Add callback for connections to be notified when the ringer is ↵Bryce Lee2015-11-301-0/+7
|\ | | | | | | | | | | | | | | | | silenced." into cw-e-dev am: 52bdf11583 am: b241487c16 am: 64e41590d2 am: 0ca7de9031 * commit '0ca7de90310034d118f21343a69a38ebc02dd0bc': Add callback for connections to be notified when the ringer is silenced.
| * Add callback for connections to be notified when the ringer is silenced.Bryce Lee2015-11-171-0/+7
| | | | | | | | | | Bug: 25644529 Change-Id: Ie7dc9028cf6243d98b2d87ca4c8b3ffcd31e3676
* | Merge "Support for Telecom Call IDs."Tyler Gunn2015-09-171-0/+24
|\ \ | |/ |/|
| * Support for Telecom Call IDs.Tyler Gunn2015-09-011-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for caching telecom call ID in connection and conference classes. Enhance connection service call ID generation: For "existing calls", the connection service will try to use a call ID of the format ClassName@ID Where ClassName is the ComponentName of the connection service, and ID is a unique incrementing ID for the connection service. Bug: 23357902 Change-Id: I2284b018465e2b330fc8a3b556758e9f34a2daba
* | Add capability for a connection hand rejection text response.Bryce Lee2015-08-281-1/+19
|/ | | | Change-Id: Id90417736bed7ab8750144ccaf3c7b449ec832b8
* Correctly hide setConnectionServiceYorke Lee2015-08-041-1/+1
| | | | | Bug: 22957023 Change-Id: Ia3bd74f2fcc9f9dd5c9298f4505c18ee652436be
* Add telecom extra keys required for DMR release.Tyler Gunn2015-07-301-0/+23
| | | | | Bug: 22848290 Change-Id: I3328234e3f07d83d0dbe5b61b959344b6cc5cc3f
* Maintain call time across SRVCC (2/3).Roshan Pius2015-07-151-0/+26
| | | | | | | | | | | | When an IMS conference call encounters an SRVCC event requiring a fallback to GSM/CDMA, we need to maintain the call time for the conference host across this fallback. So, adding a connectTime attribute in the underlying conference host's connection object which can be used to account for the call time from the now inactive conference call into the new call created. BUG: 21918593 Change-Id: I13e7ae6e31f004e798776c02ac7a6ac09a10f0bd