62 Commits

Author SHA1 Message Date
Hall Liu
85313f8c35 Merge "IMS: RTT interface changes" am: 814fdf9312 am: bc56b97770
am: 7d1712e5b9

Change-Id: Ia5c6a16a69c71cfd96479e8df403669d5aaff6f9
2017-04-04 21:37:53 +00:00
Hall Liu
814fdf9312 Merge "IMS: RTT interface changes" 2017-04-04 21:21:17 +00:00
Anju Mathapati
7e177da50c IMS: RTT interface changes
Changes to implement RTT feature

Test: compilation
Change-Id: I6ce6993f5ecc321b91642cab297efb35cda3de2b
2017-03-07 16:21:05 -08:00
Brad Ebinger
46681288bc Merge "reates base implementation of ImsService AIDLs" am: b60869db12 am: fe8d588dad
am: fe2a74bfee

Change-Id: I9b7885ead16666b57e3b77b2bb868f81fb68de3b
2017-02-23 20:19:50 +00:00
Brad Ebinger
fe8d588dad Merge "reates base implementation of ImsService AIDLs"
am: b60869db12

Change-Id: I6edf280213bee0756aad65148daafe3300849baa
2017-02-23 20:10:34 +00:00
Brad Ebinger
21013dcf1b reates base implementation of ImsService AIDLs
This change introduces "base classes" of the AIDL interfaces that are
implemented in vendor provided ImsServices. This allows for new APIs
to be added to the AIDL files, along with stub implementation of those
AIDLs in the base classes. By extending from the base class, older
implementations of the AIDL interfaces will not need to be updated
when the interface changes.

This change also moves some of the com.android.ims classes from
frameworks/opt/net/ims to frameworks/base. Any class that will be
used in the new unbundled ImsService system will need to be in
the framework, as opposed to the optional library that they are
in now.

Bug: 30290416
Test: Manual
Change-Id: I4a186d8e910d6d4f711e983ec8d717fc5cbdefab
2017-02-22 16:58:50 -08:00
Brad Ebinger
caa5a35371 Merge "Remove Session ID from ImsService APIs that do not need it." am: 975be6c065 am: 50bc658e20
am: 8e8c26e25a

Change-Id: I7c7e02c23da5ef12bb0645be39eada1d11b8725c
2017-02-21 20:32:16 +00:00
Brad Ebinger
50bc658e20 Merge "Remove Session ID from ImsService APIs that do not need it."
am: 975be6c065

Change-Id: I09469d99bc68133a4de594507854c269e905c40e
2017-02-21 20:24:21 +00:00
Brad Ebinger
e63b35d0b2 Remove Session ID from ImsService APIs that do not need it.
Traditionally, to initiate a new call with the ImsService APIs,
you have to "open()" the interface, which returns a session ID.
This is not needed for querying other information, such as the
provisioning status of the ImsService slot.

Test: Manual
Change-Id: I155b291a49b9aa5ed9599f5a78b1e8d7ff9f8e1c
2017-02-17 14:50:48 -08:00
Brad Ebinger
c9c8b590c5 Merge "Adds @hide ImsService APIs" am: 2b879016d3
am: f46aa6f9ee

Change-Id: I12e10d796a7b2d56cacf8e9b53bb5e228b79ecc3
2017-02-17 20:29:13 +00:00
Brad Ebinger
1639c21be6 Adds @hide ImsService APIs
Adds @hide ImsService API implementations to be used for the new
dynamic ImsResolver.

1) ImsService - The main class that all vendor ImsServices will implement.
ImsServices that implement this method must return their implementations
of MMTelFeature when onCreateMMTelFeature is called. The base ImsService
class also relays all method calls through itself as a proxy. So, when
Telephony calls a method, the ImsService figures out which MMTelFeature
should be called (by slot) and then calls that feature's method
implementation.

2) MMTelFeature/RcsFeature - Implements the I*Feature interfaces, which
are used on both sides of the interface. The vendor implemented ImsService
must implement all methods provided in the I*Feature interface in their
implementation of *Feature that they return to the ImsService.

3) ImsServiceProxy[Compat] - The Proxy interface in telephony that will be
called in ImsManager. When a method in this class is called, it will call
the respective AIDL function: Telephony -> IImsServiceController AIDL ->
vendor ImsService -> vendor ImsFeature implementation.
ImsServiceProxyCompat is there to provide backwards compatibility with
older ImsServices that do not use the new ImsService implementations.
It implements all of the methods that are defined in the new I*Feature
interfaces and translates them to the old ImsService AIDL calls.

Test: Adds Unit Tests (see frameworks/opt/telephony)
Merged-In: Id3466c178384158c788ab1d708ab108bb95866fc
Change-Id: Id3466c178384158c788ab1d708ab108bb95866fc
2017-02-16 11:14:26 -08:00
Brad Ebinger
15708a316b Adds @hide ImsService APIs
Adds @hide ImsService API implementations to be used for the new
dynamic ImsResolver.

1) ImsService - The main class that all vendor ImsServices will implement.
ImsServices that implement this method must return their implementations
of MMTelFeature when onCreateMMTelFeature is called. The base ImsService
class also relays all method calls through itself as a proxy. So, when
Telephony calls a method, the ImsService figures out which MMTelFeature
should be called (by slot) and then calls that feature's method
implementation.

2) MMTelFeature/RcsFeature - Implements the I*Feature interfaces, which
are used on both sides of the interface. The vendor implemented ImsService
must implement all methods provided in the I*Feature interface in their
implementation of *Feature that they return to the ImsService.

3) ImsServiceProxy[Compat] - The Proxy interface in telephony that will be
called in ImsManager. When a method in this class is called, it will call
the respective AIDL function: Telephony -> IImsServiceController AIDL ->
vendor ImsService -> vendor ImsFeature implementation.
ImsServiceProxyCompat is there to provide backwards compatibility with
older ImsServices that do not use the new ImsService implementations.
It implements all of the methods that are defined in the new I*Feature
interfaces and translates them to the old ImsService AIDL calls.

Test: Adds Unit Tests (see frameworks/opt/telephony)
Change-Id: Id3466c178384158c788ab1d708ab108bb95866fc
2017-02-16 11:03:31 -08:00
Tyler Gunn
58d8c5eb07 Merge "Change prototype for "setCamera" in IMS VideoProvider." am: c164b159f8 am: e55b11573e
am: 998655f80e

Change-Id: I01c5d8c15ce9377f126fc7268bd1a8ecee602dc8
2017-02-08 22:05:45 +00:00
Tyler Gunn
ca5cdb2d10 Change prototype for "setCamera" in IMS VideoProvider.
Changing "setCamera" prototype to include the uid.

Test: Unit test, manual test.
Bug: 32747443
Merged-In: I7e6eb617d724972b0fcbd2f9a27f5c3ee91efd2d
Change-Id: I7e6eb617d724972b0fcbd2f9a27f5c3ee91efd2d
2017-02-07 23:55:04 +00:00
Brad Ebinger
0f4a8ba209 Merge "Adding Dynamic ImsService Binding (1/3)" am: 8e6b13a1c0 am: 64057ab972 am: 2741442324
am: ded1df24e0

Change-Id: Ifd95efa076b7f5c8c8b02be7688aab1008bbc63c
2017-01-26 01:56:25 +00:00
Brad Ebinger
ded1df24e0 Merge "Adding Dynamic ImsService Binding (1/3)" am: 8e6b13a1c0 am: 64057ab972
am: 2741442324

Change-Id: Ibd5c988226e7994c332a7e7f8b40a9338cf84e0f
2017-01-26 01:49:53 +00:00
Brad Ebinger
024aaf2388 Adding Dynamic ImsService Binding (1/3)
Adds support for dynamic ImsService Binding (change 1/3). Included
in this change:
- AIDLs for ImsServiceController
- ImsFeature/ImsServiceBase definitions
- KEY_CONFIG_IMS_PACKAGE_OVERRIDE CarrierConfig option

Test: Unit Tests in opt/telephony
Bug: 30290416
Change-Id: Ic4cb1d85a29681b08a6a525c588a72209862dcc3
2017-01-25 15:12:28 -08:00
Dheeraj Shetty
07b64b8a40 Add API for reporting IMS registration failures
Add ImsRegistrationListener API to report registration failures in
the following scenarios:
1. Idle mode failures - new IMS registration.
2. Ims registration handover failures - Handover of IMS registration
   from one radio technology to another.

Bug: 33430556
Test: m
Change-Id: Ie3bafec41c0198a66aa3ebca660a2a060e511c39
2016-12-12 10:34:01 -08:00
Dheeraj Shetty
a62a1302ee DO NOT MERGE API for reporting IMS registration failures
Draft API to report registration failures in the following
scenarios:
1. Idle mode failures - new IMS registration.
2. Ims registration handover failures - Handover of IMS registration
   from one access technology to another.

Bug: 33430556
Change-Id: Ie3bafec41c0198a66aa3ebca660a2a060e511c39
2016-12-07 16:09:47 -08:00
Tyler Gunn
a6a0070ca7 Change prototype for "setCamera" in IMS VideoProvider.
Changing "setCamera" prototype to include the uid.

Test: Unit test, manual test.
Bug: 32747443
Change-Id: I7e6eb617d724972b0fcbd2f9a27f5c3ee91efd2d
2016-11-30 15:14:26 -08:00
Abhishek Adappa
2449564455 ims:rcs: New API change to notify EAB about UnPublish
Desc: New API change to notify EAB about UnPublish Message
sent to network

Change-Id: Ic5d8bef04f390e850cedef2cab55e8214e6d1f4e
2016-11-08 14:04:37 -08:00
Pavel Zhamaitsiak
6e6950ee66 Add addRegistrationListener function to IImsService.aidl
This allows to register additional IMS connection listeners.
IImsService.open() is no longer supposed to be used for that purpose.

Bug: 28150730
Change-Id: I949e0c912de66e82864934a1ad9ec2ec36f57909
2016-04-19 23:49:55 +00:00
Anju Mathapati
65314501f4 IMS: Changes for MultiEndpoint
- Change in api names

Change-Id: I9317c391d0017f5079ab488abe0bd1e949317bce
2016-03-23 19:20:21 -07:00
Pavel Zhamaitsiak
cfedd20d54 ims:rcs: Add UCE interface files for RCS.
Bug: 23222011
Change-Id: I2ce9e60240740acfe70c4a239163fbdbedbd96e0
2016-03-18 16:09:50 -07:00
Anju Mathapati
f604fc33c6 IMS: Changes for MultiEndpoint
- Interface changes for MultiEndpoint

- Extra for CallPull in -
  - TelephonyProperties
  - ImsProfile
- Error codes in ImsReasonInfo

Change-Id: I9a497cf04a412dc9d2f80b489e3455d289c3dfb7
2016-03-11 16:08:06 -08:00
Pavel Zhamaitsiak
ae4cc1519d Add registrationAssociatedUriChanged to ImsRegistrationListener
This callback will be used to pass list of associated URIs.
It is needed in case SIM doesn't have line1Number populated.

Bug: 24613146
Change-Id: I698ce58dbedb858dc59836069e6f10fec6d02ae6
2016-02-24 14:20:53 -08:00
Omkar Kolangade
d4e44bbdbf IMS RAT Reporting in Registration Unsol
Adding a parameter to the IMS registration complete
and progressing callbacks, allowing frameworks to be
notified of the radio access technology over which
IMS is registered.

Bug: 21902225
Change-Id: I271f2fca299585302a67d0f5476f6fac3e7099dd
2016-02-11 23:51:41 +00:00
Pavel Zhamaitsiak
0f1ddb586b IMS: Fix registrationFeatureCapabilityChanged declaration in AIDL
Two arrays are passed from caller (in this case IMS service
implementation) to listener (in this case client of ImsManager).
Listener is not modifying arrays and caller is not expecting
data to be returned back.

Bug: 23749309
Change-Id: I6231cfd16852acfca88ee43e8538b2440058d774
2015-09-02 11:01:34 -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
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
Yorke Lee
400470fab9 Fixes for APi review
Move CameraCapabilities into VideoProfile
Make PhoneAccount and PhoneAccountHandle final

Bug: 21040387
Bug: 21066505
Change-Id: I72453c89ae3765f9b9cf263938fce96d5978d2e0
2015-05-12 13:31:25 -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
Etan Cohen
fa96c94c30 Merge commit '9561e74' into merge2 2015-04-24 13:43:36 -07:00
Jay Shrauner
8f98843924 Remove connection substate
Bug:20300433
Change-Id: Ifefc08b5165de3e0b6ce92007e5f612879dcc4d9
2015-04-16 14:42:39 -07:00
Tyler Gunn
9561e7410b Prevent merging conference calls hosted on peer device.
automerge: 6b91ebf

* commit '6b91ebf58c928987ead635bb1c49a16965d4c835':
  Prevent merging conference calls hosted on peer device.
2015-04-14 18:19:11 +00: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
Tyler Gunn
6b91ebf58c Prevent merging conference calls hosted on peer device.
With IMS, the "multiparty" bit on an ImsCall is set to "true" when a call
is merged into a conference.  This not only occurs on the device hosting
the conference call, but also on the devices of the callers merged into
the conference.

This CL adds a listener to the ImsCallSessionListener which is used to
communicate a change in the multiparty state of an ImsCallSession to
the ImsCall.  This solves a problem where the RIL knows of the change, but
since there is no callback, the change is not noticed by Telephony until
another call state change occurrs (e.g. holding the call).

Bug: 19478784
Change-Id: I4847ab3b63f6a00a91d1324196f181467d1753a4
2015-04-01 09:36:19 -07:00
Omkar Kolangade
faf7ce03c2 IMS: UT ServiceClass
When CF and CW MMI request will be triggered,
user preferred serviceclass will be sent to
the lower layers.

Change-Id: I230c59ec1ab0832e24755d5ba497b2b5e0749ec1
2015-03-25 12:25:29 -07:00
Etan Cohen
796d60b12e Update documentation of IImsConfig interface.
Change-Id: Id176c131e0192a2ebb4dd73e902c2a893feebcdc
2015-03-09 10:13:40 -07:00
Rekha Kumar
b54d218d8b IMS: Support for IMS Registration error codes
- Add support for propagation of IMS Registration errors
- Add reason type - operator specific
- Add call drop reason type and error code CD-04 that specifies there was no
  qualified LTE network to handover to from a wifi call

Change-Id: Ib9c93dfafe8d8fbdece3a5daf6fd13ef0c16f158
2015-03-06 16:08:34 -08:00
Libin.Tang@motorola.com
2cdac3bd53 IMS: change getMasterValue to getProvisionedValue.
Bug: 18576107
Change-Id: I21293d42b87911a98af8169b697d0e40eafb8760
2014-12-09 10:03:21 -08:00
Libin.Tang@motorola.com
bec2c3e251 IMS: add ImsConfig api to get volte provisioned value.
Bug: 18576107
Change-Id: I22d9f675ec607c30906b36cdab72e4d25463ecf5
2014-12-09 10:03:21 -08:00
Uma Maheswari Ramalingam
a8af6bb333 IMS: start and stop dtmf tones.
Support of start and stop dtmf tones in Imsphone

Bug: 18371919
Change-Id: I986f6b8e9aa1a5729d280eb8a5c60e129c3796cd
CRs-Fixed: 751797
2014-12-08 22:59:44 +00:00
Etan Cohen
fbedecc099 MSIM IMS: convert to phone ID based selection.
Bug: 18576822
Change-Id: I2a756782ccdab5e4d10193c593cf89a7aa4fcda4
2014-12-01 23:30:58 +00:00
Shriram Ganesh
482e6da972 IMS: Peer capabilities support
Add support for querying peer capabilities

IMS: Add support for HD icon display related information

Added support to pass the restrict cause associated with the peer
in order to enable display of the HD icon when necessary.Added
support to pass local audio codec information and defined values
for new codecs not defined.

Change-Id: If05d46bdb3907a0ec7efdde48337a7932a7a5c21
2014-11-11 16:36:15 +00:00
Tyler Gunn
f764e80757 IMS call merge call-back changes.
Renaming callSessionMerged to callSessionMergeStarted.
Adding callSessionMergeComplete callback for when merge successfully
completes.

Bug: 18056632
Change-Id: I8fc73b6c9db5e7970de81d8c3e09abc80f1a262f
2014-10-24 14:06:40 -07:00
Tyler Gunn
6a7ed1eb40 Propagating isMultiParty indicator from RIL up into Telephony layer.
- Adding isMultiParty() method to IImsCallSession AIDL.

Bug: 18058253
Change-Id: I1c44d3db0f7aa00a3ae6efb1231c5ddd39ab20ac
2014-10-22 11:26:40 -07:00
Libin.Tang@motorola.com
846b71daaf change setProvisionedValue/setProvisionedStringValue to
return operation result.

Change-Id: I24f127280d4692633ede7e17a63ababee1b6c71f
2014-10-20 17:33:44 +00:00
Shriram Ganesh
69f35c8e1b IMS: Unsol TTY notification support
Code changes to support UNSOL_TTY_NOTIFICATION handling.

Change-Id: I74bba5d06198e016db259ec1f7d28663d475cb92
2014-10-10 16:24:13 +00:00
Shriram Ganesh
163900a6a1 Ims: Send user selected TTY mode to lower layers.
Irrespective of whether TTY device is connected or not
send TTY mode setting to modem whenever user changes it
from settings.

Change-Id: I2797cdffea0c10c90cd4f213bd0ea9d63c09f29d
2014-10-10 16:23:24 +00:00