Commit Graph

170 Commits

Author SHA1 Message Date
Sahin Caliskan
f00a876893 Implementation of RcsMessageStore APIs [base]
This change adds the implementation of RcsMessageStore. Please see the
bug for the design and one-pager

Test: Added unit tests

Bug: 109759350
Change-Id: I6049dcf74ef9e19a38ce58148a89497992bc1c98
2019-02-06 15:49:16 +00:00
Brad Ebinger
3811aba3a4 Merge "Add new ImsException to better handle ImsService errors" 2019-01-31 23:26:57 +00:00
Treehugger Robot
d20bdb915a Merge "uce: Updating UCE API to accept ICC-ID." 2019-01-29 04:43:32 +00:00
Brad Ebinger
5a8bb0a7f2 Add new ImsException to better handle ImsService errors
The ImsService can crash unexpectantly or not be available
for certain device configurations. Define a checked exception
ImsException to handle these cases instead of using
RuntimeExceptions.

Bug: 122480210
Test: atest FrameworksTelephonyTests
Merged-In: Ie3221d56a235c0e037d71e197f4972df31faa09b
Change-Id: Ie3221d56a235c0e037d71e197f4972df31faa09b
2019-01-26 00:02:42 +00:00
Brad Ebinger
ad9aec3522 Define a subset of provisioning integers as public
There are a few non-OMADM specific configs that need to
be exposed in ProvisioningManager to handle cases
like turning on WFC "non-persistently" for provisioning
on certain networks. These should be well defined for
compatibility as well as ease of use.

Test: atest FrameworksTelephonyTests, turn on WFC
Change-Id: I79c9492664d4bf41b10639c0596d4f2697cd46f2
2019-01-23 16:16:40 -08: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
Brad Ebinger
0d36ed248f Expose ProvisioningManager API for IMS configurations
Bug: 117648104
Test: Manual
Change-Id: I71ef979cee6467fd3d70fe70e4b899dbee70e2ae
2018-11-13 12:49:28 -08:00
Mathew Inwood
7a10fd6a47 Merge "Add @UnsupportedAppUsage annotations"
am: f892a8ce9f

Change-Id: I34b238c2105ea4f46c1cbdbc4b2e4375562398f1
2018-08-03 04:12:24 -07: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
Brad Ebinger
669a4497e1 Clean up old Context references in ImsConfig
Bug: 77941698
Test: Manual
Merged-In: I9d9b5ac97c710b1d742fc25730e3e28172ff75e3
Change-Id: Ieb24830ef60d1bc383639777f8e22d0dc994782a
2018-06-11 12:59:30 -07:00
Brad Ebinger
515021eb2e Clean up old Context references in ImsConfig
Bug: 77941698
Test: Manual
Change-Id: Ieb24830ef60d1bc383639777f8e22d0dc994782a
2018-04-26 14:27:10 -07:00
Pooja Jain
cfa16ec443 Merge "IMS: Add support in frameworks for call deflection feature" am: ba0f9d2973 am: f39bef4801
am: ac48eed9c0

Change-Id: I4695aca7d886f37341672ea5815770e3ccdf7a51
2018-02-08 02:15:56 +00: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
f8c3cd8b35 Make ImsService API @SystemApi
Marks the ImsService API as @SystemAPI.

Bug: 63987047
Test: Build, Telephony unit tests
Change-Id: I10f8a09950be87cb166b718d1dcc2954fba872cb
2018-01-25 14:11:37 -08:00
Brad Ebinger
112c36d39f 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
Change-Id: Icc9ecfdad000f42399beeac142083e62962c12d3
2018-01-25 10:51:27 -08:00
Brad Ebinger
264625486b 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

Change-Id: I4378c0b1d68ff4f5f21815c81af52c03a66f81c5
2018-01-25 10:50:43 -08:00
Mohamed Abdalkader
bddbd624ec 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
Change-Id: Icb15ca4aa6606fba641f6270dca5e0e06fc4466a
2018-01-24 15:07:24 -08:00
Tyler Gunn
c3f129c795 Merge "Add new IMS reasoninfo to handle alternate emergency disconnect scenario." am: 7a481bde6d am: f343e33dd5
am: e39de15109

Change-Id: I48b1c82a051342b6a4504290a6297aebc8a2bdfd
2018-01-24 22:38:52 +00:00
Treehugger Robot
7a481bde6d Merge "Add new IMS reasoninfo to handle alternate emergency disconnect scenario." 2018-01-24 19:33:33 +00:00
Mohamed Abdalkader
8d7b060b40 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
Change-Id: Iec4bbd07a67502dbbfb2142a7bc95f51be0cb377
2018-01-17 13:52:04 -08:00
Brad Ebinger
1f00565433 Merge "Integrate IMS Registration API" 2018-01-17 20:29:54 +00: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
1fb6121035 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
Change-Id: I51a8ae5cf58b81708c21adc1b26a9eb59f6280fd
2018-01-15 14:44:44 -08:00
Hall Liu
4ba6ba6cb2 Merge "Use proper classloader when reading from parcel" am: d3cb6380a4 am: 03a515aed4
am: ff63c83237

Change-Id: If91f694b4f9c396e118dcf47ebaa480ff4cd44d0
2018-01-12 23:11:03 +00:00
Tyler Gunn
f780837575 Add new IMS reasoninfo to handle alternate emergency disconnect scenario.
Adding new ImsReasonInfo and corresponding DisconnectCause code.

Test: Manual, added unit test for code remapping.
Bug: 69024173
Change-Id: I30da4f2493fe19fe04365b9067c7feeb90a917a3
2018-01-12 08:24:21 -08:00
Hall Liu
aaf4b47e34 Use proper classloader when reading from parcel
Use the proper classloader when loading ImsStreamMediaProfile from a
parcel.

Bug: 71873453
Test: manual
Change-Id: Idf60f18b5d25b4c8eae225cb92a5391303c86d3b
2018-01-11 17:23:40 -08:00
Brad Ebinger
59bc2c6889 Merge "Add new reason code for call barring" am: a003d996b9 am: ddf31e1810
am: 058a752502

Change-Id: I7758c971e63d442a6dd7e72cbec1f440f2aa7055
2017-12-22 00:07:03 +00:00
Brad Ebinger
a003d996b9 Merge "Add new reason code for call barring" 2017-12-21 23:45:01 +00:00
abdalkader
e1a5469101 Merge "SMS over IMS APIs revision" am: 2bf7f03e63 am: f9eba1a18f
am: ca88d359c0

Change-Id: Iea7624e10230294505982f0373b97a2486d6996f
2017-12-21 20:10:03 +00: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
Xiangyu/Malcolm Chen
95b897aadb Merge "Adding cache of IMS provisioned values." 2017-12-09 00:24:40 +00:00
kouji.x.nakamura
1dfbf4380e Add new reason code for call barring
New reason code is used when call is blocked by call barring.

Test: manual - Checked that DisconnectCause.CALL_BARRED is notified
when call is barred.
Bug: 70369741

Change-Id: Ia5e76ce9363a93a93d24991797da1c6bbb33f520
2017-12-08 09:05:13 +00:00
Malcolm Chen
2b460020c3 Adding cache of IMS provisioned values.
Adding cache of IMS provisioned values in ImsConfigImplBase.

Bug: 66701374
Test: unitest

Change-Id: I98f8fc12fe44a668d43464cd5f4d2abc03f29764
2017-12-07 17:42:54 -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
6c350bbb1d Handle alternate status values.
Some carriers use sendrecv to indicate a call in a conference is active,
and sendonly to indicate that the remote party has held the call.
Adding support for these status values.

This ensures that remotely held calls for these carriers are set to held.

Test: Manual
Bug: 33272103
Merged-In: Ie386bdb4c77df1305d80f604f48174794c3ee0c1
Change-Id: I4a950c4e143d5ac396b30569dbda0b1cf4e92a3e
2017-10-27 12:55:32 -07:00
Tyler Gunn
c4fd93e43b Fix ImsCallProfile parceling and add protection for invalid parcelables.
Two things:
1. The writeToParcel and readFromParcel in the ImsCallProfile never
worked; they were not parceling the Bundle properly.
2. Ensuring on writeToParcel that invalid Bundle contents are removed and
not sent across a Binder interface.

The existing Bundle.filterValues method accomplishes this by ensuring only
primitive types and android.* namespace parcelables are included in the
Bundle.  We use this to ensure that when the ImsCallProfile instances cross
the binder call boundary, package-local Parcelables don't cause the
Bundle to be invalidated when unmarshaled in a place where the
pacakge-local parcelable is not available.

Test: Manual, also wrote new unit tests
Bug: 65562929
Change-Id: Iea982d14a053414b9a4daba998c021c61902119d
2017-09-12 19:13:30 -07:00
Brad Ebinger
df99d59284 Adds ERROR state to ImsConfig
Adds the ERROR return state for bool provisioning values
so that we can throw an Exception in some cases.

Bug: 64540800
Test: Manual
Merged-In: Id412c0be939da6240a66a942730fd18badabb6c6
Change-Id: I0b79837c694d245999031ec65783857e114b7c75
2017-09-01 10:16:26 -07:00
Tyler Gunn
63769af59d Merge changes from topic 'call-session-may'
am: 21e4dbb6ed

Change-Id: I20a3a9f7808211187da8434a0b1490081a92e8d8
2017-08-11 18:33:44 +00:00