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
Prevent the telecom service from generating a ringer if there is already
a ringer generated by a phone connected over bluetooth headset client
service.
Bug: 65673832
Test: runtest telecom-unit -c
com.android.server.telecom.tests.RingerTest
Change-Id: I40710787cab0215f0456153a3557aa8cf1a50cdf
(cherry picked from commit 40ea5eea41)
These properties allow the feature to be propogated from
the outgoing call broadcast, to the connection, to the call,
and finally to the call log as a feature.
Test: no existing unit tests found. could use some pointers
Bug: 35963245
Change-Id: I3ed8ac5ad7300c44f87e2573d9409b3a92b98ab6
Merged-In: I84343fb0cda16514c01997fd71d1e819b5b7eebb
These changes are needed to ensure that "checkapi" doesn't claim
that we're changing the API after an upcoming doclava change.
Test: manual inspection of API text files
Bug: 69505783
Change-Id: I8292ba80cc65b7dd78f0e9dba4fcc7ffcedfab9c
Merged-In: I8292ba80cc65b7dd78f0e9dba4fcc7ffcedfab9c
Used in handovers to tell the account we're handing over to which account
the call is from.
Test: Manual
Bug: 38027075
Change-Id: I9b61a5fce3e4f7344174a1b81f4964ca02b71ccd
We've seen some @SystemApi methods protected with non-system
permissions, so give Doclava the platform AndroidManifest.xml so it
can parse the actual permission protection levels to look for APIs
that are letting in non-system apps.
Also document more @SystemApi permissions.
This is purely a docs change; no logic changes are being made.
Test: make -j32 update-api
Bug: 62263906
Change-Id: Ie0f0a5fb0033817bcc95060f2183a52ae4ae7b06
Most @SystemApi methods should be protected with system (or higher)
permissions, so annotate common methods with @RequiresPermission to
make automatic verification easier.
Verification is really only relevant when calling into system
services (where permissions checking can happen on the other side of
a Binder call), so annotate managers with the new @SystemService
annotation, which is now automatically documented.
This is purely a docs change; no logic changes are being made.
Test: make -j32 update-api && make -j32 offline-sdk-docs
Bug: 62263906
Change-Id: I2554227202d84465676aa4ab0dd336b5c45fc651
Add handover extras key used when initiating handover.
Add handover complete / fail connection events which are sent to the
initiating IncallService when a handover is complete or fails.
Adding PhoneAccount extra to indicate that a self-managed CS should have
its calls logged to the call log.
Test: Manual
Bug: 37102939
Change-Id: Icbb6f1addf913de841a9c48089a7d8311668f3bc
Add support for AnyThread, CallSuper, and UiThread.
Another related CL started documenting @RequiresPermission, so remove
duplicated information in existing APIs.
Suppress auto-doc on a handful of classes that are already
well-documented.
Test: make -j32 offline-sdk-docs
Bug: 37526420
Change-Id: I791437dccec0f11d5349a23b982ba098cb551af8
These were previously @SystemApi. Retaining the existing SystemAPI
behavior which sends the intents to those with a private permission.
Extending to ALSO send these intents to the default dialer app as well
using an explicit intent.
Cherry-pick from aosp-master to resolve merge conflicts.
Test: Manual
Bug: 37106957
Merged-In: Ifb72870105be5ba024af196a8c3165a9afb397ab
Change-Id: Ifb72870105be5ba024af196a8c3165a9afb397ab
(cherry picked from commit d9da6ce993)
These were previously @SystemApi. Retaining the existing SystemAPI
behavior which sends the intents to those with a private permission.
Extending to ALSO send these intents to the default dialer app as well
using an explicit intent.
Cherry-pick from aosp-master to resolve merge conflicts.
Test: Manual
Bug: 37106957
Change-Id: Ifb72870105be5ba024af196a8c3165a9afb397ab
Removing handover token and cleaning up the references to it in the docs.
This was supposed to go into the original CL but it looks like the upload
failed.
Test: Manual
Bug: 37102939
Change-Id: I98f392119258d059669ca68b50184b8bdadbcf0f
Add new call/connection event keys for handover.
Add TelecomManager extra keys used for handover.
Add PhoneAccount extra keys used to control availability of handover.
Test: Test app/harness.
Bug: 37102939
Change-Id: Icc5db7209362f04c4e3be397fee692bbf4a6a473
This is consistent with the existing getCallCapablePhoneAccounts API
which is used to get the phone accounts capable of placing phone calls.
Test: CTS
Bug: 34159263
Merged-In: I1396c63a6882947cd66721528e53b6964a9091e0
Change-Id: I1396c63a6882947cd66721528e53b6964a9091e0
(cherry picked from commit 8931707058)
This is consistent with the existing getCallCapablePhoneAccounts API
which is used to get the phone accounts capable of placing phone calls.
Test: CTS
Bug: 34159263
Change-Id: I1396c63a6882947cd66721528e53b6964a9091e0
- 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
Merged-In: I0c890dc2feeb3ee438a80ed425db2aaf1f4c1fdd
Change-Id: I0c890dc2feeb3ee438a80ed425db2aaf1f4c1fdd
- 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
This exposes an API to answer a ringing call, as well as a corresponding
runtime permission and appop
Test: Grant the permission and ensure the call gets answered.
Deny the permission, and ensure that the API call throws an exception.
Bug: 30932767
Change-Id: I4c33fcea6b95a30469fa6c0c37090be32b0ad52e
Add signaling methods and data pipes for handling real-time text during
a call.
Change-Id: I876827c448252c5f786d7a4919c47891acb03877
Test: manual, through telecom testapps
Also added new isInManagedCall TelecomManager API, used to determine if
there are ongoing managed calls only.
Test: Manual, cts
Bug: 34159263
Change-Id: Ib8020617607ccb433c2eee9b9d5a2c929665214b
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
The ACTION_INCOMING_CALL and ACTION_NEW_UNKNOWN_CALL intents are
not used anymore and have been replaced with methods in
TelecomManager. This change marks them as deprecated.
Test: None
Bug: 33783690
Change-Id: I840b0ac202237cc43a0540fe64c832e119b33aa2
Add classes for call events and a field for them in
ParcelableCallAnalytics.
Add classes for timing information on user-visible operations.
Add the TelecomAnalytics class as the top-level object for analytics.
Add log session timing information to the TelecomAnalytics class,
independent of individual calls.
Bug: 28623064
Change-Id: Ifee5fdf6b6b341869ff0ff26c4388d357e3d9922
Per feature council decision, the multi-endpoint APIs will be @hide for
the N release.
Bug: 28196918
Change-Id: Ia80b089bc754ce87ca208382eb79442b5265844d
This CL defines new extras that can be set in a call's intent extras.
These extras track the following:
CALL_CREATED_TIME_MILLIS - the time when the call was created by
telephony (or another connection service)
CALL_TELECOM_ROUTING_START_TIME_MILLIS - the time when telecom
started processing the call
CALL_TELECOM_ROUTING_END_TIME_MILLIS - the time when telecom
finished processing things like call blocking and was ready to
connect to the UI
These extras can be used by the dialer to track how long it takes for
calls to be shown to the user.
Bug: 28202119
Change-Id: I8fca259d449adedaeb4ff91d35bf59a7409be866
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
Use a background task to call MessageDigest.getInstance in order to
avoid a possible disk read on initialization.
Bug: 26069217
Change-Id: I0091ce012bcd811dfca0e85c21a12c54913ed919
Updates the docs for addNewIncomingCall to mention that if the
PhoneAccountHandle representing a PhoneAccount is not registered or not
enabled, a SecurityException will be thrown (as of b/26864502). Also
notifies the user that PhoneAccounts are stored in DE storage
in registerPhoneAccount.
Bug: 26874536
Bug: 26780305
Change-Id: I2dae932cfa3404d7d5060dad840a75227793603e