96 Commits

Author SHA1 Message Date
Abhishek Adappa
423b3bd84f Merge "Add a new ImsReasonInfo code" am: b4234e6af8 am: bb59947d90
am: 44f4430953

Change-Id: Iaaa2f91f36f0f57a81a5f0e7781564296654a33a
2017-02-23 22:32:50 +00:00
Abhishek Adappa
bb59947d90 Merge "Add a new ImsReasonInfo code"
am: b4234e6af8

Change-Id: Ia5174fafbc08acf559e35a28538d2b112b5cdb19
2017-02-23 22:22:40 +00:00
Treehugger Robot
b4234e6af8 Merge "Add a new ImsReasonInfo code" 2017-02-23 22:14:21 +00: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
Abhishek Adappa
2134e14bda Add a new ImsReasonInfo code
For IKEv2 authentication failure during ePDG tunnel establishment.

Test: make
Change-Id: I1d10efac806abfaa80d9875b908385f7732f293a
2017-02-22 19:16:58 -08: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
Tyler Gunn
5819755163 resolve merge conflicts of d04c51ea372a to nyc-mr2-dev-plus-aosp
Test: Fix build.
Change-Id: I5808fc02502ced2195728ad146ef5523a8eb19ae
2017-02-03 13:41:17 -08:00
Tyler Gunn
87f208b3b3 Add "wifi lost" disconnect cause.
New disconnect cause used when wifi call is dropped due to loss of wifi
connection.

Test: Manual, unit.
Merged-In: Iedaa9f54ff6dbfe90a6ce01fc9eb0aad126d05f0
Bug: 32571209
Change-Id: Iedaa9f54ff6dbfe90a6ce01fc9eb0aad126d05f0
2017-02-03 19:05:18 +00:00
Tyler Gunn
e071469206 Add "wifi lost" disconnect cause.
New disconnect cause used when wifi call is dropped due to loss of wifi
connection.

Test: Manual, unit.
Bug: 32571209
Change-Id: Iedaa9f54ff6dbfe90a6ce01fc9eb0aad126d05f0
2017-02-03 10:36:55 -08: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
Tyler Gunn
ed21e8fc0c Add ImsReason codes and DisconnectCauses for data disconnects.
Adding reason code and disconnect causes for:
1. disconnects due to user disabling data.
2. disconnects due to data limit being reached.

Bug: 30702393
Change-Id: Id6ea5ee4f5aac1a8602094315f893e2f7b3cc8d6
2016-08-11 13:13:51 -07:00
Tyler Gunn
853d8f68f9 Add alternative EXTRA_CALL_RAT_TYPE definition for noncompliant modems.
Some modems use a lowercase version of this extra, which is not correct.
Adding an alternate definition so ImsCall can still determine the radio
type.

Bug: 28933314
Change-Id: I61d13a2aa447877e1c89c3ae474a8614c29492a1
2016-07-13 17:25:37 -07:00
Tyler Gunn
c96b5e0873 Finalize MEP functionality.
1) Finish plumbing of PULLING_CALL state.
2) Add new disconnect cause used when maximum number of calls across
all devices has been reached.
3) Add PII mask for toString of ImsExternalCallState.

Bug: 29522023
Change-Id: I78a0a9f3c3d846cfc58a1c5bcc6f105027602cbc
2016-07-11 10:33:37 -07:00
Tyler Gunn
4b6614e576 Add support for dropping fg video call on answer of audio call.
Adding two new carrier config options:
1. treat_downgraded_video_calls_as_video_calls_bool - when there is an ongoing
call which was previously a video call (or is currently video call), some
carriers require that this is treated as if it is a video call for
telephony logic such as in (2).
2. drop_video_call_when_answering_audio_call_bool - if the user is in an
active video call (see (1)) over wifi, and an incoming audio call comes in,
when this carrier config option is "TRUE", the video call will be dropped
when the audio call is answered.

Adding new connection extra to indicate to the dialer app that answering
a ringing call will cause the current active video call to drop.

Bug: 29275420
Change-Id: Ied5dbabc8ff09045ba41c5eba2136adad10db80e
2016-06-23 12:48:43 -07: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
Tyler Gunn
9eb78515dc Adding some new multi-endpoint stuff.
Adding getVideoStateFromCallType method to ImsCallProfile, which basically
just breaks out some of the existing logic in getVideoStateFromImsCallProfile.
This is used to translate the CALL_TYPE_* from an external call to a
video state (used when pulling the call).

Added a new ImsReasonInfo code for when multi-endpoint fails to configure
because the modem does not support it.

Bug: 27458894
Change-Id: I226e79005dccf3e8cae30e4d448543adbe59f922
2016-04-12 16:13:44 -07:00
Tyler Gunn
720c664401 Add connection properties to Connections.
- Per suggestion of API council, moving properties of a Connection from
CAPABILITIES_* to PROPERTIES_*.

Bug: 27458894
Change-Id: Icce921b03cda514a991646ed39a26559c7e91230
2016-03-24 20:20:11 -07: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
Omkar Kolangade
99eb21d172 IMS: ImsCallProfile Extra For Call Pull
Adding an extra that will be used by IMS
Service to specify whether a call has been
pulled from another device.

BUG=27340495
Change-Id: Ic3b5a07404d63bfadcaa8bf88d6f077165251b92
2016-02-26 17:48:16 +00:00
Omkar Kolangade
f38780b483 IMS: Reason Codes For Call Pull Scenarios
Adding reason codes for call pull success
and failure scenarios.

BUG=27340495
Change-Id: I775316f52ed13862981500ebe035ee626adc934f
2016-02-25 15:49:08 -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
Nathan Harold
4b6d38938e Adding Error Codes for IWLAN/EPDG Connection
-Error codes related to tunnel maintenance
-Error code for DPD

Bug: 26014044
Bug: 26014458
Change-Id: Ic00a14e0502fa47e20e79a3c6ce91b3170f53a50
2016-02-23 13:25:17 -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
Omkar Kolangade
66742f217e IMS: Constants For Audio Quality, Supp. Services
Adding:
1. Constants for audio quality (EVS standard).
2. Service class memeber to CallForwardInfo.
3. Call Fail Cause for emergency call and handover
   scenarios, and supplementary services.

Change-Id: I7cc23acd01144def0bb725c4f6312318421027c8
2016-02-03 14:24:45 -08:00
Tyler Gunn
56f3d9098c Merge commit '9aadad47a0085c4298307781a423064207933f0b' into mncvtdev-to-mmwirelessdev-merge-2015-12-10 2015-12-10 20:04:25 -08:00
Tyler Gunn
3ffb08aa5c Improve comment on EXTRA_CALL_RAT_TYPE.
Adding comments to EXTRA_CALL_RAT_TYPE to make it clear what it is used
for, and what values are expected.

Bug: 20144385
Change-Id: I248aca61abc8a57d7aeef650e48cc498e41c859b
2015-11-02 11:24:57 -08:00
Omkar Kolangade
3b0437eda3 IMS: Support For Per-Call RAT Info
Adding the extra key that will be used to
propagate RAT information for each call via
call extras. The key is used in IMS Service.

Bug: 20144385
Change-Id: Ia7ca81d661afb579fd25315036c43489b1dca50d
2015-10-29 19:00:26 -07: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
Shriram Ganesh
ef0cde848b IMS: Map pay phone and unknown presentation with OIR.
Current code does not map pay phone and unknown
presentation with OIR.
Add code to map pay phone and unknown presentation
with OIR correctly.

Bug: 22123243
Change-Id: I7610db8547a0f0f5529c2627879047dd9a45cf9f
2015-06-29 15:54:54 -07:00
Shriram Ganesh
8d8c51f19e IMS: Initialize audio quality with NONE instead of AMR_WB.
Initial value of audio quality needs to be set to NONE to avoid
wrong quality value during MO call setup.

Bug: 22122298
Change-Id: I06173abe38c9be1e9499c8c0958f985c45709f1c
2015-06-29 08:49:10 -07:00
Tyler Gunn
6901c3b6d7 IMS: Supplementary services
- Propagate IMS supplementary services to telephony framework
- Introduce call forwarding history info.

Bug: 21725750
Change-Id: Idc3a433785e84a3d683cbcfc7fb90f0b89dced12
2015-06-24 13:49:44 -07:00
Omkar Kolangade
1cce1ec352 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: I3b340da3776b617fd9d944585672bce51c5d9c1e
2015-06-18 12:32:14 -07:00