Commit Graph

9 Commits

Author SHA1 Message Date
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
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
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
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
7e45b7241b 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.
Change-Id: Ie6c172c09007eb5f4853d36ae0a99b782bfb5ddb
2018-12-12 15:12:31 -08:00
Tyler Gunn
e0caec7afb 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.
Change-Id: I5daeea32f6cfbef1b94105a826925a878ac98596
2018-12-03 08:31:59 -08: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
Sailesh Nepal
f44607142f Make CallScreening.CallResponse static
A small mistake in my previous CL. The response object
needs to be static.

Change-Id: Idf9bca7a7076275f53475c2531090f406daecab9
2016-01-27 16:53:15 -08:00
Sailesh Nepal
1bef339b88 Add new public API to allow call screening
This CL adds a new service that the default dialer can implement to
screen incoming calls.

If the service is implemented then Telecom uses it to decide if a call
should be shown to the user or rejected.

Note, I initially tried to simply extend InCallService instead of
creating a whole new service. The problem with this approach is that:
  - this breaks some in call services which show UI as soon as they are
    bound to
  - the in call service lifecycle is tightly coupled to adding and
    removing calls. Call screening happens before a call is added which
    makes it a bad fit to in call service
  - call screening is a function of only the default dialer's in call
    service but the existing code also binds to "controller" call
    services

For these reasons it seemed simpler to just create a new optional
service.

BUG: 22857261
Change-Id: I53f2ef93360e0af19b6ce45af21026be6cf3a7f3
2016-01-27 13:54:12 -08:00