57 Commits

Author SHA1 Message Date
Sailesh Nepal
1bef339b88 Add new public API to allow call screening
This CL adds a new service that the default dialer can implement to
screen incoming calls.

If the service is implemented then Telecom uses it to decide if a call
should be shown to the user or rejected.

Note, I initially tried to simply extend InCallService instead of
creating a whole new service. The problem with this approach is that:
  - this breaks some in call services which show UI as soon as they are
    bound to
  - the in call service lifecycle is tightly coupled to adding and
    removing calls. Call screening happens before a call is added which
    makes it a bad fit to in call service
  - call screening is a function of only the default dialer's in call
    service but the existing code also binds to "controller" call
    services

For these reasons it seemed simpler to just create a new optional
service.

BUG: 22857261
Change-Id: I53f2ef93360e0af19b6ce45af21026be6cf3a7f3
2016-01-27 13:54:12 -08:00
Tyler Gunn
f97a009f76 Add capability to determine if downgrade to audio is denied.
By default we assume downgrade to audio is permitted; this capability
probides a means for a carrier to specifically deny that.

Bug: 22728624

Change-Id: I75e0a5b9e5ad2d970003a4691b6fc0ac0dcfe9e0
2016-01-19 15:59:34 -08:00
Tony Mak
64ef34bc1a Merge "Add a new property PROPERTY_WORK_CALL" 2016-01-06 12:25:14 +00:00
Tyler Gunn
bd1bf125e4 Merge "Fix capability/property checking methods to handle multi-bit capabilities." 2016-01-04 16:33:37 +00:00
Tony Mak
a68dcce8c3 Add a new property PROPERTY_WORK_CALL
In our current design, in-call ui in parent user is used.
We need a way for Telecom to tell in-call ui that is the call a work
call or not show that we can have some UI changes to reflect it.

Bug: 26022174
Change-Id: I5f54371ddac14ffdb50359c2e792b9f24858bcb8
2015-12-19 02:49:27 +00:00
Tyler Gunn
014c711b0d Fix capability/property checking methods to handle multi-bit capabilities.
Some capabilities, such as CAPABILITY_SUPPORTS_VT_LOCAL_BIDIRECTIONAL
are defined in terms of other capabilities; eg:
CAPABILITY_SUPPORTS_VT_LOCAL_RX | CAPABILITY_SUPPORTS_VT_LOCAL_TX

The current capability logic will return TRUE if checking for
CAPABILITY_SUPPORTS_VT_LOCAL_BIDIRECTIONAL and either of the TX or RX bits
is on; which is incorrect.  Yay cts tests for finding this.

Bug: 26272951
Change-Id: I55a5676674ee74e213deb3a07e226b04a37d10ee
2015-12-18 14:33:57 -08:00
Tyler Gunn
584ba6c1d1 Remove dependency on android.telecom.Call in VideoCallImpl for testing.
VideoCallImpl had a depedency on android.telecom.Call, which was used
to get the current video state of a call when the user issues a
session modify request (we need to know what the video state was before
the request was sent).  This proved problematic for unit tests, as
android.telecom.Call is a final class and cannot be mocked.

These changes assume the VideoCallImpl will instead have a video state
property, which is updated by the Call whenever it changes.  This
removes the dependency on the Call, and makes it possible to unit test the
API.

Change-Id: Ie67255d68b23e32aa177b30ac6439632fad5cc27
2015-12-08 10:53:41 -08:00
Bryce Lee
5a0b7e9800 am 8bfa215a: am 3ef68803: am ad9a0efc: Merge "Add capability for a connection hand rejection text response." into cw-e-dev
* commit '8bfa215ab1ea29cc51ad38fbf4728542c8cb0aae':
  Add capability for a connection hand rejection text response.
2015-09-01 16:07:25 +00:00
Bryce Lee
8190168077 Add capability for a connection hand rejection text response.
Change-Id: Id90417736bed7ab8750144ccaf3c7b449ec832b8
2015-08-28 16:38:02 -07:00
Tyler Gunn
10397d377d am 393a93ab: am 7d4cf23f: am 9e191aa6: am a6562603: am 1e9bfc64: Fix incorrect android.telecom.Call.Details equality check.
* commit '393a93abaf8eb14a6b7efebcd7665484558161f8':
  Fix incorrect android.telecom.Call.Details equality check.
2015-08-19 23:13:40 +00:00
Tyler Gunn
a656260310 am 1e9bfc64: Fix incorrect android.telecom.Call.Details equality check.
* commit '1e9bfc6461d3fe5455c9d7a21414ec66695b5798':
  Fix incorrect android.telecom.Call.Details equality check.
2015-08-19 22:29:51 +00:00
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
Yorke Lee
e886f63b2b Ensure that OnCannedTextResponsesChanged callback is fired
Bug: 22952515

Change-Id: Ic94db1dd2fc9d7db2259265b90be86617ed93971
2015-08-05 16:51:54 +00:00
Roshan Pius
f08a7ada3a am 8f596907: Merge "Change sequence of call removal from Phone\'s db." into mnc-dev
* commit '8f596907a5241badad821a6d3490eb2cd7dd23c5':
  Change sequence of call removal from Phone's db.
2015-07-08 22:08:46 +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
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
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