Commit Graph

64 Commits

Author SHA1 Message Date
Grace Jia
e04723f178 Revert "Add API for cross device calling."
Revert "Add cts tests for new cross device calling api"

Revert submission 16308056-cross-api

Reason for revert: Don't want to launch this in T now
Reverted Changes:
I731226c0b:Add cts tests for new cross device calling api
I1a3aa6c1a:Add API for cross device calling.
I40f78925b:Implement new TelecomManager API for cross device ...

Change-Id: I687d94235b159d8daa20fe75de08394adc39f8c7
2022-02-07 19:42:49 +00:00
Grace Jia
e086d088a9 Add API for cross device calling.
Test: CTS test
Change-Id: I1a3aa6c1ae6d445a2f3b55e5f0d11918da5bed33
2022-01-12 13:50:52 -08:00
Treehugger Robot
57954552ad Merge "API docs clarification for placing calls." 2021-11-11 19:07:28 +00:00
Tyler Gunn
272fd21493 API docs clarification for placing calls.
Clarifying that a dialer app should use TelecomManager to place calls
instead of relying on the Intent#ACTION_CALL intent.

Test: Docs only change.
Fixes: 202033596
Change-Id: Iac9358c5cd069f120a167c96aa6b9462313b2268
2021-10-12 09:22:24 -07:00
Brad Ebinger
550f4dd9a0 Merge "Update API docs for InCallService." am: 733dd0f1e9
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1818366

Change-Id: I54c94567fa6677f1cfe2ca818c889275d8cb6f1c
2021-09-07 17:50:40 +00:00
Tyler Gunn
84421d74db Update API docs for InCallService.
Clarify that InCallService implementations should never indicate that they
are non-exported.

Test: Docs only fix
Bug: 198003282
Change-Id: I85f925775b12c994a028e14d7644c744a252ec33
2021-09-03 14:05:37 -07:00
Tyler Gunn
c0d45c4a42 Merge "Clarify the video API "setZoom" ratio." am: 6cf21bae3b am: 9d0f657ddc
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1737273

Change-Id: Ib914f83b7029d2a2ef3d9584175d2f96944956cd
2021-06-15 16:45:49 +00:00
Tyler Gunn
c603b46215 Clarify the video API "setZoom" ratio.
This should ideally be a valid in terms of the reported camera
characteristics.

Test: Docs only change
Bug: 190804553
Change-Id: I35e0148e6e9d90d991b556e5c6db4bbd77ce39a0
2021-06-14 17:24:40 -07:00
Shuo Qian
93273fd60d Companion InCallService API review
Test: atest; make docs
Bug: 179116441
Change-Id: Id75e727f6c3fc42132a80f7258bf790be79acf19
Merged-In: Id75e727f6c3fc42132a80f7258bf790be79acf19
2021-02-25 22:01:27 +00:00
sqian
7a2b711b00 Companion InCallService API review
Test: atest; make docs
Bug: 179116441
Change-Id: Id75e727f6c3fc42132a80f7258bf790be79acf19
Merged-In: Id75e727f6c3fc42132a80f7258bf790be79acf19
(cherry picked from commit d30bd60beb)
2021-02-25 20:40:12 +00:00
Ashwini Oruganti
f8191e8996 Bulk apply PendingIntent.FLAG_MUTABLE_UNAUDITED.
We've been working hard to require PendingIntents explicitly declare
if they allow their contents to be mutated or not, and to finish
landing that work this change applies the new FLAG_MUTABLE_UNAUDITED
flag to all remaining code locations until they can be manually
inspected.

Bug: 160794467
Test: manual
Change-Id: I8d7ec64ac89755c14b5959bb6ef0bce203c92bf0
2021-01-12 15:07:43 -08:00
Aurimas Liutikas
d23189b998 Suppress all hidden abstract methods in constructable classes.
Having a hidden abstract method for a class that can be extended
means that public implementors cannot implement these hidden methods
posing a risk that custom implementations will not have required
abstract methods resulting in an exception.

Bug: 151134792
Test: make update-api
Change-Id: I758d12465fabc671be19bedeeceb16885de23c87
Merged-In: I758d12465fabc671be19bedeeceb16885de23c87
Exempt-From-Owner-Approval: large scale suppression of existing issues,
    no-op in terms of behavior
2020-11-13 02:56:20 +00:00
Aurimas Liutikas
796760c56e Suppress all hidden abstract methods in constructable classes.
Having a hidden abstract method for a class that can be extended
means that public implementors cannot implement these hidden methods
posing a risk that custom implementations will not have required
abstract methods resulting in an exception.

Bug: 151134792
Test: make update-api
Change-Id: I758d12465fabc671be19bedeeceb16885de23c87
Exempt-From-Owner-Approval: large scale suppression of existing issues,
    no-op in terms of behavior
2020-11-11 23:16:32 +00:00
Tyler Gunn
4057d4cda2 Update InCallService API docs.
Update the InCallService API docs to more clearly indicate what it means
to be a dialer app, and to document the behavior when an InCallService
fails.
Also add a link from the dialer role in RoleManager to InCallService API.

Bug: 148692337
Test: make -j offline-sdk-docs; verify the docs render correctly.
Change-Id: Ibf06bb85e37236a65c60c86ae0385d5a21bb6e4b
2020-01-31 15:17:47 -08:00
Tyler Gunn
556d24003a Telecom API doc cleanup.
InCallService - remove references to roles cut in Q release.
TelecomManager - make it more clear how to use the silenceRinger method
and under which conditions it should be used.

Test: Compile; docs only.
Fixes: 130285730
Change-Id: I55f9c2df119140666f8167e8521a4372d1108e7a
2019-04-11 21:30:39 +00:00
Hai Zhang
b0146d7f22 Add missing parts for renaming of the call redirection role.
Also drops the _APP suffix in role names, to be consistent with other
roles.

Test: manual
Change-Id: Iee3566b353fdf49a916067dfffebcf3d5b87c326
2019-02-07 16:29:46 -08:00
Tyler Gunn
9e76fd19bc 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
Change-Id: Ic4547b8ead791690305f7be58e43272c4155b7fb
2019-01-08 15:01:19 -08:00
Tyler Gunn
dc6e6c43bb Update InCallService API docs to explain how to show incoming call UI.
Updating InCallService API docs to give an example of how an InCallService
should display a new incoming call notification.

Test: make docs ; proof generated HTML
Bug: 110916900
Change-Id: I6f3c8d0d9f14a916336d5a84897772ed4aba3105
2018-07-10 10:53:12 -07:00
Hall Liu
1539283965 Change signature of requestBluetoothAudio
requestBluetoothAudio now takes a BluetoothDevice instead of a string.

Bug: 74408978
Test: unable to CTS -- can't emulate bluetooth devices
Change-Id: Id21e32b911da234f69a248e9937f9df0cf12a9a9
2018-04-02 13:52:57 -07:00
Tyler Gunn
fe39efa9b1 Add InCallService docs to state prerequisites for be being a dialer app.
The InCallService documentation does not clearly state that an app which
wants to become the default dialer app also needs to handle the DIAL
intent.  This change updates the documentation to make this clear.

Test: Built documentation and verified its contents.
Bug: 72857373
Change-Id: I738a8475df37035a0a7f4ad1639df76d967f81dc
2018-02-09 11:28:54 -08:00
Tyler Gunn
858bfaf79c Add handover permission, fill in some missing API gaps.
Adding the ACCEPT_HANDOVER runtime permission which an app must have in
order to accept handovers (this is per design).

Adding missing onHandoverComplete method in the android.telecom.Connection
API (per design).

Finishing plumbing for android.telecom.Call#onHandoverComplete API.

Fix issue where the new handover API methods would never get called; the
legacy handover extra was being used in this case when it should not have
been.

Bug: 65415068
Test: Verified using new CTS tests
Change-Id: If1558f6a23911862c02ac5b18fb62d86911ed7e2
Merged-In: If1558f6a23911862c02ac5b18fb62d86911ed7e2
2018-01-25 16:20:03 -08:00
Sanket Padawe
85291f63c9 Implement Call handover initiation side APIs.
Bug: 65415068
Test: Manual

Design doc:
https://docs.google.com/document/d/1qY3oAzjff_4A1ttYb_CGrE_OwTRmXMG_KGsIuPT1ey8/edit#

Change-Id: I692bb14fba66733154378c2dda525aa85c471a38
Merged-in: I692bb14fba66733154378c2dda525aa85c471a38
2017-12-19 16:32:24 -08:00
Hall Liu
a98f58b5c1 Update Telecom APIs to include multi-hfp
* 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
2017-11-09 15:54:50 -08:00
Tyler Gunn
356322fb1e Merge "API review cleanups/changes." am: 9324d6513b am: dd4bc7c69c
am: c49b011151

Change-Id: Ib3d76474bef8c911b2ec6a61b916e38af0a3b861
2017-03-07 03:05:23 +00:00
Tyler Gunn
159f35c8e4 API review cleanups/changes.
- 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-03-06 11:04:55 -08:00
Hall Liu
57006aa82a Add further Connection-side APIs for RTT (part 2)
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
2017-03-01 14:45:15 -08:00
Hall Liu
95d5587d0a Introduce APIs for RTT calls (part 1)
Add signaling methods and data pipes for handling real-time text during
a call.

Change-Id: I876827c448252c5f786d7a4919c47891acb03877
Test: manual, through telecom testapps
2017-02-21 15:27:25 -08:00
Tyler Gunn
bf9c6fdb43 Perform camera permission and app ops check when setting camera for VT.
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
2017-02-06 14:49:03 -08:00
Tyler Gunn
06f3fa66b7 Update InCallService#onConnectionEvent comments.
Update comments to indicate the method is unused and to point developers
to the correct method.

Bug: 31056610
Change-Id: I5d1da69914e0fccd3cf3c504b68acbcf0c70c9c4
2016-08-25 09:26:15 -07:00
Tyler Gunn
2cbe2b5816 Un-@hide multi-endpoint APIs.
Bug: 28621640
This reverts commit 1bf206b766.
Change-Id: If8c85e4adeb017eec2b7e8199010deae2a920c6a
2016-05-06 03:07:45 +00:00
Tyler Gunn
1bf206b766 Hide multi-endpoint APIs.
Per feature council decision, the multi-endpoint APIs will be @hide for
the N release.

Bug: 28196918
Change-Id: Ia80b089bc754ce87ca208382eb79442b5265844d
2016-04-15 11:28:44 -07:00
Tyler Gunn
876dbfb476 Add API support for multi-endpoint.
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
2016-03-14 23:26:34 +00:00
Sailesh Nepal
9c2618b17f Expose a meta-data value to allow dialer ringing
This CL exposes a new meta-data, IN_CALL_SERVICE_RINGING. If this is set
to true then ringing is played by the dialer instead of Telecom.

This CL also adds a new silenceRinger() API to InCallService. This is
needed to implement ringer silence on volume key down.

BUG: 22857261
Change-Id: I498538282eddbb727104f5b879f25adbef4e6cf6
2016-01-26 17:06:06 -08:00
Sailesh Nepal
78f3ba6ea4 Fix InCallService permission doc
Small typo in the docs for InCallService.

Change-Id: I551248858723047d30061d164976fb2e3418ed67
2015-12-28 16:20:56 -08:00
Neil Fuller
71fbb81b14 Fix @code escapes
The body of {@code} must not be HTML escaped. This is one of
several changes that fix the source in conjunction with a
doclava fix.

Bug: 25757239
Change-Id: Ib38a0fa2dd2a3d68e467f78a812071e763d7e881
2015-12-02 14:24:11 +00:00
Santos Cordon
895d4b8f63 Telecom API council changes.
- adding more javadocs.
- fixing javadoc on isEnabled
- renaming to CONFIGURE_PHONE_ACCOUNT

Bug: 21573551
Change-Id: Ice035b8573a08ea18181a73c9e9a462520a934f1
2015-06-29 16:17:47 -07:00
Santos Cordon
f2600eb5ac InCallService meta-data [2/4]
Bug: 21816241

Change-Id: I9af91a1287f652247ef590878759aa277bd925e5
2015-06-23 15:13:39 -07:00
Tyler Gunn
295f5d7777 Add API docs for RemoteConnection VideoProvider/Callback.
Bug: 21573551
Change-Id: I434d83fa84f9515634776820b2e6a8004cf693ee
2015-06-04 11:08:54 -07:00
Tyler Gunn
b702ef8a91 Cleanup Video API javadoc.
- Cleaned up documentation and added more details where possible.
- Also added cross references from the VideoProvider and VideoCall
APIs to make it more clear what the link is between the two.

Bug: 21520606
Change-Id: I0a79450d69841df5850061311a523b37688efc49
2015-05-29 11:51:53 -07:00
Yorke Lee
4af5935c71 Rename AudioState to CallAudioState
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-13 14:58:15 -07:00
Yorke Lee
32f2473160 More video related API fixes
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-12 16:45:14 -07:00
Yorke Lee
400470fab9 Fixes for APi review
Move CameraCapabilities into VideoProfile
Make PhoneAccount and PhoneAccountHandle final

Bug: 21040387
Bug: 21066505
Change-Id: I72453c89ae3765f9b9cf263938fce96d5978d2e0
2015-05-12 13:31:25 -07:00
Andrew Lee
011728fc3a Add handler parameter for callbacks.
Bug: 20160491
Change-Id: I94639b06b8c97b6585e169d667a67ce328e716af
2015-04-30 15:24:50 -07:00
Etan Cohen
912270e22d Doc fix - incorrect format (included argument) for function reference.
Change-Id: I2cdf7b4f078b1ab0556fcc3fad5287f86641c396
2015-04-24 18:43:41 -07:00
Etan Cohen
237a59767d Fix documentation - non-public API.
Change-Id: I418bf47b197936b2f50b231425312d5b6d272df8
2015-04-24 18:06:59 -07:00
Etan Cohen
1418054108 Rename removeVideoCallListener to unregisterCallback
Change-Id: Ie6b5ac9131e81900efc7d3fa67056aa47d566a44
2015-04-24 15:22:03 -07:00
Etan Cohen
d7b4b81274 Merge commit '7595842' into merge2
Change-Id: I7e11e98e6d59562374195a8761d64a79dc0268e8
2015-04-24 13:56:35 -07:00
Andrew Lee
84a264004d Remove deprecated VideoCallListener methods.
These shouldn't be needed because the video call APIs were never
previously made public.

Bug: 20160491
Change-Id: Ic9c5d0d1e8618bfe61f8905d4afaeaa37f51c915
2015-04-16 17:07:12 -07:00
Andrew Lee
600aaf013a Merge "Fix comment typos. =(" 2015-04-16 23:46:57 +00:00
Santos Cordon
223a80d7c6 Merge "Unfinal getPhone." 2015-04-16 23:42:01 +00:00