Commit Graph

117 Commits

Author SHA1 Message Date
Tyler Gunn
0ab380166d Rename handover failure constant per API review comments.
Expanding EMERG to EMERGENCY.

Test: Build code
Bug: 74831393
Merged-In: Ic0555b20dc508d022c0165a5d9dc3b40b33db70e
Change-Id: Ic0555b20dc508d022c0165a5d9dc3b40b33db70e
(cherry picked from commit a4ef504bdc)
2018-03-22 15:34:32 +00:00
Tyler Gunn
3a09dc185b API Documentation and Constant cleanup.
1. Update handover API docs for clarity.
2. Added an unknown value per API review comments.
3. Renamed HANDOVER_FAILURE_DEST_USER_REJECTED to
HANDOVER_FAILURE_USER_REJECTED
3. Removed the HANDOVER_FAILURE_DEST_INVALID_PERM constant since it isn't
used (methods which deal with permissions throw security exceptions).

Test: Make doc and verify documentation.
Fixes: 73751004
Fixes: 73750515
Fixes: 73750817
Merged-In: I7860fcd813f25adaaccf632f2c61dd4138a0a889
Change-Id: I7860fcd813f25adaaccf632f2c61dd4138a0a889
(cherry picked from commit c7a86b14a8)
2018-03-07 23:17:54 +00:00
TreeHugger Robot
c73f954cc7 Merge "Revert "Add the assisted dialing carrier config."" 2018-02-26 16:02:34 +00:00
Eric Erfanian
dd2db2f5a3 Revert "Add the assisted dialing carrier config."
This reverts commit af7b8c0a67.

Reason for revert: we're cutting the feature from P

Change-Id: I1ccc2c36b480f64c3a8b3df7eee73f80b7863722
Bug: 73727182
2018-02-21 19:48:50 +00:00
Hall Liu
a549fed518 RTT bugfixes, part 5
* Add a new API to allow Telecom to inform ConnectionServices when the
RTT text stream changes
* No longer set the RTT property from ConnectionService. Client apps
should be setting properties themselves.
* Add Dialer-side RTT property in order to remove the dependence on
checking the RTT streams, which have a complex lifecycle

Bug: 72951201
Bug: 72648661
Test: manual, with real RTT calls and Dialer's SimulatorConnection, also
cts
Change-Id: Ic4c7d883d2dc6baf8e8c0eaa4df58d7de8762b9e
2018-02-14 14:03:35 -08: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
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
Eric Erfanian
af7b8c0a67 Add the assisted dialing carrier config.
This is used to activate the feature and show the settings.

Remove @hide from the public APIS.

Design doc:
go/assisted-dialing-dd-v1

Test: manual
Bug: 63934304
Change-Id: I09ea52720bf2439537e2f4ad32afb14f5df25f71
2018-01-22 19:23:04 +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
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
Eric Erfanian
ec88187e62 Add assisted dialing properties to the framework.
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
2017-12-12 09:45:01 -08:00
Sanket Padawe
c376ca6bc1 Merge "API declarations for Call Handover."
am: d88abc7b60

Change-Id: I0be6f240073408bf9520766238ecf791c016a40b
2017-11-16 01:45:25 +00: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
b1c8a77f59 Do not throw IOException from RttCall.read()
Modify the signature of read() to no longer throw an IOException

Change-Id: Ib5a1d8615a4bd66716a54c53865a2d560f33de83
Test: builds
Fixes: 63769529
2017-08-02 16:27:52 -07:00
Tyler Gunn
b22077600a Merge "Define handover event sent when source disconnects prior to handover." into oc-dr1-dev am: 06c32f21fc
am: f141183abe

Change-Id: Ibd0612f738dfa727cb0c110ed801f568fc9c7f65
2017-06-23 21:17:14 +00:00
Tyler Gunn
34a2b31e95 Define handover event sent when source disconnects prior to handover.
Define new event which is sent to the destination call if the source
disconnects prior to the completion of the handover.

Test: Manual using test app
Bug: 62904673
Change-Id: I9fa74e374f78beb801f08ce1fd7260d7d7fe7cac
2017-06-23 08:32:00 -07:00
Jeff Sharkey
9039636535 Revert "Hide APIs not intended to ship in DR."
This reverts commit 0c28d43fe1.
2017-06-12 16:26:53 -06:00
Jeff Sharkey
0c28d43fe1 Hide APIs not intended to ship in DR.
This CL will be reverted once it merges into the next release branch
to re-introduce the proposed APIs.

This CL also makes the following code changes to preserve API
compatibility:

-- It keeps the recently added RemoteViews.clone() synchronized logic
intact, but moves it inside the method to avoid changing the API
signature.

-- It reverts the RttCall.read() behavior to the oc-dev logic, since
we can't throw IOException until we get an API level bump.  (The
original logic returned null instead of throwing.)

Test: builds, boots
Bug: 62427252, 62431886, 62427329
Bug: 62468911, 62431162, 62428935, 62429096
Bug: 37290820, 37359238, 36886243
Bug: 30143923, 35761231, 62192626, 29829689
Change-Id: I83d723f598cb0ee1fe198e65debd86ef7fd0420c
2017-06-12 10:26:01 -06:00
Tyler Gunn
9f6f04733e Further handover support changes.
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
2017-04-26 21:32:01 +00:00
Tyler Gunn
8bf7657357 Add connection handover APIs.
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
2017-04-10 22:12:45 +00:00
Hall Liu
7efa3442cc Merge "Add @TestApi annotations to CS-side RTT APIs for CTS" am: f6f3c16dfb am: 6689b57b66
am: bd2cf664ca

Change-Id: I22bd2201b0cc2b3bcbf8d1eb740a91485735d03f
2017-04-05 00:40:22 +00:00
Hall Liu
f6f3c16dfb Merge "Add @TestApi annotations to CS-side RTT APIs for CTS" 2017-04-04 23:31:38 +00:00
Tyler Gunn
36cd1fd124 Merge "Add api to retrieve call creation time." am: f19c52d20d am: 777adc636b
am: eee4d5157a

Change-Id: I9af3abdb0cf76b4e70547b1c58732fef3e07f86b
2017-04-04 21:53:01 +00:00
Hall Liu
ffa4a812f8 Add @TestApi annotations to CS-side RTT APIs for CTS
CTS tests need both the in-call and connection service sides of the APIs
to test Telecom functionality properly, so annotating the hidden-for-now
connection service APIs with TestApi.

Test: part of CTS
Change-Id: I3711729d7e8c8aff2735f4da9fbd04bcca6b4942
2017-03-30 13:49:12 -07:00
mike dooley
912174233d Adding a comment specifying the timebase for emergency call time
Test: none
Bug: 35767700
Change-Id: Idac16da57d0a9f21804f9c515974d269c012796a
2017-03-27 17:29:33 +00:00
Tyler Gunn
c0bf6deced Add api to retrieve call creation time.
Test: CTS
Bug: 36124432
Change-Id: Ic8288dec73adda7870377f189f560acef0a575f6
2017-03-24 16:04:25 -07:00
Hall Liu
6bb5110f2c Merge "Add further Connection-side APIs for RTT (part 2)" 2017-03-07 21:44:43 +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
b64ac4c57a 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
Merged-In: Ia80604b7dff8586ff222dbccdbe55e91aab02178
Change-Id: Ia80604b7dff8586ff222dbccdbe55e91aab02178
2017-03-06 16:48:24 -08: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
Hall Liu
91300fba36 Merge "Add @hide to RttAudioMode IntDef" am: 22af0f3377 am: c284379659
am: f000639f82

Change-Id: Ibcb239e0aa3499386f6f71026084276b07554cdb
2017-03-01 01:11:04 +00:00
Hall Liu
07094df24a Add @hide to RttAudioMode IntDef
IntDefs apparently require an @hide annotation to avoid breaking CTS
tests. Adding it here.

Change-Id: Ifd748b55e68091132571df7e74fdb797bd6a83fc
Test: CTS
Fix: 35808951
2017-02-28 15:18:31 -08:00
Hall Liu
52084367c0 Merge "Introduce APIs for RTT calls (part 1)" am: 27ad05169e am: d83b06cd31
am: ba6c607728

Change-Id: I02e7291091d2452cb7cdb7351c8744606b340e76
2017-02-22 19:05:03 +00: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
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
mike dooley
4af561ff17 Adding extra key to indicate when the last emergency call was made.
This can be used to determine if an incoming call is potentially
an emergency callback.

Bug: 30952524
Test: none
Change-Id: I2d4ca8e6885c0314394b3a2ad389ad8115b79156
2017-01-10 20:56:23 +00:00
Christine Hallstrom
2830ce9a09 Add ability to set supported audio routes on phone accounts and connection
The set audio routes are used by Telecom to restrict where the audio may
be routed to. For example, an account can specify that calls may not be
routed over bluetooth headsets, which will prevent a new call from being
routed to this source.

This is a cherry-pick of abandoned ag/1521009.

Bug: 32958838
Change-Id: Idd5e4d38b157f11454f3d991385644f2f384596e
2016-12-13 17:48:50 -08:00
Christine Hallstrom
3e68c06ed3 Add ability to set supported audio routes on phone accounts and connection am: 4e22d6dc45 am: bad3a2ab2e
am: 22de17247b

Change-Id: Ib2eab7f6bc9105977b586366b5bd46097e1aca1c
2016-12-02 04:03:55 +00:00
Christine Hallstrom
4e22d6dc45 Add ability to set supported audio routes on phone accounts and connection
The set audio routes are used by Telecom to restrict where the audio may
be routed to. For example, an account can specify that calls may not be
routed over bluetooth headsets, which will prevent a new call from being
routed to this source.

This is a cherry-pick of abandoned ag/1521009.

Bug: 32958838
Change-Id: Idd5e4d38b157f11454f3d991385644f2f384596e
2016-12-01 17:18:35 -08:00
Tyler Gunn
b88b311463 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
2016-11-09 10:19:23 -08:00
Tyler Gunn
9c0eb0bd46 API cleanups per API review.
1. removing deprecation for setExtras on Connection/Conference as these
have legitimate use-cases going forward.
2. Expanded documentation on Call.Callback class to clarify how it is
expected to be used.
3. Updated Callback#onConnectionEvent callback docs to clarify its usage.
4. Expanded Call#sendCallEvent docs to clarify expected namespacing of
call event keys and extras keys, as well as clarification about backwards
compatibility and expectations of ConnectionServices.
5. Standardized the "invoked" vs "notifies" language in the Conference
docs.
6. Clarified how Connection callbacks from Telecom should be implemented.
7. Added Bundle parameter expectations for pre-defined connection events.
8. Documented capabilities and properties toString methods.
9. Documented expectations for onCallEvent method.
10. Expanded documentation for sendConnectionEvent method to clarify
namespacing, use cases, etc.

Bug: 29759275
Bug: 29759954
Bug: 29759773
Change-Id: Ib8c983af4dbbfee68edb60937b268e2c1a9b5e64
2016-06-29 11:46:40 -07:00
Brad Ebinger
15847070b5 Adds CDMA Voice Privacy Property to Call
Adds the CDMA Enhanced Voice Privacy Property to a Call when it has been
enabled for the call by the network.

Bug: 26931679
Change-Id: I1f5b4a4fb22fe6aaaf0c424ef11925c6058c6e82
2016-06-03 13:34:07 -07:00
Tony Mak
23642330a7 Merge "Remove PROPERTY_WORK_CALL" into nyc-dev
am: 5ee420c0d5

* commit '5ee420c0d562e9ff55fe9bf03c746bc76fd40d5e':
  Remove PROPERTY_WORK_CALL

Change-Id: I17d204d01b2fc356fa6b70d4c5cd73f4b0a10d6c
2016-05-23 17:26:45 +00:00