summaryrefslogtreecommitdiff
path: root/telecomm/java/android/telecom/ParcelableCall.java
AgeCommit message (Collapse)Author
2021-03-18Move Call state into Call.DetailsTyler Gunn
The Telecom Call object is primarily a control object which allows control of a call and receipt of events related to a call. The actual properties and data pertaining to a call all exists in Call.Details... except for the call state (RINGING,ACTIVE, HOLD, etc). This CL moves the call state to the Call.Details class to remove this one dangling property of the base Call class. Test: Run Telecom CTS test suite. Bug: 163085177 Change-Id: I59413d3e14d03b48263a5cb351fe4e9a553b578e
2020-04-13Fix parceling and unparceling for URIs in Telecom.Tyler Gunn
When testing parceling and unparceling of numbers with postdial digits it appears in parcelling to the dialer there were some cases where the commas were being URL encoded during parceling. Elsewhere in the platform the Uri.writeToParcel and Uri.CREATOR.createFromParcel methods are used. Switching to those methods ensured that the parceling did not uri-encode on parcel/unparcel. GatewayInfo already used the right method to unparcel. Test: Unit/CTS tests. Fixes: 152172598 Change-Id: I32b7d049107cb3901fd934dc609541d1d2622a5a
2020-01-15Add additional APIs in Call for BluetoothHall Liu
Add additional APIs in android.telecom.Call for consumption by Bluetooth as they move to using an InCallService. Also refactor ParcelableCall to use a builder pattern Fixes: 147445725 Fixes: 147445603 Test: atest CallDetailsTest ConferenceTest Change-Id: I12241b4ceadaa840f6e577bcfa8521375aedcb6a
2020-01-14Use new UnsupportedAppUsage annotation.Artur Satayev
Existing annotations in libcore/ and frameworks/ will deleted after the migration. This also means that any java library that compiles @UnsupportedAppUsage requires a direct dependency on "unsupportedappusage" java_library. Bug: 145132366 Test: m && diff unsupportedappusage_index.csv \ git diff HEAD^ HEAD | grep '^[+-][^+-]' | grep -v '.import' Merged-In: I853372f3c6fef905553bb31be4f1bb48df735f7a Change-Id: I853372f3c6fef905553bb31be4f1bb48df735f7a
2019-12-19Revert "Use new UnsupportedAppUsage annotation."Austin Wang
This reverts commit a5264903e22bc741add895133474ea13a370de4c. Reason for revert: Droidcop-triggered revert due to breakage https://android-build.googleplex.com/builds/quarterdeck?branch=git_master&target=sdk_phone_armv7-sdk&lkgb=6083299&lkbb=6085371&fkbb=6083313, bug b/146533269 Change-Id: Ie5b031d7b277cf0e09b0a9776b26bf74f5f69e70
2019-12-18Use new UnsupportedAppUsage annotation.Artur Satayev
Existing annotations in libcore/ and frameworks/ will deleted after the migration. This also means that any java library that compiles @UnsupportedAppUsage requires a direct dependency on "unsupportedappusage" java_library. Bug: 145132366 Test: m && diff unsupportedappusage_index.csv \ git diff HEAD^ HEAD | grep '^[+-][^+-]' | grep -v '.import' Change-Id: I087bb1cecbe59f1cf0c2e770c735d7a433722c6f
2019-12-02Add Verstat fields to Telecom call/connection classes.Tyler Gunn
Test: Added new CTS tests to verify operation. Bug: 135929421 Change-Id: I42360dad677060e03ecec865f31145b1760cf46a
2019-11-12Cleanup video provider binder code.Tyler Gunn
1. Ensure we always unlink for death from the VideoCallImpl. 2. Ensure we compare the binders in the Call instance properly so that we are not always replacing the VideoCallImpl used. 3. Ensure we cleanup the VideoCallImpl when its being removed. Test: Manual testing of video calls for regressions. Bug: 121156974 Change-Id: I440e8fb4ab9a5051ee02358933c495de736e2bd0
2019-04-01Remove call identification APIs.Tyler Gunn
Removing the CallIdentification API surface. Test: Build, run tests. Bug: 129531123 Change-Id: I5f1451ffba04ee438df739a17472c028c44f19b2
2019-02-28All Parcelable CREATOR fields are @NonNull.Jeff Sharkey
If they were null, then the Parcelable would fail to work. Bug: 126726802 Test: manual Change-Id: I7929ffa2f20e5de1c8e68e8263cca99496e9d014 Exempt-From-Owner-Approval: Trivial API annotations
2019-01-08Call Screening / Caller ID API ChangesTyler Gunn
- Fix bug in call identification parcelable; was reversing the app name and package name. - Add @hide RoleManager consts for the Telecom roles; this will be replaced by values in the library for public consumption as a later date. - Add new call direction attribute to the Call.Details class; this is needed so that a CallScreeningService can know if a call is incoming or outgoing. This way it knows whether it needs to perform call blocking or just caller ID. - Update CallScreeningService API docs to explain how to request the call screening role. - Update InCallService API docs to explain the 3 roles related to this service and how you declare an appropriate IncallService to fill each of them. Bug: 63966743 Test: Manual, CTS Change-Id: Ic4547b8ead791690305f7be58e43272c4155b7fb
2018-12-12Add CallerIdentification to CallScreeningService API.Tyler Gunn
Updating the CallScreeningService to support passing call identification information for incoming/outgoing calls. Updating call log to log call identification information. Bug: 63966743 Test: Manual with test app. Change-Id: Ie6c172c09007eb5f4853d36ae0a99b782bfb5ddb
2018-09-14Move some members to the "Q blacklist".Mathew Inwood
Based on some analysis, these fields/methods are likely false positives. Set maxTargetSdk=P so that any apps using them are required to migrate off them in future. See the bug for more details. Exempted-From-Owner-Approval: Automatic changes to the codebase affecting only @UnsupportedAppUsage annotations, themselves added without requiring owners approval earlier. Bug: 115609023 Test: m Change-Id: I719b5c94e5b1f4fa562dd5d655953422958ad37e
2018-08-01Add @UnsupportedAppUsage annotationsMathew Inwood
For packages: android.telecom.Logging android.telecom This is an automatically generated CL. See go/UnsupportedAppUsage for more details. Exempted-From-Owner-Approval: Mechanical changes to the codebase which have been approved by Android API council and announced on android-eng@ Bug: 110868826 Test: m Change-Id: I04a94d7555be608dc3958787554a3d33b72158ec
2017-03-24Add api to retrieve call creation time.Tyler Gunn
Test: CTS Bug: 36124432 Change-Id: Ic8288dec73adda7870377f189f560acef0a575f6
2017-03-06API review cleanups/changes.Tyler Gunn
- 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
2017-02-21Introduce APIs for RTT calls (part 1)Hall Liu
Add signaling methods and data pipes for handling real-time text during a call. Change-Id: I876827c448252c5f786d7a4919c47891acb03877 Test: manual, through telecom testapps
2017-02-06Perform camera permission and app ops check when setting camera for VT.Tyler Gunn
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
2016-12-13Add ability to set supported audio routes on phone accounts and connectionChristine Hallstrom
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
2015-12-08Remove dependency on android.telecom.Call in VideoCallImpl for testing.Tyler Gunn
VideoCallImpl had a depedency on android.telecom.Call, which was used to get the current video state of a call when the user issues a session modify request (we need to know what the video state was before the request was sent). This proved problematic for unit tests, as android.telecom.Call is a final class and cannot be mocked. These changes assume the VideoCallImpl will instead have a video state property, which is updated by the Call whenever it changes. This removes the dependency on the Call, and makes it possible to unit test the API. Change-Id: Ie67255d68b23e32aa177b30ac6439632fad5cc27
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-06Change sendSessionModifyRequest VideoProvider API signature.Tyler Gunn
Including a fromProfile in addition to the requestedProfile. - Changed VideoCallImpl to generate the fromVideoProfile based on the call's current videoState. This ensures the InCall UI only needs to pass in the new video profile; the VideoCall Impl already has enough knowledge to generate the fromProfile. - Changed VideoCallImpl to track the current videoQuality, which forms a part of the fromVideoProfile. Bug: 20704229 Change-Id: I89f293f03a2b13fc8c1dcfd8a07ab8640d3950e0
2015-04-24Merge commit '7595842' into merge2Etan Cohen
Change-Id: I7e11e98e6d59562374195a8761d64a79dc0268e8
2015-04-16Remove connection substateJay Shrauner
Bug:20300433 Change-Id: Ifefc08b5165de3e0b6ce92007e5f612879dcc4d9
2015-04-16Support for multiple VideoCall.Listeners for a VideoCall.Tyler Gunn
The current code assumes that only a single instance of VideoCall will be provided to the default system InCall UI. Ideally multiple InCallService implementations should be able to use the VideoCall APIs. Note: it only really makes sense for a single InCallService to get/set the video surfaces. - Fixed bug in ParcelableCall which would cause a new instance of VideoCallImpl to be created every time a call is updated from Telecom. Added a flag to ParcelableCall to indicate whether the parcel includes a change to the video provider information, which is used when unparceling to determine whether to set/create the video call impl. - Renamed "setVideoCallback" to "addVideocallback". - Modified Connection.VideoProvider code to keep a list of Video callbacks and fire off all of them when Video Provider changes occur. Bug: 20092420 Change-Id: Ic16b6afe1b7532cc64d006c133adbae57946d97d
2015-04-01IMS-VT: Upgrade/Downgrade changeRekha Kumar
-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
2014-09-16Add new DisconnectCause class to telecomm.Andrew Lee
+ 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
2014-09-12Renaming Telecomm to Telecom.Tyler Gunn
- 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