2643 Commits

Author SHA1 Message Date
Jack Yu
90065e6e8c Merge "Added telephony manager set sim power state API" 2017-02-21 23:58:30 +00: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
Jack Yu
6078cfebb0 Added telephony manager set sim power state API
The new API can be used to power up/down the SIM. This is equivalent
to inserting and removing the card.

Test: Telephony sanity tests
bug: 32224755

Change-Id: Ib82ab1eff613946e7c31c9b2131183a40d09af80
2017-02-21 11:52:03 -08: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
Treehugger Robot
2b879016d3 Merge "Adds @hide ImsService APIs" 2017-02-17 19:21:45 +00:00
TreeHugger Robot
1ad4f0e60b Merge "Adds @hide ImsService APIs" 2017-02-17 02:09:48 +00:00
Jack Yu
3edeec530f Merge "Added the new RIL request to set SIM power state" am: 2f21f71da4 am: bf21df3306
am: 8c89daceaf

Change-Id: I7dd15375a56a9243bf0c24c87def9949596093e0
2017-02-17 01:40:51 +00:00
TreeHugger Robot
bb67b4474f Merge "Added the new RIL request to set SIM power state" 2017-02-16 22:38:45 +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
Jack Yu
866e9e3947 Added the new RIL request to set SIM power state
The new RIL request for powering up/down the SIM card.

Test: Telephony sanity tests
bug: 32224755
Merged-In: Ia20f824eb9a0bf6d5f63f782a8d42a22a0355938
Change-Id: Ia20f824eb9a0bf6d5f63f782a8d42a22a0355938
2017-02-16 05:11:41 +00:00
Jack Yu
233cb9efdf Added the new RIL request to set SIM power state
The new RIL request for powering up/down the SIM card.

Test: Telephony sanity tests
bug: 32224755
Change-Id: Ia20f824eb9a0bf6d5f63f782a8d42a22a0355938
2017-02-15 20:56:17 -08:00
fionaxu
b80c879c91 renaming telephony internal hidden intents
The "android.*" namespace for intent constants is reserved for public
Android API in AOSP. (Whether public to the full SDK, @SystemApi or
defined in AOSP support libraries.) Implementation details of AOSP
components (subject to change by OEMs at will) should use the
"com.android.internal.*" as per CDD

Bug: 33679454
Test: manual
Change-Id: I72ed2760a6ddb0bba61cc8041cea57d5f28b7c15
2017-02-15 15:42:23 -08:00
Ta-wei Yen
2d7212d822 Add setVoicemailRingtoneUri() and setVoicemailVibrationEnabled()
This CL allows the default dialer to modify the voicemail ringtone.
All settings except the voicemail provider and voicemail nubmer can
be moved to the dialer after this CL.

Bug: 34626472
Fixes: 34626472
Test: CtsTelephonyTestCases TelephonyManagerTest
    testVoicemailRingtoneSettings and testVoicemailVibrationSettings

Change-Id: I5dd1e5ac8c358b09ff9a98051c429dba758c04a4
2017-02-15 09:21:53 -08:00
Chen Xu
b4f9ceb912 Merge "Add simActivationState to PhoneStateListener" am: 132842efc9 am: b206f5b382
am: 60ca278b7f

Change-Id: I13a38eb6094899e396d079e13e07e15d1cb5ca98
2017-02-14 01:46:33 +00:00
Chen Xu
132842efc9 Merge "Add simActivationState to PhoneStateListener" 2017-02-14 01:26:19 +00:00
fionaxu
64eebba6bc Add simActivationState to PhoneStateListener
- new public SimActivationState
- hook with PhoneStateListener, notifying registrants when voice&data
  activation state changed

Bug: 31061369
Test: existing TC runtest --path frameworks/opt/telephony/tests/telephonytests
Test: new TC runtest --path
frameworks/opt/telephony/tests/telephonytests/src/com/android/internal/telephony/SimActivationTrackerTest.java

Merged-in: CHANGE-ID Ieefe2698fe6055a980d225f5ce74f52aef0daab4
Change-Id: Iac6418f66c9dad44dc7272ab19aa87f3eef232f8
2017-02-13 00:26:35 -08:00
fionaxu
12312f6d75 Add simActivationState to PhoneStateListener
- new public SimActivationState
- hook with PhoneStateListener, notifying registrants when voice&data
  activation state changed

Bug: 31061369
Test: existing TC runtest --path frameworks/opt/telephony/tests/telephonytests
Test: new TC runtest --path
frameworks/opt/telephony/tests/telephonytests/src/com/android/internal/telephony/SimActivationTrackerTest.java

Change-Id: Ieefe2698fe6055a980d225f5ce74f52aef0daab4
2017-02-10 15:15:01 -08:00
Sooraj Sasindran
8fbf6a29d0 Merge "Expose api to retrieve wakelock information per client" 2017-02-10 05:38:41 +00:00
Sooraj Sasindran
4c8fc962dc Merge "Expose api to retrieve wakelock information per client" into nyc-mr1-dev-plus-aosp
am: cbbf530125

Change-Id: Id5ea5536246343a530f7579a31039421b3859de3
2017-02-10 03:03:38 +00:00
Sooraj Sasindran
0fc0a7edf7 Expose api to retrieve wakelock information per client
Expose api to retrieve wakelock information per client
Provide calling package name in cell info apis

BUG=31041780
Merged-In: Ie39fe59055eb7931bd179dd9e2537a7552c38af8
Change-Id: Ie39fe59055eb7931bd179dd9e2537a7552c38af8
2017-02-09 16:44:02 -08:00
Sooraj Sasindran
335c89c22e Expose api to retrieve wakelock information per client
Expose api to retrieve wakelock information per client
Provide calling package name in cell info apis

BUG=31041780
Merged-In: Ie39fe59055eb7931bd179dd9e2537a7552c38af8
Change-Id: Ie39fe59055eb7931bd179dd9e2537a7552c38af8
2017-02-09 21:51:04 +00: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
Jack Yu
46c9c133e0 Merge "Renamed voiceNetworkStateChanged and dataNetworkStateChanged" am: 84f97e21b2 am: 7eac8ec7c1
am: 84e84a73b7

Change-Id: I9aab25b14a5774ff5c7d64c5bc6a8aa5490d9ec0
2017-02-07 00:08:12 +00:00
Jack Yu
4dfa6d3630 Renamed voiceNetworkStateChanged and dataNetworkStateChanged
The misleading voiceNetworkStateChanged should be renamed
to networkStateChanged to reflect either voice or data
network changes will trigger this indication.
And dataNetworkStateChanged should be renamed to
dataCallListChanged as well.

Test: Build
Merged-In: Icf20ceb3718794f7aa62650816714ac8679d101a
Change-Id: Icf20ceb3718794f7aa62650816714ac8679d101a
2017-02-06 14:05:26 -08:00
Jack Yu
fe485569e5 Merge "Renamed voiceNetworkStateChanged and dataNetworkStateChanged" 2017-02-03 23:29:58 +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
Ceci Wu
3b90d48e81 Query geo description in worker thread to prevent ANR
Currently geo description of a caller is queried in the main thread, for
both InCallUI and framework CallerInfo. Since it is a potentially
time-consuming operation especially when the system is under heavy
loading, the main thread might be blocked for a long time. As a result,
the ANR happens.

The solution to to move the query to worker thread to free the main
thread and enhance the performance.

Besides, to ensure listeners are notified with complete CallInfo, we
need to delay callbacks until EVENT_END_OF_QUEUE.

Change-Id: Ibe444fc0f98d07e7ebbe266987e60ede334a3216
2017-01-27 17:52:21 -08:00
fionaxu
de56b1f00a add an API for sending secret dialer code
Telephony provides an pulic API for sending secret
dialer code with the format of *#*#code*#*#.
This API only sent out broadcast for the default dialer app
and is backgound-check compliant.

Bug:33753947
Test: Manual
Change-Id: I10665828e88be07d96c7f2568a0c6878abe2e21b
2017-01-27 17:18:34 -08:00
Brad Ebinger
cc778dae0d Merge "Adds @hide ImsResolver API and device overlays (2/3)" am: d063843549 am: b5f2519abc
am: 18140a6784

Change-Id: I1c29dcbdd4f1f1f97bf2e3eb3a1f0bdc83613676
2017-01-27 23:13:36 +00:00
Brad Ebinger
e6ec7d8b8f Adds @hide ImsResolver API and device overlays (2/3)
- Adds config_ims_package device overlay, which specifies the default
package name to bind to.
- Adds config_dynamic_bind_ims device overlay, which determines
whether or not the new dynamic binding system is used.
- Adds @hide TelephonyManager API to interface with the ImsResolver

Test: Manual
Merged-In: I82a41da00e6da34629a40db431f13b968dfafe2e
Change-Id: I82a41da00e6da34629a40db431f13b968dfafe2e
2017-01-27 13:09:37 -08:00
Brad Ebinger
e37ebbffb0 Adds @hide ImsResolver API and device overlays (2/3)
- Adds config_ims_package device overlay, which specifies the default
package name to bind to.
- Adds config_dynamic_bind_ims device overlay, which determines
whether or not the new dynamic binding system is used.
- Adds @hide TelephonyManager API to interface with the ImsResolver

Test: Manual
Change-Id: I82a41da00e6da34629a40db431f13b968dfafe2e
2017-01-26 16:52:53 -08:00
Jack Yu
fff5f48dce Renamed voiceNetworkStateChanged and dataNetworkStateChanged
The misleading voiceNetworkStateChanged should be renamed
to networkStateChanged to reflect either voice or data
network changes will trigger this indication.
And dataNetworkStateChanged should be renamed to
dataCallListChanged as well.

Test: Build
Change-Id: Icf20ceb3718794f7aa62650816714ac8679d101a
2017-01-26 12:45:57 -08:00
Ta-wei Yen
51a403525f Merge "Add getVisualVoicemailPackageName() Make NMR2 voicemail columns public" 2017-01-26 03:33:33 +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
pkanwar
a28dcbcd87 Create Public API which exposes if the device is in a state where simultaneous
voice and data are possible.

BUG: 32912296
Test: Not required.
Change-Id: If603aa37c774157f0a3af12ca4ac6bafad94340d
2017-01-23 17:54:06 -08:00
Ta-wei Yen
812188ad06 Add getVisualVoicemailPackageName()
Make NMR2 voicemail columns public

getVisualVoicemailPackageName() and the IS_OMTP_VOICEMAIL is used by
the voicemail UI to filter out voicemails not from the current visual
voicemail app, for example legacy telephony voicemails or previous
default dialer. These voicmails all represent the same source and are
likely duplicates.

BACKED_UP and RESTORED are used by the system dialer voicemail back
up and restore feature in NMR2. Since there are no API bump, it was
hidden and made public in this CL instead. See ag/1803794

ARCHIVED is used to prevent locally saved voicemails from being
deleted during a sync because it does not exist on the server.

Bug: 34463609
Fixes: 34463609
Bug: 32414216
Test: cts test android.provider.cts.VoicemailContractTest
    android.telephony.cts.VisualVoicemailServiceTest

Change-Id: Iec1e499e763ad92f4a822715b6022e9cbe557c11
2017-01-20 16:45:59 -08:00
TreeHugger Robot
ca9eed4315 Merge "Add VisualVoicemailService" 2016-12-28 00:33:17 +00:00
Ta-wei Yen
485d6dec93 Add VisualVoicemailService
VisualVoicemailService can be implemennted by the default dialer to
provide a visual voicemail client similar to the OMTP visual voicemail
spec.

Other APIs such as the SMS filter and hidden text SMS sending are made
public and consolidated into the service interface.

Test: make. CTS tests in a follow up CL
Change-Id: Ib5e9aa15fc098f4c13b15e5dbecf9ab646e0e400
2016-12-16 12:17:30 -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
5a34b7489e DO NOT MERGE API for reporting IMS registration failures
am: a62a1302ee

Change-Id: Iad3a0ab889618cc329517b102067f5b26ed96ee0
2016-12-10 00:16:52 +00: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
Chad Brubaker
48829f90d6 Merge "Add single use App specific incoming SMSes" 2016-12-06 18:06:26 +00:00