Commit Graph

31 Commits

Author SHA1 Message Date
Ihab Awad
6107bab041 ConnectionService API has only one completed callback (1/3)
Refactor ConnectionService API so it has only one "completed"
callback, and connection state and failure codes indicates what
happened. Previous design where we had separate callbacks for failure,
cancellation and success was error prone because it was easy to forget
to implement one of them.

Bug: 16993846
Bug: 17070939

Change-Id: I84bf5d041cf78193ccf80db201b08db3b7014830
2014-08-19 10:51:00 -07:00
Santos Cordon
823fd3c79d Update conference call APIs.
Clean up conference call APIs to use a distinct type separate from
Connection.  Also allow the addition of Conference calls at any point
using addConference() API method.

Bug:16844332
Bug:16449372
Change-Id: I34e45fde1aa43559f5f4e29b990929c188b16875
2014-08-18 17:30:58 +00:00
Ihab Awad
b19a0bcdd8 Final structural tweaks to Telecomm API (1/8)
Bug: 16416927
Bug: 16494880
Change-Id: I45fbe287c410cbb5e1b985f320b862d732811f43
2014-08-13 11:16:46 -07:00
Ihab Awad
8aecfedb7b Fix incorrect connection ID for remote connection service
Also cleans up incidental issues including:
* Remote connection service disconnects from the service it
  represents if it is not currently handling any connections;
  hope to avert excessive service pinning in the future.
* Fix destroyed connection handling.

Bug: 16828152
Change-Id: Id4555f91ddac5e9c1a12ce00bfd1ee0d6d2cb1d9
2014-08-12 03:27:12 +00:00
Santos Cordon
7c7bc7f691 Add setConferenceable() API from ConnectionService to incall. (1/4)
Change-Id: I64fdca08d35f893d755e3b154543a261b1418343
2014-08-06 03:36:09 -07:00
Ihab Awad
5d0410fa7c Finalize implementation of Remote Connection Service (1/4)
Change-Id: I3788c9ab03a979f22ab628637adf6d520038cb6e
2014-08-05 18:21:26 -07:00
Ihab Awad
f8b69887b4 Connection creation and service wiring for WiFi call managers (1/3)
Bug: 16469413
Change-Id: I019922f76f54d2fa376513a6284d6322959a8235
2014-07-29 15:14:33 -07:00
Evan Charlton
bf11f98deb Make creating the Connection synchronous
Get rid of CreateConnectionResponse and have the ConnectionService
return the built connection instead.

Change-Id: Ibbf896e5b188b98eb386d6624d3a5d5cacf49922
2014-07-25 11:07:50 -07:00
Andrew Lee
50aca23bd7 Add VideoCall and VideoCall.Listener as an inner classes of Call.
Bug: 16494880
Bug: 16495203
Change-Id: Ife3b6723374ea5fbbff4927c4f9168d075be21e1
2014-07-25 08:58:10 -07:00
Santos Cordon
e8dc4bef00 Sent initial data to telecomm on connection creation. (1/3)
Telecomm was not sending the initial state for new connections forcing
the connection services to postpone when they set data on the connection
which resulted in hacky code.  This CL makes use of a
ParcelableConnection to send the intial connection data.

Change-Id: If571414aba19fa1bb282e30632431962b8366cf4
2014-07-21 19:29:39 +00:00
Evan Charlton
8c8a062f52 Rename PhoneAccountMetadata to PhoneAccount
Change-Id: I4597b14110c1cee7f637ec125b839852ef0f34c4
2014-07-20 15:12:16 -07:00
Evan Charlton
6eb262c351 Rename PhoneAccount to PhoneAccountHandle
Change-Id: I2e97b348e6316a8b3ccc39fd81013e7f514a2889
2014-07-20 10:34:59 -07:00
Sailesh Nepal
2ab88cc313 Add Connection.startActivityFromInCall
This CL adds a new public API to allow Connections
to start an activity on top of the in-call UI.

The Connection passes a PendingIntent to Telecomm which
then forwards it on to InCallUI. The Connection can cancel
the operation by calling PendingIntent.cancel().

This allows services like SIP and Hangouts to show dialogs
to the user when making a call.

Change-Id: I65119a89c925a93467d1b27304ffec9b088b172f
2014-07-18 14:59:30 -07:00
Sailesh Nepal
480315939d Use main thread for RemoteConnection callbacks
Currently call backs from RemoteConnection can happen
on non-main threads. This CL updates the code to always
use the main thread.

Change-Id: I134c0fbdba1f916f49676c0c6696ac63bcb7c513
2014-07-18 14:21:23 -07:00
Ihab Awad
94cf4bff13 Wire up multi-SIM experience (1/4)
Change-Id: Ib63843267f06b329a675e7ea86167b2cbb554f1b
2014-07-18 10:02:25 -07:00
Tyler Gunn
aa07df84f2 Wiring video state through from Connection
Bug: 16285417
Bug: 16013178
Change-Id: Ia48959248ca22f4569b0ffd01a1716470aa0a711
2014-07-18 01:30:34 +00:00
Sailesh Nepal
c5b01573a0 Add support for remote incoming calls
This CL allows a incoming call to be handled through the
remote connection API.

All calls, incoming and outgoing, are now routed through
ConnectionService.createConnection.

Change-Id: I5232d062ad3b559f4fe7c8224e7234b2c6bf8431
2014-07-14 20:49:03 -07:00
Ihab Awad
807fe0a19a Implement multi-SIM capabilities (1/6) [DO NOT MERGE]
- Split PhoneAccount into PhoneAccount & PhoneAccountMetadata
- Move PhoneAccount methods from TelephonyManager to TelecommManager

Bug:16292368
Change-Id: Ib440368d6bd0572b63c942360450fde5c27d84b9
(cherry picked from commit 936b3552b4a3569be9904c826b95b632886fb45d)
2014-07-14 18:19:27 +00:00
Sailesh Nepal
612038642f Misc Telecomm API changes
The CL contains the following Telecomm API changes:
  - move CallFeatures into CallCapabilities
  - add Connection.setHandle(URI, CallPropertyPresentation)
  - add Connection.setCallerDisplayName(String,
    CallPropertyPresentation)
  - add Connection.swapWithBackground: this is used to swap a
    CDMA call with its background call
  - add StatusHints.getExtras: this is used to display
    additional status info such as long distance rates
This CL also includes InCallServcie, and RemoteConnection
plumbing for the above.

Change-Id: Iaffe0b84cea6003f2a9b9d8b30676743d2b236d4
2014-07-12 03:01:13 +00:00
Sailesh Nepal
1a7061ba95 Add Connection.setCallCapabilities
This will be used to enable things like hold and
conferencing.

Change-Id: I90238eeefbcbfaa044881d80833b62e4474821d6
2014-07-09 23:20:41 -07:00
Sailesh Nepal
e7ef59a77d Add Connection.setStatusHints
This CL allows a connection to specify a status hint. The hint
contains a label and icon that can be displayed in the InCallUI.
For example, wifi calling can set a wifi icon and ssid.

Change-Id: I125628b74784d2303b9a429038a9f7ee604f241e
2014-07-08 21:54:03 -07:00
Sailesh Nepal
33aaae4a07 Add Connection.setAudioModeIsVoip
This API will be used by Telecomm to set the call's audio mode.

Change-Id: I29028e614c598d1f2501c4dfdcdbfc929b09f925
2014-07-09 00:19:59 +00:00
Tyler Gunn
12013ad193 Adding "start call with video" extra for ACTION_CALL intent.
- Added extra.
- Updated Call, CallInfo, ConnectionRequest to pass extra.

Bug: 16014224
Change-Id: I8b390f4d416c71bb6139d299b746fc06d5f8e6a5
2014-07-08 14:04:58 -07:00
Sailesh Nepal
2a46b90222 Move ICallService.aidl to IConnectionService.aidl
Change-Id: I5a082e50dafea0104174cb97d3ae8af168944fc3
2014-07-08 04:15:55 +00:00
Sailesh Nepal
2bed9563ed Remove handoff APIs
This CL removes the old handoff APIs and renames
handoffCall() to phoneAccountClicked().

Change-Id: Iab1595faaadcdfe428d97891d314babea21e9633
2014-07-02 21:33:21 -07:00
Ihab Awad
9c3f18846a Rename Telecomm "Subscription" to "Account" (1/7)
Change-Id: Ieb29f6ba9dadacb2c7e26969a47141e11a339a40

Conflicts:
	telecomm/java/android/telecomm/InCallCall.java
2014-07-02 12:27:13 -07:00
Tyler Gunn
8d83fa9bbd API support for reporting of changes to call features.
(eg VoLTE, VoWIFI, etc)

Bug: 15987281
Change-Id: Iae351ca2fe7b36c067106695f611cca6b3230556
2014-07-01 19:22:22 +00:00
Sailesh Nepal
091768c302 More fixes for Connection and RemoteConnection
Various clean ups and fixes:
  - allow remote connection to have audio set
  - allow remote connection to have abort
  - move onPostDialWait from ConnectionService to Connection
  - hide APIs we don't need

Change-Id: Ib2d0b40f2e9e7a6b5fbf5d6db48b509b7db3c906
2014-06-30 15:23:53 -07:00
Andrew Lee
5ffbe8b850 Add methods to set a CallVideoProvider on a Call.
Bug: 15893156
Change-Id: I6ae151bc37d8c0be2e4c9823e9444717b6cdc0de
2014-06-27 15:03:24 -07:00
Sailesh Nepal
506e38690f Add API to cancel outgoing calls
This replaces CallServiceSelectorAdapter.cancelOutgoingCall

Change-Id: I9e5da9c607675bc3c230f6eb6d1cc149a38bf905
2014-06-25 17:27:15 -07:00
Santos Cordon
52d8a15e14 Remote Connection implementation.
API classes for daisy-chaining connection services.

Change-Id: I90991697456377b72ec73d2ef835864cb0b7737a
2014-06-24 19:06:20 -07:00