Commit Graph

241 Commits

Author SHA1 Message Date
sqian
dfb7ca01a8 Introduce hasCompanionInCallServiceAccess API
It retruns whether the caller has InCallService access for the companion
 apps. A companion app is an app associated with a physical wearable
 device via the {@link android.companion.CompanionDeviceManager} API.

Test: cts
Bug: 169595473
Change-Id: Id659bfae8556e965d3c31613848bde808f28a858
Merged-In: Id659bfae8556e965d3c31613848bde808f28a858
(cherry picked from commit 4d0652699a)
2020-11-11 22:51:49 +00:00
Mathew Inwood
5d123b6775 Add maxTargetSdk restriction to unused APIs.
These are APIs that have @UnsupportedAppUsage but for which we don't
have any evidence of them currently being used, so should be safe to
remove from the unsupported list.

Bug: 170729553
Test: Treehugger
Merged-In: I626caf7c1fe46c5ab1f39c2895b42a34319f771a
Change-Id: I54e5ecd11e76ca1de3c5893e3a98b0108e735413
2020-11-04 09:45:53 +00:00
Brad Ebinger
ee4eca707c Modify the TelecomLoaderService to provide LocalServices to Telecom
We need access to the DeviceIdleController, which is not currently
accessible via the PowerWhitelistManager due to restrictions with
components in the same SYSTEM process accessing public APIs (see
context#enforceCallingPermission).

To get around this, we need to wrap services only available as
LocalServices using Binder to pass these services to the Telecom
code. This is all in-process (no IPC allowed), so there should be
little to no impact.

Bug: 160724034
Test: miss call and verify `adb shell cmd deviceidle tempwhitelist` contains
default dialer.
Test: atest TelecomUnitTests; atest CtsTelecomTestCases

Change-Id: I6275b550d19743e576b93f5fcd2bd3aa9ea4e1a8
Merged-In: I3d71331cbc8f01f764cc0b9704416821007feeb5
2020-10-22 21:43:02 +00: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
Hall Liu
de99d04289 Run CtsTelecomTestCases in presubmit
Run Telecom CTS in presubmit, and include a few fixes to prevent
flakiness in said presubmit.

Fixes: 158798240
Test: presubmit
Change-Id: I9b9e2f2604615e93301bc83be7c3545c6f80cb9c
2020-07-01 14:51:59 -07:00
Treehugger Robot
8c5ed53fad Merge "Add telecom command to stop block suppression" am: afe114c2f5 am: 533a19175c
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1350781

Change-Id: I4cface851f70245a7efc4063e54c2943f2d0e362
2020-06-26 23:11:08 +00:00
Hall Liu
efe7351c7c Add telecom command to stop block suppression
Add a Telecom command to stop the number blocking suppression that
happens after an emergency call.

Bug: 158798240
Test: atest CtsTelecomTestCases
Change-Id: I122de1962fb6aa48a3092c2aa323dcbdcbb8f42e
2020-06-26 13:38:50 -07:00
Brad Ebinger
e0c12f4b88 Add new @hide API to pass call direction changes through Telecom
Bug: 153277327
Fixes: 154245581
Test: atest TelecomUnitTests
Merged-In: Icad12c4144bf185c24ee80bcbdd1aec29550bf4e
Change-Id: Icad12c4144bf185c24ee80bcbdd1aec29550bf4e
2020-04-20 12:14:33 -07:00
Brad Ebinger
31774ae752 Add new @hide API to pass call direction changes through Telecom
Bug: 153277327
Test: atest TelecomUnitTests
Change-Id: Icad12c4144bf185c24ee80bcbdd1aec29550bf4e
2020-04-08 17:08:10 -07:00
Automerger Merge Worker
0a04056d35 Merge "IMS: Add support for IMS Explicit call transfer" am: 12f7f43ec8 am: 4c0cd62311 am: f65d00890f
Change-Id: Ic8231acd8330c91998f0cb479a7a6fbe3ea5bda1
2020-02-19 23:19:00 +00: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
Automerger Merge Worker
f8e30a1172 Merge changes from topic "add_participant" am: fdfc58fcd9 am: ac4f7edbd3 am: 0997ab95ae
Change-Id: I82f5641c95547646bf41a21c6ee4d4e0c4cc9aef
2020-02-13 18:50:54 +00: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
Automerger Merge Worker
7a44aaf14a Merge "Add support for rejecting Telecom call with a specified reason." am: 2c12c74b33 am: d7d382e0ed am: 2505d60319
Change-Id: I3429875d187cf424917d152d13fef2a4a9c3befa
2020-01-27 18:42:14 +00: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
Automerger Merge Worker
cf66c12e8b Merge "Ims: Add support for Adhoc Conference calls" am: 0ab00030a2 am: cac198c770 am: a6d033fa37
Change-Id: I866deb01383fdc648822ef60304f4ca54c36b699
2020-01-22 21:49:47 +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
Philip P. Moltmann
00cf9fbf5d Send featureId to Telecomm noteOps
Bug: 136595429
Test: built
Change-Id: I23a12cd4453096e39dfd22ba556e3f3bc9d19319
2020-01-09 07:03:09 -08:00
Fan Zhang
2b2458e094 Introduce telecom api to launch emeregency dialer.
Test: manual
Bug: 136194151
Change-Id: I5c9732062e5123539343843fb9a9ae3ca7111890
Merged-In: I5c9732062e5123539343843fb9a9ae3ca7111890
2019-12-19 20:50:31 +00:00
Tyler Gunn
bf7be6def1 Merge "Car mode InCallService changes." am: 1d4fcf1703 am: 920d3e0fbf
am: bed4e9789c

Change-Id: I10f1de2db0dfc6657c7aece1e31f35da5c07a37c
2019-12-04 14:46:55 -08:00
Tyler Gunn
f701f7a765 Car mode InCallService changes.
1. Grant ENTER_CAR_MODE and CONTROL_INCALL_EXPERIENCE permissions to the
shell identity for use within CTS tests.
2. Remove un-needed Telecom shell command.

Test: unit tests, telecom CTS tests, manual testing
Bug: 144345414
Change-Id: I54a2e723d6ef9552117e6cadf4ab7c449dd5e3cb
2019-11-26 13:43:53 -08:00
Tyler Gunn
00d737bd17 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
2019-11-11 08:28:38 -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
Fan Zhang
5431ef5394 Introduce telecom api to launch emeregency dialer.
Test: manual
Bug: 136194151
Change-Id: I5c9732062e5123539343843fb9a9ae3ca7111890
2019-10-18 18:12:15 +00:00
Hall Liu
360428c44a Merge "Add APIs to support background call screening" 2019-10-02 18:34:54 +00: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
Brad Ebinger
a9a33e1d68 Add Telecom command for setting connectionservice filter
For testing we need the emergency call to go through the CTS
ConnectionService. This is achieved by passing in a package
name filter for testing, which restricts which ConnectionServices
are available for emergency calling.

For safety this filter will be bypassed if the user calls an
actual emergency number (instead of a test number).

Bug: 138741228
Test: atest CtsTelecomTestCases
Change-Id: I656533e4a36a7bba48625bf6f763731991695aed
2019-09-30 17:46:36 -07:00
Shuo Qian
b61230c51d Integrate the active emergency session listener in TelephonyRegistry
Add Telecom shell command: "adb shell telecom set-system-dialer"

Test: PhoneStateListener cts
Bug: 135204580
Merged-In: I5eaada6a671606642a849f0ff6fe964332d80d5f
Change-Id: I5eaada6a671606642a849f0ff6fe964332d80d5f
2019-09-30 20:43:42 +00:00
Tyler Gunn
4c69fb3d7b Make queryRemoteConnectionServices DSDS aware.
The method queryRemoteConnectionServices had the issue that it assumes
there is a single connection manager for the device.  This assumption does
not work on a multisim device.  Since the ConnectionManager is associated
with a particular carrier, this means that the connection mgr for one
carrier could try to impact calls destined for another carrier.

This change ensures that the calling package is passed into Telecom so
that we can determine which RemoteConnectionServices which are available to
the calling connection manager.

Test: Manual test on DSDS with a connection mgr carrier and another carrier.
Bug: 131856987
Change-Id: I46d80dc68adaab7fd4374f023d7ba4242804c253
2019-05-17 10:49:38 -07:00
Brad Ebinger
e7833312d7 Make getSimCallManager msim aware
When there are multiple subscriptions available,
the SIM call manager is currently resolved based
on what the default voice subscription is. Add the
ability for TelecomManager to get the SIM call
manager for a Telephony subscription ID.

Test: Manual; atest TelecomUnitTests
Bug: 131627085
Change-Id: I748fcebb44f07fbc9deef0c6a07d2f15a44b22d3
2019-05-10 00:08:20 +00:00
Tyler Gunn
425dac52b0 Change command like set-default-dialer to be a test override.
RoleManager likes to terminate apps when roles are changed which does
not work in CTS tests.  We need to use a temp override in Telecom
for now.

Test: Run the CTS tests over, and over and over again.
Bug: 131065482
Change-Id: Id36942f2813abdfa0020ce4805c492a69bd07d0e
(cherry picked from commit 509ef150f2)
2019-04-30 20:26:47 +00:00
Tyler Gunn
a842e76231 Remove call identification APIs.
Removing the CallIdentification API surface.

Test: Build, run tests.
Bug: 129531123
Change-Id: I5f1451ffba04ee438df739a17472c028c44f19b2
2019-04-01 17:27:12 -07:00
Usman Abdullah
3783c597bf Merge "Add silence support to CallScreeningService/Call API" 2019-03-18 19:33:33 +00:00
Usman Abdullah
47b392db45 Add silence support to CallScreeningService/Call API
Test: CTS
Test: Unit Tests
Test: Manual
Bug: 126590377
Bug: 122671585

Change-Id: I4e7c67784198678eef1926759ec1d8afb98438f4
2019-03-14 14:02:23 -07:00
Andrei Onea
fa152f9517 Add @UnsupportedAppUsage annotations
For packages:
  com.android.internal.app
  com.android.internal.appwidget
  com.android.internal.location
  com.android.internal.os
  com.android.internal.policy
  com.android.internal.statusbar
  com.android.internal.telecom
  com.android.internal.telephony
  com.android.internal.widget

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: I6eba34467b2492047e5264684312adfa029eb317
2019-02-27 16:42:54 +00:00
Tyler Gunn
e2a693b746 Merge "Add nuisance call reporting API to Telecom." 2019-01-23 21:50:49 +00:00
Tyler Gunn
1965bb1cc2 Add nuisance call reporting API to Telecom.
Adding new nuisance call reporting API to Telecom. Dialer will use this
to report to Telecom when the user marks a call as nuisance or not
nuisance.  We relay this to the CallScreeningService the user has chosen
to fill the call screening role, along with some basic information about
the call type (missed, rejected, incoming) and a the coarse call duration
bucket.  These values can be used by the CallScreeningService to train
the nuisance detection model it employs.

Test: Manual tested using test app.
Test: Added new CTS test coverage.
Test: Added unit tests to Telecom
Bug: 63966743
Change-Id: I389617491f640afd9ca28ec3f247912365e6cc53
2019-01-22 19:15:24 -08:00
Tyler Gunn
36c50ed28c Add get/set user selected outgoing phone account APIs.
Promoting getUserSelectedOutgoingPhoneAccount to a public API accessible
to the default dialer app, as well as to system priv apps such as the
settings app.

Promoting setUserSelectedOutgoingPhoneAccount to a system API accessible
to apps such as the settings app.

Add telecom shell commands to support changing the outgoing phone account
in CTS tests.

Bug: 119227574
Test: Manual
Test: Added and ran new CTS test
Change-Id: I204b2f01a1b6746aa35faf8aaacd30ebf53b9a5d
2019-01-22 07:46:06 -08:00
Tyler Gunn
89e53d81ce Merge "Support for treating single party IMS conference as a standalone call." 2019-01-22 14:57:10 +00:00
Tyler Gunn
68a73a4d0d Support for treating single party IMS conference as a standalone call.
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
2019-01-19 10:27:23 -08:00
Shuo Qian
de92fb78fe Merge "Call Redirection Service enhancement" 2019-01-17 00:30:31 +00: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
sqian
27136a7063 Call Redirection Service enhancement
- Add an extra with onPlaceCall in the current CallRedirectionService
surface to indicate whether an interactive response is allowed or not
when call is initiated into the implemented redirection service.

- Add an extra with redirectCall to indicate if Telecom should show UI
to users to confirm the redirection.

- Rename targetPhoneAccount in onPlaceCall to initialPhoneAccount

Bug: 64959558
Test: Treehugger
Change-Id: Ic924bb234b2b2e5533c5869257e815777580ac5d
Merged-In: Ic924bb234b2b2e5533c5869257e815777580ac5d
(cherry picked from commit 3ac6c04acc)
2019-01-07 15:59:33 -08:00
Hall Liu
c47570d5d0 Add the PhoneAccountSuggestionService
Add a service base class for phone acct suggestion. Also add associated
aidl plumbing and a new permission for the service to require.

Test: CTS to come
Bug: 111455117
Change-Id: I30d7d004bdddbab3dfbb5408c07775ea56d490fe
2018-12-17 15:27:32 -08:00
sqian
6dcf8879cb Add Call redirection app in Telecom test-commands
Bug: 64959558
Test: Treehugger
Change-Id: I15cb3b766c4c5fbef4e50824ccda0f3328643cf9
2018-12-07 19:36:27 -08:00
Tyler Gunn
8b68d7760f Add telecom test-commands for maintaining role overrides.
This allows for easier testing of role-dependencies for Telecom (since
RoleManager is not yet fully implemented).

Bug: 63966743
Test: Manual
Merged-In: I92fd86411d1312be2255ec0634f059cd8e4bfc26
Change-Id: I92fd86411d1312be2255ec0634f059cd8e4bfc26
2018-12-03 20:58:48 +00:00
Tony Zhu
b5e8d45245 Merge "[Call Screening]Logging of calls blocked by call blocking feature, call screening app." 2018-11-08 17:22:43 +00:00
tonyzhu
9e1d4f86ba [Call Screening]Logging of calls blocked by call blocking feature, call screening app.
Add three call log entries, ALL_SCREENING_COMPONENT_NAME, CALL_SCREENING_APP_NAME,
BLOCK_REASON, and call block reasons. Add new parameter to get the
package name and component name of the implementation of CallScreenService.java.

Bug: 113243596
Test: Build pass
Change-Id: I63debd80d7f4a92278fdbb84b64ff1199591349c
2018-11-08 17:28:34 +08:00
tonyzhu
ff60f5ec27 [Call Screening]Programmatically changing the default call screening app.
Increase three methods in TelecomManager.java, modify
ITelecomService.aidl to make sure framworks can comunicate with service.

Bug: 113302920
Test: atest TelecomServiceImplTest.
Test: simulate third party call screening application to use methods in
TelecomManager.java, and triggle the activity to show the dialog of
setting default call screeening application.

Change-Id: I1e34061acd575813e92403c137731e618abb88d5
2018-10-30 15:50:49 +00:00
Tyler Gunn
c37445cb4e Add handleCallIntent method in TelecomManager.
This is an @hide method usable only from within Telecom itself in order to
trampoline an ACTION_CALL intent from the UserCallActivity to
Telecom's system service.

Bug: 116719392
Test: Verify that calls initiated via CALL intent no longer get rebroadcast
and are instead sent directly to Telecom.

Change-Id: Ie765631bef8329a8ed12723d9c037a44b4f80882
2018-09-28 16:16:20 -07:00