43 Commits

Author SHA1 Message Date
Tyler Gunn
1e9bfc6461 Fix incorrect android.telecom.Call.Details equality check.
The the android.telecom.Call.Details class provides its own equals
implementation.  Recently added in M is to also check if the mExtras
and mIntentExtras are different.  Unfortunately, Bundles do not implement
equals.  As a result when Telecom calls are parceled and sent to the
InCallServices, this means that the internalUpdate method will always
assume that the Details of a call have changed, even if they have not.
This was causing a LOT of extra calls to onUpdate in the InCall UI (2x the
amount).  Although there is still room for improvement in the number of
callbacks from Telecom, this fix prevents a pretty significant regression
on that front.

Bug: 23218195
Change-Id: I128e996faf60376ed3df1dc848a97c4a7b0482ee
2015-08-19 20:52:13 +00:00
Roshan Pius
1ca6207a1e Change sequence of call removal from Phone's db.
Since the Call API's callbacks are now fired from handlers, they end up
changing the order in which the callbacks from the Phone and Call API's
are fired. To preserve the below ordering, we move the call removal from
Phone's db to after all the onCallDestoryedcallbacks have executed.
1. Call->onStateChanged
2. Call->onDetailsChanged
3. Call->onCallDestroyed
4. Phone->onCallRemoved

BUG: 22127504
Change-Id: Ice17f727decb516baabbe69adae598ebdf370094
2015-07-08 14:47:36 -07:00
Yorke Lee
be2a4a248c Fix typo in Call.Details.propertiesToString
Change-Id: I7bb52138912fddef20862f5f7a29a8ec2e0a1d66
2015-06-12 10:10:55 -07:00
Santos Cordon
6b7f955c2d Add extras to Connections/Calls. (1/3)
Two major changes:
1) Add the notion of extras to a Connection.  These extras will be
parceled through to InCallService as Call.getExtras()
2) The previously existing Call.getExtras() has been renamed to
getIntentExtras(). This name better describes the fact that these
particular extras are from the original CALL or INCOMING_CALL intents.

Change-Id: I08c1baf4f08d54757f98012f0c08b423a707c53d
2015-05-28 09:43:00 -07:00
Yorke Lee
32f2473160 More video related API fixes
android.telecom.Connection.VideoProvider
* onSetPauseImage takes Uri instead of String
* changeCallDataUsage -> setCallDataUsage
* add quality constants to changeVideoQuality() docs

android.telecom.InCallService.VideoCall
* setPauseImage takes Uri instea dof String

android.telecom.VideoProfile.VideoState
* Move constants to VideoProfile, prefix with STATE_

Bug: 21040387
Bug: 21066505
Change-Id: I764e72aced9d1e2d30d6d0cf0862100860d47c79
2015-05-12 16:45:14 -07:00
Tyler Gunn
4538216a31 Change sendSessionModifyRequest VideoProvider API signature.
Including a fromProfile in addition to the requestedProfile.

- Changed VideoCallImpl to generate the fromVideoProfile based on the
call's current videoState.  This ensures the InCall UI only needs to
pass in the new video profile; the VideoCall Impl already has enough
knowledge to generate the fromProfile.
  - Changed VideoCallImpl to track the current videoQuality, which forms
a part of the fromVideoProfile.

Bug: 20704229
Change-Id: I89f293f03a2b13fc8c1dcfd8a07ab8640d3950e0
2015-05-06 08:52:27 -07:00
Andrew Lee
2378ea76d4 Add Properties to Call.Details.
Moved some capabilities to properties which seemed appropriate.

Bug: 20160395
Change-Id: Iacef4365822e5c3e50f0c41a501bf295c22055f1
2015-04-30 17:21:10 -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
d7b4b81274 Merge commit '7595842' into merge2
Change-Id: I7e11e98e6d59562374195a8761d64a79dc0268e8
2015-04-24 13:56:35 -07:00
Santos Cordon
e3c507b79b Remove CallState and rename PRE_DIAL_WAIT
Bug: 20532827
Bug: 20532435
Change-Id: I5f0308c5cf4e4a9cf9020b4fe7fa5f3f8dee6e67
2015-04-23 14:44:19 -07:00
Yorke Lee
e661d9fb6f Make CAPABILITY_CAN_PAUSE_VIDEO public
Change-Id: If20f642a3d6bda886a68bb1e0ce459c38361a73c
2015-04-21 13:42:24 -07:00
Jay Shrauner
d01242946e Merge "Remove connection substate" 2015-04-16 23:06:05 +00:00
Andrew Lee
da80c870a8 Rename Call*Listener to Call*Callback.
Deprecate the existing Listener methods and interfaces so that they
can be replaced.

Bug: 20160491
Change-Id: I11c104c625b03751f3792fc4367883c18c6e2d54
2015-04-16 15:17:20 -07:00
Jay Shrauner
8f98843924 Remove connection substate
Bug:20300433
Change-Id: Ifefc08b5165de3e0b6ce92007e5f612879dcc4d9
2015-04-16 14:42:39 -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
Vinit Deshpande
cb43ebb360 Merge "am b5e0cfb..557d2f5 from mirror-m-wireless-internal-release" 2015-04-16 02:36:30 +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
Andrew Lee
e268f4c28e DO NOT MERGE Suffix VT_LOCAL/REMOTE with BIDIRECTIONAL.
Bug: 20160395
Change-Id: Ib343fde5088f3a5823c73de6ab77564b4be0d12c
2015-04-15 13:08:21 -07:00
Jay Shrauner
55b97525f0 Make Telecom/InCallUI APIs public
Bug:20260870
Change-Id: Ie3a2db0685664f2f1ceea8f40b1249d01e9385b8
2015-04-15 12:03:48 -07:00
Jay Shrauner
193de667ed DO NOT MERGE Remove deprecated telecom APIs. Mark others final.
Bug:
Change-Id: I8a04903052a964f3997b5bb36730b8b200c8e472
2015-04-15 11:05:50 -07:00
Jay Shrauner
164a0acf53 Remove deprecated telecom APIs. Mark others final.
Bug:
Change-Id: I8a04903052a964f3997b5bb36730b8b200c8e472
2015-04-14 22:57:30 -07:00
Vinit Deshpande
80047faad9 am b5e0cfb..557d2f5 from mirror-m-wireless-internal-release
557d2f5 Merge "Add ConnectivityManager.reportNetworkConnectivity() API" into m-wireless-dev
ab5267a Fix onLost/onFound logic in isSettingsAndFilterComboAllowed
bfd17b7 Add ConnectivityManager.reportNetworkConnectivity() API
238e0f9 OBEX Over L2CAP + SDP search API for BT profiles
31a94f4 Add ConnectivityManager.getActiveNetwork(). Rework NetID allocation in ConnectivityService so registerNetworkAgent() can return the allocated NetID.
bf18bed Merge "Non-functional code cleanup of ConnectivityService." into m-wireless-dev
db8784e Merge "Cleanup of Video Call pause functionality." into m-wireless-dev
e75b9e3 Non-functional code cleanup of ConnectivityService.
e593d0a Onfound onlost feature.
0326f58 Merge "API for config app." into m-wireless-dev
e9b056f API for config app.
d5351e7 RTT framework interface update
582b868 Unhide Network.openConnection(URL, Proxy).
0d719ca Fix typos in ConnectivityManager documentation.

Change-Id: Ib4c88f6d7ad1b24227b032555c62a5804194384b
2015-04-14 16:15:02 -07:00
Prerepa Viswanadham
d4ea01b4ac Merge "Merge commit 'e593d0a' into merge_work" 2015-04-12 21:46:15 +00:00
Andrew Lee
9a8f9ce7ad Suffix VT_LOCAL and VT_REMOTE with BIDIRECTIONAL.
Bug: 20160395
Change-Id: Ieb35f7b8a91022bae899b3fc093065c36d2d68c8
2015-04-11 14:15:29 -07:00
Prerepa Viswanadham
57bf2a8a38 Merge commit 'e593d0a' into merge_work
Change-Id: I4f8ae40fc446cd9cda4d5c6ec99469a98dda595b
2015-04-10 15:58:10 -07:00
Tyler Gunn
b5e0cfb24e Cleanup of Video Call pause functionality.
Whether the paused videoState is available is dependent on the carrier's
implementation of the VT spec. The original VT implementation assumed
that this was stored in a system property accessed via InCall; these CLs
move this to a Call/Connection capability which will ultimately support
multisim video capable devices.

- Added new connection/call capabilities.

Bug: 16680364
Bug: 19820114
Change-Id: I3840f92270100811161120dffcfe297bef7c4ea2
2015-04-07 16:10:51 -07:00
Rekha Kumar
07366813cd IMS-VT: Upgrade/Downgrade change
-Add isVideo API to VideoProfile.VideoState

IMS-VT: Fix propagation of device orientation.
Orientation received at VT Service is incorrect.
Fixed propagation of device orientation to VT service.

IMS-VT: Upgrade fix
-Add session modify call timed out constant

Notify listeners of video quality changed event
- Propagate the video quality changed message to the UI.

IMS: Add support for video quality
- Add Config interface to get/set video quality

IMS-VT: Multitasking feature
-Support for video multitasking

IMS-VT: Modification of data usage aidl
Change data usage aidl interface to take parameter type long
instead of int

Change-Id: I7cda2a689edb86d025dfe8efc8f573918c4bd6bc

Propagate the call substate changed message to the UI

IMS-VT: Add call modifiable capability

PhoneCapababilities call type modifiable constant added

IMS-VT: Add a bit mask CALL_SUBSTATE_ALL with all call substate bits set

IMS-VT: Enable Video conferencing.

Enable Video conferencing.

Change-Id: I4240aa6f32c75d6eea8a41da3c87bca651f0901b

IMS-VT: Add hide for setVideoProvider API
Observed compilation error for SDK generation due to setVideoProvider
API. Marking setVideoProvider as hide inorder to resolve the
compilation error.

IMS-VT: Add persist.radio.ims.audio.output for VT calls
-- Add persist.radio.ims.audio.output to set the default speaker
   for VT calls.
-- Add required constants

IMS-VT: Add additional error codes for upgrade downgrade
-Add support to send additional error codes to UI during
 upgrade downgrade.

Change-Id: Id452d225098fe3bccdcd37d242985c5c761144c1
2015-04-01 21:40:45 +00:00
Prerepa Viswanadham
4209a28270 Merge remote-tracking branch 'goog/mirror-m-wireless-internal-release' into master_merge
Change-Id: I49aab437af220f1139cfd2d0a9c362acce31074e
2015-03-24 13:46:08 -07:00
Tyler Gunn
d11a31561e resolve merge conflicts of bcb17eb to m-wireless-dev.
Change-Id: Ic8211fb14caec993c8e38c790006577493f7a607
2015-03-18 13:09:14 -07:00
Tyler Gunn
96d6c40c71 resolved conflicts for merge of 00de38a1 to master
Change-Id: Ib1ac99ba7181ad79af94a04124380833bcb79a0c
2015-03-18 12:39:23 -07:00
Dong Zhou
bcb17eb7a9 am 89f41eb3: Define the capability to speed up MT call audio
* commit '89f41eb39e910e220957ac861651ead17eff9085':
  Define the capability to speed up MT call audio
2015-03-17 22:21:21 +00:00
Dong Zhou
89f41eb39e Define the capability to speed up MT call audio
Bug: 19656525
Change-Id: I0bc88e85b807871b2883a785efac91bd0e1f6d8d
2015-03-17 22:16:52 +00:00
Tyler Gunn
068085b35d Fix emergency callback number not shown for incoming calls.
- Adding new Connection/Call capability: CAPABILITY_SHOW_CALLBACK_NUMBER.
- Used in Telephony to indicate on an incoming call that the callback
number should be shown.

Bug: 18689292
Change-Id: I1ab3baf9f0d5a22c4b01e6504e88d496182e01c7
2015-03-11 20:16:19 +00:00
Andrew Lee
5e9e8bb30e Indicate local and remote RX/TX capabilities for VT.
This provides more granular API support for representing the mix of
state and capabilities of local and remote video clients. For our
implementation, we are primarily concerned with bidirectional video
calling. But, this provides support for representing certain error
scenarios, and flexibility for other parties which may desire to
implement one-way video calling.

Change-Id: I0373ffd377c3547fa8dd98ab5fde4f8d616a1d2f
2015-03-10 15:41:52 -07:00
Andrew Lee
1a8ae3e730 Rename from VoWIFI to WIFI.
Make capability labeling for calls over Wifi more generic.

Bug: 19151548
Change-Id: I8b4adb0fb6f1e09f7c16d2d0f48bc7fe849a289e
2015-02-19 00:43:09 +00:00
Andrew Lee
80fff3c0a5 Rename VoLTE capability to HD audio.
This is a more specific and less technology-specific title for
communicating this to Dialer/InCall.

Bug: 18103173
Change-Id: I70ad50bb09eb807a621259976bb9fb7953a9a8aa
2014-12-01 14:42:16 -08:00
Ihab Awad
5c9c86ec0f Telecom API updates (1/6)
Bug: 18292176

Change-Id: I060366234a5a60510c385dc837f2b7e79596eaf5
2014-11-28 15:54:35 -08:00
Nancy Chen
36c62f3e3c Add an option to set the selected phone account as the default. (1/3)
Modify the phoneAccountSelected method to support the option to set the
selected phone account as the default for outgoing phone calls.

Bug: 18078232
Change-Id: I2689bc9611366d521dfd3dc2086fd31eb6393876
2014-10-22 13:32:57 -07:00
Tyler Gunn
4afc6afd20 Fixing where call goes from disconnecting to active to disconnecting state.
- Adding disconnecting state to telecom used to communicate that a call is
being disconnected to InCall UI (rather than it existing only as a state
in the InCall UI).

Bug: 17821930
Change-Id: I6c2d9521915ba154c0468eea62c12c30060edd2e
2014-10-07 10:14:55 -07:00
Nancy Chen
f4cf77c5dc Add constructor for DisconnectCause that does not require a tone.
In order to create a DisconnectCause with a label/description that does
not require specifying a tone.

Bug: 17486242
Change-Id: If82605ff20fc9f53ed41b49e12575424c6efc2b6
2014-09-19 11:01:45 -07:00
Nancy Chen
513c892135 Replace get*PhoneAccounts* public API methods with new method (1/3)
Hide getCallCapablePhoneAccounts and getPhoneAccountsSupportingScheme
because a third party app should not be able to see all phone accounts
registered. Replace instead with getPhoneAccountsForPackage(Context)
which will only return the phone accounts registered by a particular package.

Bug: 17510811
Change-Id: I8465ef4f13b62fe83f51835cfffe1656298041a8
2014-09-17 18:34:13 -07:00
Andrew Lee
7f3d41fd12 Add new DisconnectCause class to telecomm.
+ Add a hidden "UNKNOWN" default type to ToneGenerator.
- Hide the Telephony DisconnectCause from the public API.
+ Add a Telecomm DisconnectCause. This is parcelable, and contains
information (code, user facing message, non-user facing reason,
and tone) to help describe the disconnect state and what behaviors
an application can implement for the user experience. This reduces
the causes for a disconnect to a more generic set.
+ Lots of work to pipe this through. DisconnectCause replaces the
code and message which were formerly passed around.

Bug: 17241433
Bug: 17329632
Change-Id: I9d337e478a8784bcc0ade02267c2df52cac9bf17
2014-09-16 12:07:41 -07: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