Commit Graph

19 Commits

Author SHA1 Message Date
Santos Cordon
0159ac0cfe Additional changes for Conference.
1) Connection.setConference() checked to see if the conference was valid
before setting it.  This prevented us from populating child connections
on a new conference until it was added.  Now we allow it but dont sent
the update unless the conference has already been sent.
2) removed unnecessary ArrayList<>() wrappers on CopyOnWriteLists.
3) Updated disconnect/hold/unhold so that they are sent to Conference
objects as well as Connection objects.
4) Added support for separating a child conference call.
5) Additional Logging

Bug: 15621105
Bug: 17136172
Change-Id: I939c36bc9694b9d81f0ff582e2fbe335006aa485
2014-08-21 23:40:35 +00:00
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
Jay Shrauner
229e3820dc Prevent ConcurrentModificationExceptions
Use sets backed by ConcurrentHashMaps instead of HashSets, and
CopyOnWriteArrayLists instead of ArrayLists, to prevent concurrent
exceptions if listeners try to remove themselves in callbacks while
iterating over the listeners.

Bug:16325026
Change-Id: I55e081eda6ba19fa466bbf019c648bbdaf833c33
2014-08-15 13:41:53 -07: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
Jay Shrauner
b0c0e36faf Use thread safe set for adapter set
Switch from HashSet to set backed by a ConcurrentHashMap to prevent
ConcurrentModificationExceptions.

Bug:16898286
Change-Id: I5d94b403469e98c5f5431fc1d0ad020985100cfd
2014-08-08 17:08:53 -07:00
Santos Cordon
7c7bc7f691 Add setConferenceable() API from ConnectionService to incall. (1/4)
Change-Id: I64fdca08d35f893d755e3b154543a261b1418343
2014-08-06 03:36:09 -07:00
Andrew Lee
1418576521 Move VideoCallProvider into ConnectionService.
Bug: 16494880
Change-Id: I0778197d06fcd219db4a1e1fa065e69026254a99
2014-07-28 10:41:37 -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
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
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
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
4dd9df58a6 Fix exception in ConnectionServiceAdapter.binderDied
Bug: 16215975

Change-Id: I49e7c77c01f306995bb743523436c7620c48a568
2014-07-11 13:35:38 +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
Sailesh Nepal
2a46b90222 Move ICallService.aidl to IConnectionService.aidl
Change-Id: I5a082e50dafea0104174cb97d3ae8af168944fc3
2014-07-08 04:15:55 +00:00