summaryrefslogtreecommitdiff
path: root/telecomm/java/android/telecom/Conference.java
AgeCommit message (Collapse)Author
2021-01-20Annotation and doc improvement for adhoc conference APIs.Grace Jia
Annotate Conference#onAnswer with @VideoState Mark parameters of adhoc conference APIs with @NonNull. Document the distinction between returning null and returning a failed conference. Bug: 165801368 Test: make Change-Id: Ic0bd1a1e431ca0dec52afc8a28996929684236ba
2020-10-19Remove @TestApi from @SystemApi symbolsAnton Hansson
I ran these commands: cd frameworks/base grep -rl '@TestApi' --include '*.java' | xargs perl -i -p0e \ 's/\@SystemApi[\s\n]+(\@\w+[\s\n]+)?\@TestApi/\@SystemApi\1/gs' grep -rl '@TestApi' --include '*.java' | xargs perl -i -p0e \ 's/\@TestApi[\s\n]+(\@\w+[\s\n]+)?\@SystemApi/\1\@SystemApi/gs' Bug: 171179806 Test: m checkapi Change-Id: I772790b783b0a8730b8bf680c9e569a886b8d789 Merged-In: I772790b783b0a8730b8bf680c9e569a886b8d789
2020-07-27Expose adhoc conference calling API as public.Grace Jia
Bug: 159944852 Test: make Change-Id: I2cf39a6fd8a02ca4f2d0c83c484ab12bb13f74c3
2020-05-11Ensure conference state is posted to Telecom for new conferences.Tyler Gunn
There is an edge-case where an IMS conference fails to merge two participants into a conference, AND the conference event package comes in before the ImsCall indicates it is multiparty. In this case, the CEP will have a single participant which means we'll treat the call as a standalone call. ImsConference correctly sets the conference state, but this was previously just passed along the ConnectionService adapter to Telecom. In this case the conference isn't even added to Telecom so the method call in effect does nothing. Changed to cache the conference state and ensure when adding the conference to Telecom that we call the setConferenceState method (yeah, could have put this in the ParcelableConference, but this is an edge case). Test: Wrote unit test to verify property is set. Bug: 134047008 Fixes: 155097934 Merged-In: I203880c593f6bac471a06eb9dcbb529d0bb75ba5 Change-Id: Ib48437abb1295d147e227727ce4ff2996f28b5de
2020-04-23Merge "Add a new call direction parameter to conferences for multiparty"Brad Ebinger
2020-04-20Add a new call direction parameter to conferences for multipartyBrad Ebinger
1) Refactor ParcelableConference - too many optional params 2) Add a new call direction parameter for external multiparty call scenarios, where a conference is assigned a direction. Bug: 153595501 Fixes: 154246448 Test: atest TelecomUnitTests TeleServiceTests Merged-In: Icb576a07b9a7a81e228babfea53474be83da7593 Change-Id: Icb576a07b9a7a81e228babfea53474be83da7593
2020-04-20Add new @hide API to pass call direction changes through TelecomBrad Ebinger
Bug: 153277327 Fixes: 154245581 Test: atest TelecomUnitTests Merged-In: Icad12c4144bf185c24ee80bcbdd1aec29550bf4e Change-Id: Icad12c4144bf185c24ee80bcbdd1aec29550bf4e
2020-02-13Merge "API Review cleanups."Tyler Gunn
2020-02-13API Review cleanups.Tyler Gunn
- New @SystemApis on Conference and PhoneAccount were missing the required permissions annotations. - Rename PROPERTY_ASSISTED_DIALING_USED to PROPERTY_ASSISTED_DIALING - Standardize get/setConnectionStartElapsedRealtimeMillis method naming across Connection and Conference classes. - Clarify Conference#sendConferenceEvent API documentation to match the docs present for similar method in Connection; include some examples of valid event/extras combinations. - Update TelecomManager#getDefaultdialerPackage to use UserHandle instead of userId. - Move Conference#getConnectionStartElapsedRealtimeMillis to public API since the setter is already part of the public API. Test: Run Telecom and Telephony CTS tests. Test: Run Telephony unit tests. Test: Perform manual single-party-conference regression test to confirm that conference behavior does not regress. Bug: 147301297 Bug: 148286830 Bug: 148284863 Bug: 148284843 Bug: 148287068 Bug: 148285484 Bug: 148285560 Change-Id: I1f446d81859fa109d74af3661a42a0bd224de5aa Merged-In: I1f446d81859fa109d74af3661a42a0bd224de5aa
2020-02-11Mark adhoc conference call APIs as @hide.Tyler Gunn
Test: make -j update-api Test: Run unit tests Bug: 62151032 Change-Id: I8fe9c4d2c9a8861deea3a0def82c432762cd1222
2020-02-11Ims: Add support to add participants to existing callRavi Paluri
Supports initiation of a conference call by directly adding participants to existing call Test: Manual Bug: 62151032 Change-Id: I4e60efafab4761ae65a460fdc6c4cacc3e233220
2020-02-10Hide Adhoc conference call API.Tyler Gunn
Marking the adhoc conference call API as @hide. Test: make -j update-api Bug: 148165780 Change-Id: I447ec317c66f0c1b4e7a828635b5dcf8b144e32a
2020-01-22Ims: Add support for Adhoc Conference callsRavi Paluri
Add support for Adhoc Conference calls Test: Manual Bug: 62151032 Change-Id: Id50d235595d2133f867848ffdebdfe11e2f1c896
2019-12-27Moved RilRadioTechnology annotationDaniel Bright
Moved annotation from Annotation to ServiceState Bug: 146084549 Test: FrameworkTests, TeleServiceTests Change-Id: I2411052465204d87cb5982102df0fd1af012a97c Merged-In: I2411052465204d87cb5982102df0fd1af012a97c
2019-11-20telephony annotations part 2Chen Xu
adding missing annotations Bug: 140908357 Test: Build Merged-In: I6de632ef7ef01a939971b7d1bacb227ec5ff4048 Change-Id: I6de632ef7ef01a939971b7d1bacb227ec5ff4048 (cherry picked from commit f85cf993d38462a45a7c4c4ab623742a13a7c4e8)
2019-11-08More telephony updates for mainline.Tyler Gunn
Add new TelecomManager#getDefaultDialerPackage which is multiuse aware; this is used when showing the voicemail notification. Remove some @hide methods from Conference; push these inline. Move ConferenceParticipantConnection into frameworks/opt/net/ims since it is just an IMS implementation detail. Bug: 141576016 Test: Manual smoke test. Test: Run unit tests. Test: Run CTS tests. Change-Id: I39b6955cb14cc1ca68b05c620c3d09a2cdfe30c9 Merged-In: I39b6955cb14cc1ca68b05c620c3d09a2cdfe30c9
2019-05-31Enhancements to conference for non-conference host scenarios.Tyler Gunn
When a device A creates a conference call containing device B and C, both B and C can receive IMS signaling to indicate that they are in a conference call. This occurs on most domestic carriers; the Telephony framework uses the "multiparty" indicator on the IMS call to switch the call to a conference call. We made some changes to how conference calls are logged in Q which improves the accuracy of the call durations. We used to log calls as they're merged into a conference. In the case of a participant in a remotely hosted conference call, we'd log the call as soon as they are remotely added to the conference. This is unfortunate as the call durations are grossly under-reported. The conference call logging changes now assume we'll log the conference event package children in the conference instead of the participants which merge into the conference itself. On domestic carriers, since the call on B (or C) becomes a conference, we would then no longer log the call. This is FURTHER complicated because on some carriers, B and C will ALSO receive a conference event package from the network showing all the participants in the conference. So if B hangs up on the conference, they will have entries in their call log for A and C, which is really strange because a call to C was never originated on their device. In Telecom we need to ensure we do not log remotely hosted conference participants, and we need to ensure that we DO log a remotely hosted conference as if its just a single party call. To accomplish this we need: 1. the address and name display information associated with the call from A-B / A-C prior to the call turning into a remotely hosted conference. We need this to log to the call log 2. the remotely hosted conference and participants need to be marked in a manner that Telecom can identify them. Test: Manual test. Test: Add unit test to cover this logging scenario. Bug: 132325382 Change-Id: I65e713f68d1695a48d96dacbf7faa4476cd8d815
2019-04-16Make connection events work for conferencesHall Liu
Pipe through the onConnectionEvent call between the conference host connection and the android.telecom.Conference object. Fixes: 130404376 Test: manual Change-Id: Ifad3e59dc9764aa2efb2b9766271e18853bf1c76
2019-02-04Expose some APIs as test APIs to facilitate CTSTyler Gunn
Test: added new cts tests Bug: 123896388 Change-Id: I742f23be57e731307338591d816f7888e198b333
2019-01-19Support for treating single party IMS conference as a standalone call.Tyler Gunn
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
2018-09-19Propagates voice call radio technology to connectionWei Huang
This patch mainly takes below changes: 1) Add new extra to indicates the call network technology. 2) Provides basic function to set/get call radio technology. Bug: 67856372 Test: Manual Change-Id: I1a12382fdb589ce823fe7af025832db4cdc152c2
2018-02-12Rename Conference#setConnectionElapsedTime to clarity.Tyler Gunn
Change name of conference connection elapsed time method to make it more clear what it is for. Updated documentation of this method and its companion to make it more clear what they are for. Test: Compile - this is a docs and naming change only. Bug: 70639525 Change-Id: I02662cb0331cba0d1fe2d4353438a68f334f9192
2017-08-24Merge "Track conference start in system elapsed time."Tyler Gunn
am: 3b166fba8a Change-Id: I8b78aaa447adcc1bfce0fec8f50857daa37d0575
2017-08-22Track conference start in system elapsed time.Tyler Gunn
This is important so that Telecom can track the duration of the call, which is tracked using wall clock time. Test: Manual, unit test Bug: 64068300 Change-Id: If642d282cd8134060acf6ffe8d81215c394d800c
2017-08-01Remove Conferenceable update squelchingBrad Ebinger
In an effort to remove redundant updates to Telecom, conferenceable connection updates for a conference were being removed if the list of connections hasn't changed. For GSM, when a new outgoing call was placed, it was added to the conference controller before being added to the list of connections. The conference controller was updating the conferenceable connections for that conference with a connection that wasn't being tracked yet, so it was not notifying telecom of the connection. It was still added to the list of conferenceable connections in the conference, however, so later conferenceable updates were being disregarded before being sent to Telecom. This change removes conferenceable update squelching so that we always update telecom with the correct conferencable connections for a conference. Bug: 37989809 Test: Manual, Procedure in Bug, unit tests Change-Id: I62960df9db27f0b303431aef99e73ef87498d374
2016-12-07Add carrier configuration options to allow enforcing max conference size.Tyler Gunn
Adding carrier config options to to allow enforcing a maxmimum size for IMS conferences. Also adding small performance enhancement to setConferenceables so that if the list of conferenceable connections does not change it does not send an update to listeners. Test: Manual Bug: 29548224 Change-Id: I109c91c4147814547bb75003d312d81d41a52c13
2016-06-29API cleanups per API review.Tyler Gunn
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
2016-06-15Merge \"Handle Concurrency issues in Connection\" into nyc-devBrad Ebinger
am: df41725e53 Change-Id: I0332df9dc96086a3094dc4ab53573b5cf57f8730
2016-06-15Handle Concurrency issues in ConnectionBrad Ebinger
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
2016-05-10Add removeExtras(String...) prototype per API review.Tyler Gunn
Per API review, adding a convenience prototype of the removeExtras method. Bug: 28295516 Change-Id: Icc0e040516c06205540c5683bde16882a73a89d6
2016-05-06Un-@hide multi-endpoint APIs.Tyler Gunn
Bug: 28621640 This reverts commit 1bf206b766654ea9c4e9bc7a703a9d5f1d30ab72. Change-Id: If8c85e4adeb017eec2b7e8199010deae2a920c6a
2016-04-15Hide multi-endpoint APIs.Tyler Gunn
Per feature council decision, the multi-endpoint APIs will be @hide for the N release. Bug: 28196918 Change-Id: Ia80b089bc754ce87ca208382eb79442b5265844d
2016-03-29Merge "Add missing null checks on Conference and Connection." into nyc-devTyler Gunn
2016-03-29Add missing null checks on Conference and Connection.Tyler Gunn
Also add missing bundle passing for Connection Events. Bug: 27850430 Change-Id: I0f79635929cbe5da18b528b6c1119c7ce4d8e32b
2016-03-24Add connection properties to Connections.Tyler Gunn
- Per suggestion of API council, moving properties of a Connection from CAPABILITIES_* to PROPERTIES_*. Bug: 27458894 Change-Id: Icce921b03cda514a991646ed39a26559c7e91230
2016-03-23Expand call/connection extras API.Tyler Gunn
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
2016-01-25IMS Connection Capabilities UpdateOmkar Kolangade
IMS connection capabilities were not getting propagated to the upper layers whenever a capability was added or removed. Adding the same. Change-Id: Ic67d76df05c8b2a1b8abaf27f266fe9693764e52
2015-12-10merge from masterJack Yu
Change-Id: Ic03669db3f4595336a7dbc13ffc77d055d11acf9
2015-06-03API Cleanup: Remove VideoState class.Tyler Gunn
- Remove VideoState class. - Replace references to VideoState constants with VideoProfile equivalent. - Push VideoState static methods into VideoProfile. Bug: 21573551 Change-Id: I1bca02772b5b7d86643f612824b07faef7618725
2015-06-01IMS: Conference fixesTyler Gunn
- Set phoneaccount to Conference - Handle conference call in DIALING state Change-Id: I549bf664724473f0d5d4450cbc8d96f7b534f43a Bug: 21376607
2015-05-28Add extras to Connections/Calls. (1/3)Santos Cordon
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
2015-05-13Make Conferenceable an abstract classYorke Lee
Bug: 21066017 Change-Id: Ibcbccfc7b1380e417b464aed9b968cbc0a6a1cc2
2015-05-13Rename AudioState to CallAudioStateYorke Lee
Deprecate AudioState class and make methods @SystemApi where necessary to minimize impact to SystemApi Replace usages of AudioState inside Telecom sub-systems Fire both onCallAudioStateChanged and onAudioStateChanged callbacks for backward compatibility Support both setAudioState and setCallAudioState for all classes Bug: 21040387 Bug: 21088300 Change-Id: I3ec7b3afdaa344c6d639d1c421f1842d67f7d0f7
2015-05-12More video related API fixesYorke Lee
android.telecom.Connection.VideoProvider * onSetPauseImage takes Uri instead of String * changeCallDataUsage -> setCallDataUsage * add quality constants to changeVideoQuality() docs android.telecom.InCallService.VideoCall * setPauseImage takes Uri instea dof String android.telecom.VideoProfile.VideoState * Move constants to VideoProfile, prefix with STATE_ Bug: 21040387 Bug: 21066505 Change-Id: I764e72aced9d1e2d30d6d0cf0862100860d47c79
2015-05-12Fix build break.Santos Cordon
Change-Id: Icca3603d3f4a38146fb9bc04a384a22ece4014f4
2015-05-12Rename Connection time APIs for Conference.javaSantos Cordon
Bug: 21072487 Change-Id: I7bed9957770639f2adf3c7bd31a4821c0ff0f0dd
2015-05-08Un-@hiding some missed VT APIs.Tyler Gunn
Bug: 20947116 Change-Id: Idda9b7c7debafbea8c42eaadb75c3375b2c8ddb2
2015-04-24Merge commit '7f61051' into merge2Etan Cohen
2015-04-20API Cleanup - rename IConferenceable to Conferenceable.Tyler Gunn
Bug: 20165255 Change-Id: If4cb323749b6ef9e8657506434d760d07c34167f
2015-04-16resolve merge conflicts of edc625f to m-wireless-dev.Andrew Lee
Change-Id: Ibbcd764505ccc38f9f61c96993d979a099f1cc6b