Commit Graph

166 Commits

Author SHA1 Message Date
Tyler Gunn
4b033d7316 Merge "CallDiagnosticService API" am: c90335033b am: 9882ff4bf8 am: d3bf1aa209
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1607109

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ie91efc29698d27946f83b751bef2fe89d612c9a2
2021-03-03 00:16:56 +00:00
Tyler Gunn
d582184178 CallDiagnosticService API
The CallDiagnosticService API is an OEM-backed API which allows an OEM
provided app to monitor the state of ongoing telephony calls on the
device and to help the user navigate connectivity or audio issues
related to these calls.  It also provides a means for the app to send
and receive device to device messages between devices during an ongoing
call (where supported) in order to facilitate a better calling experience.

Test: Added new CTS test suite for API.
Test: Manual test of CDS behavior using telecom command line option to
override the active CDS to the telecom test app implementation.
Bug: 163085177

Change-Id: I1f37408d2aa6c630f0f9e3d6b6eb8a390d804d7e
2021-02-25 23:08:29 +00:00
Sooraj Sasindran
64f05b101d Introduce IMS Cross SIM registration
Introduce IMS Cross SIM registration

Bug: 171391883
Test: Build
Change-Id: Idd79a0a1f453a36587b89257e88437c96bf6ff4e
2021-01-12 04:51:05 +00:00
Hall Liu
dc46c85da6 Update docs for RttCall#write
Update docs to clarify some confusion over recommended behavior for
paste/autocomplete operations.

Bug: 171986522
Test: docs only
Change-Id: I0515319a1aff00640fb4557584b17f10126eb215
2020-10-29 16:25:05 -07:00
Anton Hansson
dd7d52f963 Remove @TestApi from @SystemApi symbols
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-10-19 16:41:01 +01:00
Tyler Gunn
f83bccb02f Merge "Add clarification text on getCallerNumberVerificationStatus docs." 2020-10-09 17:07:40 +00:00
Tyler Gunn
9c64249ea2 Add clarification text on getCallerNumberVerificationStatus docs.
Update API docs to make it clear what the verification status means and how
it can be used by CallScreeningService and CallRedirecitonService
implementations.

Test: Build API docs and view offline.
Bug: 150343312
Change-Id: I56f92f5e3ab544e31337a8147134baac33bb4ea9
2020-10-08 13:37:03 -07:00
Tyler Gunn
434fc2c524 Clarify API docs for getCannedTextResponses.
The API docs do not clearly indicate the fact that canned text responses
may not be available when a call is first added.  Updating the API docs
to clarify this and reference the listener a developer can use to be
informed of changes to the canned responses.

Test: Docs only change.
Bug: 162843384
Change-Id: I52ced96439b2dfa31c1f2428979ab54466763afa
2020-10-06 14:23:54 -07:00
Xin Li
628590d7ec Merge Android R (rvc-dev-plus-aosp-without-vendor@6692709)
Bug: 166295507
Merged-In: I3d92a6de21a938f6b352ec26dc23420c0fe02b27
Change-Id: Ifdb80563ef042738778ebb8a7581a97c4e3d96e2
2020-08-31 21:21:38 -07:00
Tyler Gunn
a005cb30ed Merge "Update language to comply with Android's inclusive language guidance" 2020-07-30 20:42:55 +00:00
Tyler Gunn
460360d6b8 Update language to comply with Android's inclusive language guidance
See https://source.android.com/setup/contribute/respectful-code for reference

Test: Presubmit
Bug: 161896447
Change-Id: I4142f4819f5ed3e2ffddf471b90923985e72523a
2020-07-29 10:23:07 -07:00
Grace Jia
8587ee5cd5 Expose adhoc conference calling API as public.
Bug: 159944852
Test: make
Change-Id: I2cf39a6fd8a02ca4f2d0c83c484ab12bb13f74c3
2020-07-27 11:18:36 -07:00
Tyler Gunn
460b7d49a1 Update audio processing API docs.
Updating the audio processing API docs to mention the fact that the app
must indicate in their InCallService and CallScreeningService service
entries that the service type is for "microphone" access, otherwise
background audio access will not be permitted.

Test: Docs only change.
Bug: 156042528
Change-Id: I3576dba445497791e6fa4e0a2fa42cf10eb1df5b
2020-05-15 10:19:32 -07:00
Hall Liu
135e53aaff Update docs for getGenericConferenceActiveChildCall
Update the documentation for getGenericConferenceActiveChildCall to make
it more clear what a generic conference is and which call the method
will actually return.

Fixes: 148515394
Test: none, docs only change
Change-Id: Idfee3fc23c7f6035f7b980fbb4dfe68c2834c388
2020-03-25 17:48:15 -07:00
Hall Liu
5508591b92 Update docs for getGenericConferenceActiveChildCall
Update the documentation for getGenericConferenceActiveChildCall to make
it more clear what a generic conference is and which call the method
will actually return.

Fixes: 148515394
Test: none, docs only change
Change-Id: Idfee3fc23c7f6035f7b980fbb4dfe68c2834c388
2020-02-27 18:35:14 -08:00
Ravi Paluri
f4b38e7ff1 IMS: Add support for IMS Explicit call transfer
Test: Manual
Bug: 62170207
Change-Id: I06a256adb0e1910d40809c91bcdd42c56a142842
2020-02-14 11:02:09 +05:30
Tyler Gunn
f2a5615087 Merge "API Review cleanups." 2020-02-13 18:16:25 +00:00
Tyler Gunn
c9503d6ea6 API Review cleanups.
- 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-13 16:53:42 +00:00
Tyler Gunn
0c62ef09bb Mark adhoc conference call APIs as @hide.
Test: make -j update-api
Test: Run unit tests
Bug: 62151032
Change-Id: I8fe9c4d2c9a8861deea3a0def82c432762cd1222
2020-02-11 14:39:43 -08:00
Ravi Paluri
404babbb98 Ims: Add support to add participants to existing call
Supports initiation of a conference call
by directly adding participants to existing call

Test: Manual
Bug: 62151032
Change-Id: I4e60efafab4761ae65a460fdc6c4cacc3e233220
2020-02-11 13:30:38 -08:00
Tyler Gunn
a967af5514 Hide Adhoc conference call API.
Marking the adhoc conference call API as @hide.

Test: make -j update-api
Bug: 148165780
Change-Id: I447ec317c66f0c1b4e7a828635b5dcf8b144e32a
2020-02-10 15:19:07 -08:00
Tyler Gunn
facfdee122 Add support for rejecting Telecom call with a specified reason.
Adding a new Call API which supports passing a user-specified call
rejection reason down to the lower layers for reporting to the network.
Part of the VERSTAT spec involves support for this type of signaling, so
it makes sense to also support it here as well.
There are two potential types of reject reason:
declined - user declined the call because they want it to go to voicemail
or don't want to talk to the caller right now.
unwanted - this is a nuisance call and the user never wanted to receive it.

Bug: 135929421
Test: Added new CTS test to validate API pathways.
Test: Ran existing telecom and telephony unit tests.
Test: Modified test dialer app to use the new reject API and verified that
the reject reason signals down to the modem and translates to the correct
reject cause.

Change-Id: I6f25fafa2b2620e2839e5d3a9fb986f1130fa165
2020-01-23 13:10:37 -08:00
Treehugger Robot
0ab00030a2 Merge "Ims: Add support for Adhoc Conference calls" 2020-01-22 21:16:19 +00:00
Ravi Paluri
80aa2140e3 Ims: Add support for Adhoc Conference calls
Add support for Adhoc Conference calls

Test: Manual
Bug: 62151032
Change-Id: Id50d235595d2133f867848ffdebdfe11e2f1c896
2020-01-22 03:22:58 +00:00
Hall Liu
ef98bf8300 Add additional APIs in Call for Bluetooth
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-15 11:17:18 -08:00
Artur Satayev
53ada2ab28 Use new UnsupportedAppUsage annotation.
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
2020-01-14 15:54:55 +00:00
Austin Wang
a63a2c0130 Revert "Use new UnsupportedAppUsage annotation."
This reverts commit a5264903e2.

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-19 06:38:19 +00:00
Artur Satayev
a5264903e2 Use new UnsupportedAppUsage annotation.
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-18 12:07:36 +00:00
Tyler Gunn
4efe689e4c Merge "Add Verstat fields to Telecom call/connection classes." 2019-12-05 23:58:45 +00:00
Hall Liu
cebf791676 Merge "Change name of setShouldScreenCallFurther" 2019-12-04 00:28:48 +00:00
Tyler Gunn
d57d76c371 Add Verstat fields to Telecom call/connection classes.
Test: Added new CTS tests to verify operation.
Bug: 135929421
Change-Id: I42360dad677060e03ecec865f31145b1760cf46a
2019-12-02 13:59:17 -08:00
Tyler Gunn
398794c0a6 Merge "Cleanup video provider binder code." 2019-11-12 20:47:38 +00:00
Tyler Gunn
d1fdf3a85b Cleanup video provider binder code.
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-11-12 10:43:09 -08:00
Hall Liu
69554cff8d Change name of setShouldScreenCallFurther
Change the name of the method to setShouldScreenCallViaAudioProcessing
Also remove some commented out lines

Fixes: 143564665
Test: CTS
Change-Id: Ib163e3dad49ad2301238256339be9bb3ba5fec3a
2019-11-11 17:44:09 -08:00
Tyler Gunn
5567d7408c More telephony updates for mainline.
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-11-08 21:27:32 +00:00
Hall Liu
e87b7156c9 Merge "Add logging values for new call states" 2019-10-22 23:10:58 +00:00
Hall Liu
4e35b64bc3 Add logging values for new call states
Add the string values for the new call states so we don't get warnings
about unknown states in the logs.

Bug: 140317205
Test: manual
Change-Id: Ia6a27179639748287436a0785a03201985d8ab50
2019-10-14 17:50:45 -07:00
Hall Liu
31de23da21 Add SDK compatibility code for new call states
Add code that translates the new call states to old call states for
in-call UIs that don't yet support background call screening.

Test: CTS
Bug: 140317205
Change-Id: I104f5f7ab3e3dc075e1d9ed5c64fcd924f9a977b
2019-10-11 17:59:42 -07:00
Hall Liu
6dfa249c88 Add APIs to support background call screening
Add Telecom APIs and AIDL code.

Test: CTS
Bug: 140317205
Change-Id: I99970f5ce12442f307a656db76cb26f5101e6c7f
2019-10-01 17:40:32 -07:00
Usman Abdullah
b0dc29a875 Add silence support to CallScreeningService/Call API
Test: CTS
Test: Unit Tests
Test: Manual
Bug: 126590377
Bug: 122671585

Change-Id: I4e7c67784198678eef1926759ec1d8afb98438f4
Merged-In: I4e7c67784198678eef1926759ec1d8afb98438f4
2019-06-04 15:38:07 +00:00
Tyler Gunn
61460ac068 Remove call identification APIs.
Removing the CallIdentification API surface.

Test: Build, run tests.
Bug: 129531123
Change-Id: I5f1451ffba04ee438df739a17472c028c44f19b2
Merged-In: I5f1451ffba04ee438df739a17472c028c44f19b2
2019-04-02 00:38:48 +00:00
Tyler Gunn
94f8f11342 Call Screening / Caller ID API Changes
- 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
Merged-In: Ic4547b8ead791690305f7be58e43272c4155b7fb
Change-Id: Ic4547b8ead791690305f7be58e43272c4155b7fb
2019-01-29 14:45:55 -08:00
Tyler Gunn
d081f04bbe Add CallerIdentification to CallScreeningService API.
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.
Merged-In: Ie6c172c09007eb5f4853d36ae0a99b782bfb5ddb
Change-Id: Ie6c172c09007eb5f4853d36ae0a99b782bfb5ddb
2019-01-11 11:26:48 -08:00
Tyler Gunn
c3275b673c Merge "Update CallScreeningService API docs." 2018-12-14 15:06:53 +00:00
Hall Liu
34d9e24008 Add docs and more annotations
Add docs to some constants in PhoneAccountSuggestion and add @TestApi
annotations to enable CTS testing for the new APIs.

Test: compiles
Bug: 111455117

Change-Id: I2b55a411ff4f0da37eefa0996f7316ea53bca41d
2018-12-10 18:41:01 -08:00
Tyler Gunn
3cd820f66d Update CallScreeningService API docs.
Cleanup some formatting issues.
Update the docs to more clearly indicate what data will be passed
to the CallScreeningService about a call.
Update the docs to clearly indicate the new behavior for setSkipCallLog
with respect to logging of calls.

Bug: 63966743
Test: API doc only change; build.
Merged-In: I5daeea32f6cfbef1b94105a826925a878ac98596
Change-Id: I5daeea32f6cfbef1b94105a826925a878ac98596
2018-12-07 21:42:01 +00:00
Tyler Gunn
6e3ecc40f8 Unsupported app usage API cleanup
This CL includes a number of cleanups related to unsupported app usage
tags.

TelecomManager#EXTRA_IS_HANDOVER - public APIS exist for this usecase;
updated docs and limit to P with maxtarget sdk.
TelecomManager#getSimCallManager(int userId) - marked as max target P;
there is a public API available which can be used to accomplish the same
thing.  Nobody should be calling this.
TelecomManager#getCallCapablePhoneAccounts(boolean) - marked as max
target P; callers should use the version without the boolean parameter.

Deprecate CAPABILITY_CAN_UPGRADE_TO_VIDEO; its redundant.

New public API:
Promote TelecomManager#getSystemDialerPackage() to public API; its a
benign API and doesn't expose anything which can't be inferred other ways.

New system APIs:
TelecomManager#getCurrentTtyMode() - used by settings app.
TelecomManager#setDefaultDialer() - used by useful for settings app.
TelecomManager#TTY_MODE* constants - used by getCurrentTtyMode API.

Test: Compile / run unit tests
Bug: 119305590
Change-Id: I67d6213e6c689fb545fc9ceae4a359831f97c32f
2018-11-12 11:30:56 -08:00
Tyler Gunn
80a5e1e940 Add PROPERTY_VOIP_AUDIO_MODE to android.telecom.Call.
This property is used to report the voip audio mode requested by the
underlying connection.  This is useful for ringing calls and held calls
where the current system audio mode will not necessarily match what the
Connection would use.

Test: Added and ran new CTS tests.
Bug: 110540796
Change-Id: I8c26db4b35de4d40d7b76b3c1adc93223afa104b
2018-10-31 15:09:17 -07:00
Tyler Gunn
6b6ae55f72 Update PROPERTY_HIGH_DEF_AUDIO API docs.
Make it more clear that the intention of the property is to convey whether
a call is high definition on the UI or not, and NOT to report the actual
audio codec in use.

Test: Build
Bug: 78550833
Change-Id: Id002cd1c9cc1d5aea6f8d9ab4e3d99956b7c42b2
2018-10-11 10:42:10 -07:00
Tyler Gunn
5604cc2516 Merge "Mark event-based handover constants as deprecated." 2018-09-26 04:18:35 +00:00