Commit Graph

99 Commits

Author SHA1 Message Date
Ravi Paluri
f4b38e7ff1 IMS: Add support for IMS Explicit call transfer
Test: Manual
Bug: 62170207
Change-Id: I06a256adb0e1910d40809c91bcdd42c56a142842
2020-02-14 11:02:09 +05:30
Suresh Koleti
ec1da29510 Add support to pass password in Call barring
- Adding password support for call barring over IMS

Test: Manual
Bug: 112248618
Change-Id: Ibdf159fbeb8eb5d80846db711fbff8979887733b
2020-01-22 10:52:51 +05:30
Brad Ebinger
000bec9fbe Move RCS UCE out of Telephony Mainline
Telephony Mainline does not interact with UCE,
therefore it should not be included as mainline.

Test: build taimen; build coral; manual test uce
Change-Id: I743228939e648689ff9e73d9af2ffb7b90feb3b2
2019-12-13 22:17:30 +00:00
Brad Ebinger
a3e3c595ff Add new API for call line identification query responses
The old API was not well documented and took a Bundle although
all parameters are exposed in ImsSsInfo. Creates a new API
that uses ImsSsInfo. Also add @Deprecated SystemApi definition
for older implementations that still use the old method.

Bug: 122098288
Test: atest FrameworksTelephonyTests
Merged-In: I37c2e643296d82312c9d4ba6e196118260009233
Change-Id: I37c2e643296d82312c9d4ba6e196118260009233
2019-11-04 18:41:13 +00:00
Andrei Onea
5ac62403d4 Add @UnsupportedAppUsage annotations
For packages:
  com.android.ims
  com.android.ims.internal
  com.android.ims.internal.uce.options
  com.android.ims.internal.uce.presence
  com.android.ims.internal.uce.uceservice

This is an automatically generated CL. See go/UnsupportedAppUsage
for more details.

Exempted-From-Owner-Approval: Mechanical changes to the codebase
which have been approved by Android API council and announced on
android-eng@

Bug: 110868826
Test: m
Merged-In: I13583455e85c78cfca5f4d67e4b982b58178104e
Change-Id: I448267cfb48838115b1fa1b88a1d167aab81ce4e
2019-02-28 14:29:13 +00:00
Treehugger Robot
d20bdb915a Merge "uce: Updating UCE API to accept ICC-ID." 2019-01-29 04:43:32 +00:00
Gnaneshwar Gatla
cd816ab446 uce: Updating UCE API to accept ICC-ID.
Test: Manual

Bug: 37437947

Change-Id: Idbf081f885f4f8c1b5dd7ac87893bd3bd08e12b0
2019-01-16 19:15:44 -08:00
Jordan Liu
8218ddd963 Trigger PhoneStateListener onCallAttributesChanged
onCallAttributesChanged can trigger whenever the PreciseCallState or
network type changes, or when the modem reports call quality changes.

Bug: 122366240
Test: builds
Change-Id: I9b13cbdd85c24c077e1a13df302bf60128c164e9
2019-01-16 15:13:12 -08:00
Wileen Chiu
f2ec298d7d IMS: Propagate media profile changed message
- RTT Voice information will be passed to the UI via
  media profile changed message

- The RTT voice information - SPEECH/SILENCE, will be conveyed
  via the ImsStreamMediaProfile.hasRttAudioSpeech

- A connection event will be sent from frameworks to the UI -
  EVENT_RTT_AUDIO_INDICATION_CHANGED

- Add listeners, connection event and extras to propagate
  media profile changed to the UI

Test: Manual
Bug: 110976450
Change-Id: I34d2dd612915d65f5047986dabece968c78f0abe
2019-01-11 11:58:31 -08:00
Mathew Inwood
45321deeef Add @UnsupportedAppUsage annotations
For packages:
  com.android.ims.internal.uce.uceservice
  com.android.ims.internal.uce.presence
  com.android.ims.internal.uce.options
  com.android.ims.internal.uce.common
  com.android.ims.internal
  com.android.ims

This is an automatically generated CL. See go/UnsupportedAppUsage
for more details.

Exempted-From-Owner-Approval: Mechanical changes to the codebase
which have been approved by Android API council and announced on
android-eng@

Bug: 110868826
Test: m
Change-Id: I9e39973bf43a80f17038f7e239a94ef2209e6e2a
Merged-In: Ib1819d4d15e730c0f224b45fb72f3225b0dddf91
2018-08-01 14:07:13 +01:00
Pooja Jain
d34698def5 IMS: Add support in frameworks for call deflection feature
Call deflection feature is useful to deflect MT call to another
number.

Test: Manual

Bug: 62170348
Change-Id: Idfbcc175a856aa0bb9476f8c73d7a614a3af0700
2018-02-07 12:29:16 +05:30
Brad Ebinger
0e370b4a02 Make ImsService API @SystemApi
Marks the ImsService API as @SystemAPI.

Bug: 63987047
Test: Build, Telephony unit tests
Merged-In: I10f8a09950be87cb166b718d1dcc2954fba872cb
Change-Id: I10f8a09950be87cb166b718d1dcc2954fba872cb
2018-02-01 15:45:29 -08:00
Brad Ebinger
5b1883b5f1 Integrate new MMTel APIs into the framework
Performs the bulk of the work of:
1) Moving the old MMTel APIs to a hidden
.compat namespace to support older vendor
versions of the code.

2) Replace the compat MMTel APIs with the
new ImsService APIs and integrate them
into existing code.

This is one of two CLs, this CL
integrates the new APIs, the next CL
creates the compat layer in telephony
to translate the .compat APIs to the new
APIs to allow Telephony to work with
older versions of the API.

Before commit, the corresponding vendor
changes will have to be submitted as well.

Bug: 63987047
Test: Telephony Unit tests
Merged-In: Icc9ecfdad000f42399beeac142083e62962c12d3
Change-Id: Icc9ecfdad000f42399beeac142083e62962c12d3
2018-02-01 15:45:29 -08:00
Brad Ebinger
6ed4ee6847 Integrate ImsCallSessionListener API changes
Integrates the ImsCallSessionListener API changes.
This involves:

1) Moving the ImsCallSessionListener to the
android.telephony.ims namespace.
2) Creating a compat layer between the old
IImsCallSessionListener AIDL and the new one
for vendors using the old implementation.
3) Modify ImsCallSession to only use
setListener to set ImsCallSessionListener
(other method was never used in our code).

Test: Telephony Unit Tests, Manual IMS Tests
Bug: 63987047
Merged-In: I4378c0b1d68ff4f5f21815c81af52c03a66f81c5
Change-Id: Id0cc43e9c97abb6f2776d8ad1cf599353b71e4b7
2018-02-01 15:45:28 -08:00
Mohamed Abdalkader
304f4b5509 Add and trigger onReady API for SMS over IMS.
Test: manual test that normal code path is fine since this code path is
not yet exercisable.
BUG=69846044
Merged-In: Icb15ca4aa6606fba641f6270dca5e0e06fc4466a
Change-Id: Icb15ca4aa6606fba641f6270dca5e0e06fc4466a
2018-01-31 14:55:42 -08:00
Mohamed Abdalkader
6e545d5892 Move Sms API to proper MMTelFeature class
- while here remove unnecessary call to ackSms from
  SmsImplBase as this is handled by ImsSmsDispatcher

Test: None, APIs not exercised yet.
BUG=69846044
Merged-In: Iec4bbd07a67502dbbfb2142a7bc95f51be0cb377
Change-Id: Iec4bbd07a67502dbbfb2142a7bc95f51be0cb377
2018-01-31 11:24:31 -08:00
Brad Ebinger
f0bc082a2c Integrate IMS Registration API
Integrates the new IMS Registration API into the framework
and add two APIs for feature parity.

1) Moves ImsRegistrationImplBase to the android.telephony.ims
namespace
2) Expose ImsRegistration AIDL in TelephonyManager as hidden
API.
3) Adds onVoicemailCountUpdate and
onSubscriberAssociatedUriChanged APIs for feature parity.

Bug: 63987047
Test: Telephony unit tests, manual IMS tests
Merged-In: I51a8ae5cf58b81708c21adc1b26a9eb59f6280fd
Change-Id: I51a8ae5cf58b81708c21adc1b26a9eb59f6280fd
2018-01-16 09:43:47 -08:00
Brad Ebinger
b2a83cfcfc SMS over IMS APIs revision
- Move from being a feature to being a capability
- Move format to the constructor and make final
- Initial hooking up of APIs provided by platform for ims providers.
- Add constants for send status result
- Rename SmsListener callbacks.
- Split acknowledgeSms for sms and sms reports.
- Add reason for onSendSmsResult
Bug: 69846044

Test: None
Change-Id: I861664264a117d5483e392d4aabff59bfaf4373e
2017-12-20 17:18:50 -08:00
Suresh Koleti
0c22feffaa IMS: Add support for STK CC feature
-- Add interface in IImsUtListener to get data for
   UNSOL_ON_SS.
-- Add new file ImsSsData to store the data received
   as part of UNSOL_ON_SS.
-- Add approprate error codes and strings to support
   to show error dialogs to user.
-- Add ImsUtInterface API's to indicate UNSOL_ON_SS
   to ImsPhoneCallTracker.

Test: Manual
Bug: 64685331
Change-Id: I023c1af0d521e5b19ecce1576c4caa299ae468e3
2017-12-06 21:00:24 +05:30
Jordan Liu
c1c29dbf45 Merge "IMS: Add new APIs for call barring operations" 2017-12-01 00:25:43 +00:00
Benergy Meenan Ravuri
f6e372b1fb IMS: Add new APIs for call barring operations
Add below APIs to perform call barring operations for a
specified service class.

queryCallBarringForServiceClass
updateCallBarringForServiceClass

Test: Manual
Bug: 37559543
Change-Id: I438d3527f0e4b2c09de3f7e44e6b80df82b915ae
2017-11-30 18:03:12 +05:30
Mohamed
037749df03 Add SMS over IMS APIs
- Adds public APIs that IMS providers will implement/use
- Adds aidl APIs for internal communications to support SMS over IMS.
- First pass at documentation of APIs.

Moving over from  ag/3265442

Bug: 69846044

Test: None
Change-Id: Ic665a2a7d64a56417bcf2a159d6b88b05cdb832a
2017-11-29 16:14:57 -08:00
Brad Ebinger
216b3ce485 Refactor ImsService to AIDL
The ImsService was originally designed as a flat
interface, all ImsFeatures would be forwarded
through ImsService. This has been refactored to
using AIDL interfaces for each feature, as it
is more straightforward.

Test: Manual, Telephony IMS Unit Tests
Change-Id: Ibe065ddec6f180eabda03cf06f842c642a11114f
2017-11-16 21:28:36 +00:00
Brad Ebinger
9a6369dbd5 Remove ImsService Feature Interfaces
The ImsService feature interfaces were designed
to support a flat ImsService AIDL. This is not
necessary anymore, so this interface is being
removed as part of prep for the new ImsService
definition.

Test: Manual
Change-Id: Iefbcd168441ce2547523cf3e6a99ab3de5f3f823
2017-11-07 11:05:51 -08:00
Tyler Gunn
63769af59d Merge changes from topic 'call-session-may'
am: 21e4dbb6ed

Change-Id: I20a3a9f7808211187da8434a0b1490081a92e8d8
2017-08-11 18:33:44 +00:00
Tyler Gunn
21e4dbb6ed Merge changes from topic 'call-session-may'
* changes:
  Add callSessionMayHandover API to ImsCallSession.
  IMS: Support for Possible Call Session Handover
2017-08-11 18:14:02 +00:00
Brad Ebinger
44da663308 Merge "Change IMS callback AIDLs to be oneway"
am: a46600e0e7

Change-Id: If849e9ed61271bf233f4e149ef766e2e7b0d7851
2017-08-11 00:42:30 +00:00
Brad Ebinger
0f4db7d193 Change IMS callback AIDLs to be oneway
A bad behaving service was causing the IMS registration
callbacks to block indefinetly waiting for the callback
binder implementation in another process to finish. Since
we update the IMS registration in a loop, we were never getting
to the updates for the other processes.

This change moves the AIDL definition to oneway. Since these
are callback AIDLs, the caller doesn't need to wait
for the callbacks to return before sending the others.

Bug: 63137625
Test: Manual
Merged-In: I0e049166ddf3604d312748b63a94fa6ebe77c29d
Change-Id: Id39b6b70aa20bb9986bf293abe2f9e683da4252e
2017-08-10 23:15:41 +00:00
Tyler Gunn
71c29cfad9 Add callSessionMayHandover API to ImsCallSession.
This matches the new AIDL definition in the API.

Test: Manual
Bug: 62489988
Change-Id: I97ad5b5359f19d533b5b8644fd37008c0c69bf9c
2017-08-08 13:10:48 -07:00
Anju Mathapati
efed6f6bd4 IMS: Support for Possible Call Session Handover
Adding the callSessionMayHandover API that allows
for the lower layers to indicate that the call session
may handover based on actions taken by the user/UI
layer.
The API provides current and target RAT information
pertaining to the possible handover.

Bug: 62489988
Test: Manual
Change-Id: I006462ce5688bb99a94d5135574fb2c17878685a
2017-08-08 12:52:53 -07:00
Brad Ebinger
14c4f3db48 Change IMS callback AIDLs to be oneway
A bad behaving service was causing the IMS registration
callbacks to block indefinetly waiting for the callback
binder implementation in another process to finish. Since
we update the IMS registration in a loop, we were never getting
to the updates for the other processes.

This change moves the AIDL definition to oneway. Since these
are callback AIDLs, the caller doesn't need to wait
for the callbacks to return before sending the others.

Bug: 63137625
Test: Manual
Change-Id: Id39b6b70aa20bb9986bf293abe2f9e683da4252e
2017-07-27 12:57:03 -07:00
Tyler Gunn
3a5130c766 Add callSessionMayHandover API to ImsCallSession.
This matches the new AIDL definition in the API.

Test: Manual
Bug: 62489988
Change-Id: I97ad5b5359f19d533b5b8644fd37008c0c69bf9c
2017-06-09 13:16:06 -07:00
Anju Mathapati
f9c1c97c01 IMS: Support for Possible Call Session Handover
Adding the callSessionMayHandover API that allows
for the lower layers to indicate that the call session
may handover based on actions taken by the user/UI
layer.
The API provides current and target RAT information
pertaining to the possible handover.

Bug: 62489988
Test: Manual
Change-Id: I006462ce5688bb99a94d5135574fb2c17878685a
2017-06-09 13:15:25 -07:00
Brad Ebinger
da21d753c7 Merge "Notify ImsService Status Correctly" into oc-dev
am: 9684d718fa

Change-Id: Ia056fd9cc30e673056e7e9b5140c498bb6abce1b
2017-05-10 23:54:32 +00:00
Brad Ebinger
eca799105f Notify ImsService Status Correctly
Modifies ImsService to allow multiple status callbacks in
for one ImsFeature. This better handles one ImsFeature
for normal/emergency calling.

Bug: 38001858
Test: Unit Testing
Merged-In: I70ae6f5349aef75aa86d54fe37a3c32459ea3afa
Change-Id: I70ae6f5349aef75aa86d54fe37a3c32459ea3afa
2017-05-10 16:45:14 +00:00
Brad Ebinger
e1b49b7654 Notify ImsService Status Correctly
Modifies ImsService to allow multiple status callbacks in
for one ImsFeature. This better handles one ImsFeature
for normal/emergency calling.

Bug: 38001858
Test: Unit Testing
Merged-In: I70ae6f5349aef75aa86d54fe37a3c32459ea3afa
Change-Id: I70ae6f5349aef75aa86d54fe37a3c32459ea3afa
2017-05-10 16:41:20 +00:00
Brad Ebinger
13a64f078a Notify ImsService Status Correctly
Modifies ImsService to allow multiple status callbacks in
for one ImsFeature. This better handles one ImsFeature
for normal/emergency calling.

Bug: 38001858
Test: Unit Testing
Change-Id: I70ae6f5349aef75aa86d54fe37a3c32459ea3afa
2017-05-09 13:31:50 -07:00
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