Commit Graph

27 Commits

Author SHA1 Message Date
Hall Liu
31de23da21 Add SDK compatibility code for new call states
Add code that translates the new call states to old call states for
in-call UIs that don't yet support background call screening.

Test: CTS
Bug: 140317205
Change-Id: I104f5f7ab3e3dc075e1d9ed5c64fcd924f9a977b
2019-10-11 17:59:42 -07:00
Tyler Gunn
17933eb106 Cleanup unsupported appusage in Telecom apis.
Cleaning up some unsupport app usage tags in the Telecom APIs.
See bug for more information on why.

Test: Compile
Fixes: 127403196
Change-Id: I7dec2db4671142dab9e677f909292dec03ff09d7
2019-03-05 13:58:45 -08:00
Mathew Inwood
42346d1dd2 Add @UnsupportedAppUsage annotations
For packages:
  android.telecom.Logging
  android.telecom

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: I540cb034b933c0d1417a138747ed347fcf0748d7
Merged-In: I04a94d7555be608dc3958787554a3d33b72158ec
2018-08-01 11:33:05 +01:00
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
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
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
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
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
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
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
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
Tyler Gunn
876dbfb476 Add API support for multi-endpoint.
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
2016-03-14 23:26:34 +00:00
Hall Liu
f2301bcbbf Remove check for missing parent calls
Telecom now guarantees that when sending a conference call to an in-call
service, all children will be sent before any parents. Thus, it is
acceptable for children to temporarily have invalid references to
parent calls, but not vice versa.

Bug: 26818778
Change-Id: Id34e4c3a773e6f7c75be8c85ec2642cf05dabe0a
2016-01-29 18:41:14 -08:00
Sailesh Nepal
9c2618b17f Expose a meta-data value to allow dialer ringing
This CL exposes a new meta-data, IN_CALL_SERVICE_RINGING. If this is set
to true then ringing is played by the dialer instead of Telecom.

This CL also adds a new silenceRinger() API to InCallService. This is
needed to implement ringer silence on volume key down.

BUG: 22857261
Change-Id: I498538282eddbb727104f5b879f25adbef4e6cf6
2016-01-26 17:06:06 -08:00
Shriram Ganesh
ddf570e822 MWI,phantom call,Suppl services, error codes
1. IMS MWI Feature
- Add new API to update waiting
voice message count, for UI
propagation based on RFC 3842

2. phantom call support

Supplementary services

3. IMS : Incoming Call Barring
- Modified existing API to support
   request like registration,activation,
   deactivation,erasure,interogation.

4.Unsol supplementary service notification
- send unsol supplementary notification to UI
- add call history info

Miscellaneous
5. Ims: Originate conference call in DIALING state

6. IMS: Addition of Extras to ImsCallProfile
- Add EXTRA string definitions to ImsCallProfile

7. IMS: Definition of error code
- answered elsewhere
- FDN call failure

8.
- Propagate IMS supplementary services to telephony framework
- Introduce call forwarding history info.

Bug: 21725750
Squash of 2 earlier CLs:
         Change-Id: I52a64e9a5df3479189f62921a01655a50fb386fc
         Change-Id: Idc3a433785e84a3d683cbcfc7fb90f0b89dced12

Change-Id: I428ce3c6a043e43b86dea41622e0a828d8b45e53
2015-07-06 11:28:19 -07:00
Yorke Lee
4af5935c71 Rename AudioState to CallAudioState
Deprecate AudioState class and make methods @SystemApi where
necessary to minimize impact to SystemApi
Replace usages of AudioState inside Telecom sub-systems
Fire both onCallAudioStateChanged and onAudioStateChanged callbacks
for backward compatibility
Support both setAudioState and setCallAudioState for all classes

Bug: 21040387
Bug: 21088300
Change-Id: I3ec7b3afdaa344c6d639d1c421f1842d67f7d0f7
2015-05-13 14:58:15 -07:00
Andrew Lee
011728fc3a Add handler parameter for callbacks.
Bug: 20160491
Change-Id: I94639b06b8c97b6585e169d667a67ce328e716af
2015-04-30 15:24:50 -07:00
Etan Cohen
1418054108 Rename removeVideoCallListener to unregisterCallback
Change-Id: Ie6b5ac9131e81900efc7d3fa67056aa47d566a44
2015-04-24 15:22:03 -07:00
Etan Cohen
d7b4b81274 Merge commit '7595842' into merge2
Change-Id: I7e11e98e6d59562374195a8761d64a79dc0268e8
2015-04-24 13:56:35 -07:00
Santos Cordon
29886d8571 Unfinal getPhone.
The change to make it final was breaking existing apps.

...and other changes.

Bug: 20283873
Change-Id: I8db4243850ad15f688dbca59ff5427b4799cbd1b
2015-04-16 16:12:20 -07:00
Tyler Gunn
75958420f2 Support for multiple VideoCall.Listeners for a VideoCall.
The current code assumes that only a single instance of VideoCall will be
provided to the default system InCall UI.  Ideally multiple
InCallService implementations should be able to use the VideoCall APIs.
Note: it only really makes sense for a single InCallService to get/set
the video surfaces.

- Fixed bug in ParcelableCall which would cause a new instance of
VideoCallImpl to be created every time a call is updated from Telecom.
Added a flag to ParcelableCall to indicate whether the parcel includes a
change to the video provider information, which is used when unparceling
to determine whether to set/create the video call impl.
- Renamed "setVideoCallback" to "addVideocallback".
- Modified Connection.VideoProvider code to keep a list of Video callbacks
and fire off all of them when Video Provider changes occur.

Bug: 20092420
Change-Id: Ic16b6afe1b7532cc64d006c133adbae57946d97d
2015-04-16 16:37:25 +00:00
Jay Shrauner
1cf9b6bec1 DO NOT MERGE Make Telecom/InCallUI APIs public
Bug:20260870
Change-Id: Ie3a2db0685664f2f1ceea8f40b1249d01e9385b8
2015-04-15 14:42:24 -07:00
Jay Shrauner
55b97525f0 Make Telecom/InCallUI APIs public
Bug:20260870
Change-Id: Ie3a2db0685664f2f1ceea8f40b1249d01e9385b8
2015-04-15 12:03:48 -07:00
Yorke Lee
2287a01bb9 DO NOT MERGE Remove proximity methods in TelecomManager
Bug: 20160495
Change-Id: Ib0156cf170d16b48f97e08027c912fc3f45691fb
2015-04-14 16:04:22 -07:00
Yorke Lee
22244d0577 Hide Phone proximity sensor methods
Has to be done in master and not m-wireless-dev, because
m-wireless-dev doesn't contain system-api/23.txt.

Bug: 20160495
Change-Id: I910b3ecafd78c31081b38325b436b4f2b5a54c8d
2015-04-14 12:34:28 -07:00
Santos Cordon
6c912b7d05 Make add-call a global property of telecom. (1/4)
ADD_CALL didn't make sense as a property of Connection or Call.
This changes it to be a global property instead.

Bug: 18285352
Change-Id: I658e7a6977a848600272cde2914612c8691bb801
2014-11-10 19:19:35 +00:00
Tyler Gunn
ef9f6f957d Renaming Telecomm to Telecom.
- Changing package from android.telecomm to android.telecom
- Changing package from com.android.telecomm to
com.android.server.telecomm.
- Renaming TelecommManager to TelecomManager.

Bug: 17364651
Change-Id: I192cb5d189f55db012ea72ee82ccc5aedbc21638
2014-09-12 22:16:17 -07:00