Commit Graph

204 Commits

Author SHA1 Message Date
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
Tyler Gunn
5bd90853a5 Add support for network identified emergency calls.
Add support for the IMS call profile to indicate that a call is an
emergency call.
Add supporting connection and call properties so that this can be
propagated to Telecom and ultimately the Dialer app.
Add System API to determine if the device is in a network IDed or dialed
emergency call (used in Telephony).

Test: Manual test using test intents and ecclist property.
Test: Added new telecom unit tests.
Bug: 77565333
Change-Id: I769e7b5000b10662c08fe53c91ef99edc685d2b1
2018-09-21 09:37:07 -07:00
sqian
cae1f264b9 Call Redirection Surface in Telecom out going call flow
- Provide a Call Redirection API Surface
- Provide a key "KEY_CALL_REDIRECTION_SERVICE_COMPONENT_NAME_STRING"
  in the CarrierConfigManager
- Create .aidl interfaces for Call Redirection
(CallRedirectionService.aidl, CallRedirectionAdapter.aidl)

Bug: 64959558
Test: Compile
Change-Id: Ic119fa445e66f1275eabf944c77fdc981bc9a2a7
Merged-In: Ic119fa445e66f1275eabf944c77fdc981bc9a2a7
(cherry picked from commit ea8970cd55)
2018-08-31 12:59:40 -07:00
Hall Liu
e784d5e5ca Merge "Telecom: Reset the duration after the CDMA call is accepted"
am: 2cbf44dc2f

Change-Id: I823efd5765b77fcf55f4c38a6091d980530abae8
2018-08-01 16:09:51 -07:00
Mengjun Leng
2570774338 Telecom: Reset the duration after the CDMA call is accepted
In android original design, the duration of CDMA MO call is started from
the dial command sent, so it is not the real duration of the active time.

In this patch, a new message is registered to listen the event of the call
accepted, and then reset the duration when the event happens.

Change-Id: Icc447012030ae243f200ec2c83b7d5210af9b31c
2018-07-31 14:14:22 +08:00
Tyler Gunn
cfad0bea7e Merge "Pass calling package for invocations of endCall API." am: 44289caa11 am: e05da7e86b
am: 654b7fc322

Change-Id: Id7c74fa539b7e7e26dfdc8b612d9299d8c20c19b
2018-02-09 22:19:49 +00:00
Tyler Gunn
44289caa11 Merge "Pass calling package for invocations of endCall API." 2018-02-09 18:49:08 +00:00
Pooja Jain
cfa16ec443 Merge "IMS: Add support in frameworks for call deflection feature" am: ba0f9d2973 am: f39bef4801
am: ac48eed9c0

Change-Id: I4695aca7d886f37341672ea5815770e3ccdf7a51
2018-02-08 02:15:56 +00:00
Tyler Gunn
c865881999 Pass calling package for invocations of endCall API.
Pass the calling package for debugging purposes.

Test: Manual
Bug: 73006395
Change-Id: I5ea7f1f0033438de3cdc2c47fc8a03f05d9e4590
2018-02-07 16:08:27 -08:00
Pooja Jain
d34698def5 IMS: Add support in frameworks for call deflection feature
Call deflection feature is useful to deflect MT call to another
number.

Test: Manual

Bug: 62170348
Change-Id: Idfbcc175a856aa0bb9476f8c73d7a614a3af0700
2018-02-07 12:29:16 +05:30
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
Tyler Gunn
79bc1ec8a9 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
2018-01-24 16:11:27 -08:00
Sanket Padawe
4940b647a4 Merge "Add permission check for old call handover apis." am: e8fc3d2399 am: 7a97ee9acd
am: 440bd9cb05

Change-Id: Ibd08720dba54949234376d5a5ca021c722330091
2018-01-13 02:59:49 +00:00
Sanket Padawe
f6a9e5b6e0 Add permission check for old call handover apis.
Bug: 65415068
Test: manual
Change-Id: I4784debf1be255de24c341fe5474fc529bc1cebe
2018-01-12 10:17:42 -08:00
Pengquan Meng
63d25a5411 Add connection serivce focus api interface
This add new api interface to ConnectionService to support the
connection service focus api.

Bug: 69651192
Test: manually

Change-Id: Iea49d95b086d32a0ebaf8e9f34fe4556953a0fd5
Merged-In: Iea49d95b086d32a0ebaf8e9f34fe4556953a0fd5
2018-01-09 10:50:38 -08:00
Sanket Padawe
02d8c276d9 Receiving side Call handover API implementation.
Bug: 65415068
Test: Manual

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

Change-Id: Ic0c4af19098252389648007628affc19a44f89dd
Merged-in: Ic0c4af19098252389648007628affc19a44f89dd
2017-12-20 10:13:05 -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
Sanket Padawe
4cc8ed53ac Receiving side Call handover API implementation.
Bug: 65415068
Test: Manual

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

Change-Id: Ic0c4af19098252389648007628affc19a44f89dd
2017-12-11 15:14:36 -08:00
Pengquan Meng
731c1a38c0 Add connection serivce focus api interface
This add new api interface to ConnectionService to support the
connection service focus api.

Bug: 69651192
Test: manually

Change-Id: Iea49d95b086d32a0ebaf8e9f34fe4556953a0fd5
2017-12-04 18:38:25 -08:00
Sanket Padawe
e29a266a62 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
2017-12-01 14:25:17 -08:00
Sanket Padawe
a8eddd48c4 API declarations for Call Handover.
Design doc:
https://docs.google.com/document/d/1qY3oAzjff_4A1ttYb_CGrE_OwTRmXMG_KGsIuPT1ey8/edit#

Bug: 65415068
Test: manual.
Change-Id: I0c2f561d92ad6504f858eadde09980fc1ce8727f
2017-11-15 13:41:05 -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
Srikanth Chintala
fcb1501620 Emergency redial implementation
Define connection event to notify
Telecom/InCallUi about change in
account handle after redial and extra
for emergency phone handle.

Bug: 27059146
Change-Id: Ie72ab2901ec05d972204ed11f115a05b79173c1d
2017-08-25 10:08:56 -07:00
Tyler Gunn
d104a4f7f6 Add ConnectionService callback invoked when connection creation complete.
Adding a new @hide callback in ConnectionService which a CS implementation
can implement.  A callback from Telecom is responsible for invoking this
method.

Test: Manual
Bug: 33272455
Change-Id: Id17cf0fd8fd491b7677f9b7a7b52c76270b1c8c9
2017-05-15 11:38:18 -07:00
Tyler Gunn
4774fb36d0 Add getSelfManagedPhoneAccounts() TelecomManager API.
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)
2017-04-10 20:20:47 +00: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
Hall Liu
42eb1ac202 Merge "Add further Connection-side APIs for RTT (part 2)" 2017-03-07 00:46:09 +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
Tyler Gunn
bf8d2a2bf4 Merge "Support for showing self-managed calls in IncallService." am: 5a33057092 am: 8c7d28f163
am: fd0e1a9d93

Change-Id: I88170e214ca6c142e0445a814ad0e76064e72ba7
2017-03-01 23:40:53 +00: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
Tyler Gunn
5a33057092 Merge "Support for showing self-managed calls in IncallService." 2017-03-01 20:32:56 +00:00
Eugene Susla
cae3d3e59e Introduce ANSWER_PHONE_CALLS permission
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
2017-02-24 20:28:46 -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
24e1833617 Support for showing self-managed calls in IncallService.
Also added new isInManagedCall TelecomManager API, used to determine if
there are ongoing managed calls only.

Test: Manual, cts
Bug: 34159263
Change-Id: Ib8020617607ccb433c2eee9b9d5a2c929665214b
2017-02-12 19:33:35 -08:00
Tyler Gunn
da6d683caa Merge "Add support for wait-on-handlers command." 2017-02-08 16:09:09 +00:00
Brad Ebinger
ed5c217fc0 Merge "Perform camera permission and app ops check when setting camera for VT." 2017-02-07 22:26:44 +00:00
Tyler Gunn
18dfc36012 Add support for wait-on-handlers command.
Add support for wait on handlers adb telecom command.  Used in CTS
tests to ensure work is completed once all Telecom handlers have finished
their current work.

Test: CTS, Manual
Bug: 34159263
Change-Id: I14acc0a04710b445c172629c2327813ee73a5a55
2017-02-06 20:47:04 -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