Commit Graph

50 Commits

Author SHA1 Message Date
Daniel Bright
60fe698771 Whitelist telephony broadcasts for bground use
Whitelisted telephony broadcasts using the intent background flag.
Ensured that each broadcast was protected manually through cts test below.

Bug: 148181747
Bug: 151112539
Test: Switched on ActivityManagerDebugConfig.DEBUG_BACKGROUND_CHECK for SIM_STATE_CHANGED
Test:  android.telephony.cts.TelephonyProtectedBroadcastsTest
Merged-In: Id280fc2128b84dda2a8184dfa32ecc5b8f787afb
Change-Id: Id280fc2128b84dda2a8184dfa32ecc5b8f787afb
2020-03-11 17:07:23 -07:00
Jack Yu
987b8df24d Added telephony display info support
Added the new APIs allowing clients like System UI to display
network icons correctly based on the provided telephony display
info.

Test: Telephony sanity tests
Bug: 148540139
Change-Id: I4dfb6eb7a313539e0565a4239d555426f12e503e
Merged-In: I4dfb6eb7a313539e0565a4239d555426f12e503e
2020-03-03 11:21:05 -08:00
Amit Mahajan
da6a199972 Hide TelephonyRegistryManager.
This was added for telephony mainline, and as such is not needed in
R now.

Test: basic sanity
Bug: 149850449
Merged-in: I2b47ab45839f07494dcad4f1878809a55ddd3087
Change-Id: I2b47ab45839f07494dcad4f1878809a55ddd3087
(cherry picked from commit 7411d22e57)
2020-02-27 16:58:09 -08:00
Jack Yu
d588c33c71 Added area info support in cell broadcast service
Added a broadcast for area info changed event, and
also a get method in cell broadcast service to
retrieve the area info.

Test: Cell broadcast sanity tests
Bug: 141318859

Merged-In: I5995e3c5099a1e49cb0c54d33da1dbfcc94d4037
Change-Id: I5995e3c5099a1e49cb0c54d33da1dbfcc94d4037
(cherry picked from commit afaa71d418)
2020-02-04 17:03:01 -08:00
sqian
dfdee636e3 Add LISTEN_ALWAYS_REPORTED_SIGNAL_STRENGTH into Shell permission
> Is the minimally scoped permission that needs to be added?
This is a minimal permission for always listening to signal strength.

> What options did you explore that did not need this permission?
CTS is required by API council; Telephony CTS is using shell to have
system permission. I don't see other options.

Integrate the callback of LISTEN_ALWAYS_REPORTED_SIGNAL_STRENGTH

Test: CTS; https://paste.googleplex.com/5811446241820672
Bug: 147322848
Change-Id: Id5afd261a7f00c25e3af3558f30fb92aad42f060
2020-01-30 14:14:43 -08:00
Rambo Wang
63ebb4b126 Clear up permission READ_PRIVILEGED_PHONE_STATE.
- Group all events that need the permisson together
- Enforce the permission of the group mask instead of multiple individuals
- Clear up javadoc of APIs require the permission

Bug: 148021947
Test: make offline-sdk-docs
Test: atest com.android.internal.telephony.TelephonyRegistryTest
Test: atest android.telephony.cts.PhoneStateListenerTest
Test: atest com.android.internal.telephony.PhoneStateListenerTest

Merged-In: I6c801039e3eaf22bae052de6569cf1d9a5b28396
Change-Id: I6c801039e3eaf22bae052de6569cf1d9a5b28396
(cherry picked from commit aac979e1c102c7274dac89b674b5709002d02705)
2020-01-29 04:29:27 +00:00
Jordan Liu
dd6d0b26af Merge "Fix ordered background broadcast API" 2020-01-28 16:33:18 +00:00
sqian
6cd260243a Support always reporting signal strength phone state listener
We should not allow other stack (such as Bluetooth) to directly control
 modem indication reporting. The hidden API
 TelephonyManager.setRadioIndicationUpdateMode added before do not
 support multiple clients and do not support the case when clients'
 process die.

The new solution would be adding a new listener
 PhoneStateListener.LISTEN_ALWAYS_REPORTED_SIGNAL_STRENGTH and let
 telephony registry (which is running under system process) to tell
 telephony whether to always turn on signal strength update if any client
 is listening to this event.

Introduce a new system API for TelephonyRegistry
to tell Telephony module this listening mechanism.

Introduce a new permision for this function

Test: WIP (Have this CL out to try to catch up the API deadline)
Bug: 147322848

Change-Id: Iaee832c75b29d89dbc9e5c6659e1a7e89c4a467f
Merged-In: Iaee832c75b29d89dbc9e5c6659e1a7e89c4a467f
(cherry picked from commit 93642d4433)
2020-01-27 14:20:09 -08:00
Jordan Liu
f026bce66c Fix ordered background broadcast API
This API is only intended for a specific use, so do not allow the caller
to pass in other intents and use it for other things.

Bug: 144108192
Test: atest CellBroadcastIntentsTest
Change-Id: Ibf70fdbb419bbb24f2feeffedc0331e31c865a52
Merged-In: Ibf70fdbb419bbb24f2feeffedc0331e31c865a52
2020-01-27 21:58:19 +00:00
Rambo Wang
82a46e22ce Permission READ_PRECISE_PHONE_STATE implementation polish
- Update the javadoc for all APIs that require this permission.
- Allow carrier privileged apps to access listener APIs that require
  READ_PRECISE_PHONE_STATE.
- Consolidate permissions checks into READ_PRECISE_PHONE_STATE permission group.

Bug: 146383220
Test: atest com.android.internal.telephony.TelephonyRegistryTest
Test: atest android.telephony.cts.PhoneStateListenerTest

Change-Id: I98232261381a4629c4d65a70d6aefee35665b48d
2020-01-17 18:28:26 -08:00
Treehugger Robot
93db49faec Merge "Add Callback for Registration Failure" 2020-01-13 20:58:00 +00:00
Treehugger Robot
9938c70fb5 Merge "Use new UnsupportedAppUsage annotation." 2020-01-13 13:05:17 +00:00
Nathan Harold
c41cb737ed Add Callback for Registration Failure
Add a callback to PhoneStateListener to indicate that
a registration procedure has failed.

Bug: 143187047
Test: make update-api && make
Merged-In: I4a4ba4479dfd465a9d8063135f3b4bf4e1323e99
Change-Id: I4a4ba4479dfd465a9d8063135f3b4bf4e1323e99
(cherry picked from commit 5e6e983cad)
2020-01-12 10:33:03 -08:00
Sarah Chin
c9e48d9403 Update javadocs for API review
Move plan requirements from Builder to SubscriptionPlan
Null and empty network types do not have the same behavior.
Clarify where plan requirements is enforced

Bug: 143550313
Test: none

Change-Id: I80c3b4425f317d5b4e9c685878c866742b706b85
Merged-In: I80c3b4425f317d5b4e9c685878c866742b706b85
2020-01-10 11:01:55 -08:00
Sarah Chin
0262cb7765 Merge "5G meteredness for telephony framework" 2020-01-10 16:36:48 +00:00
Sarah Chin
80b73b9e1c 5G meteredness for telephony framework
Added networkTypes to SubscriptionPlan
Send SubscriptionPlans as dispatch via listener
Updated API for R

Bug: 139070884
Test: atest FrameworksTelephonyTests
Test: atest cts/tests/tests/telephony/current/src/android/telephony/cts/SubscriptionManagerTest.java
Change-Id: Idb67fb7676adf9e1158113e7b8b08e655f470920
Merged-In: Idb67fb7676adf9e1158113e7b8b08e655f470920
(cherry-pick from ag/9459941)
2020-01-09 19:45:14 +00:00
Artur Satayev
2d330f6fa8 Use new UnsupportedAppUsage annotation.
Existing annotations in libcore/ and frameworks/ will deleted after the migration. This also means that any java library that compiles @UnsupportedAppUsage requires a direct dependency on "unsupportedappusage" java_library.

Bug: 145132366
Test: m && diff unsupportedappusage_index.csv
Change-Id: I288969b0c22fa3a63bc2e71bb5009fe4a927e154
Merged-In: I288969b0c22fa3a63bc2e71bb5009fe4a927e154
2020-01-09 15:08:18 +00:00
Meng Wang
8af4d4ad78 Use Parcelable CellIdentity instead of CellLocation in AIDL.
Currently CellLocation is passed over AIDL by manually
marshalling/unmarshalling to/from Bundle, and type info
is not preserved in the process.

Bug: 146092124
Test: make
Merged-In: I6225f100953a2ad354acaa261a774989926393ce
Change-Id: I6225f100953a2ad354acaa261a774989926393ce
2020-01-08 20:29:27 -08:00
Treehugger Robot
0104ce5293 Merge "(Backport) Pipe through featureId from caller to permission checks in telephony code" 2020-01-09 02:48:14 +00:00
Philip P. Moltmann
06b07e9e25 (Backport) Pipe through featureId from caller to permission checks in telephony
code

Test: atest FrameworksTelephonyTests CtsAppOpsTestCases
Bug: 136595429
Fixes: 146350559
Change-Id: Ie58007cf2a4e4a39cdfd72822150efce71dfbe84
Merged-In: I7ef41e8961e48d40e5685c4a521e83cb20953e48
2020-01-08 14:16:54 -08:00
Nathan Harold
801bfb0d80 Merge "Expose PreciseDataConnectionState to Public API"
am: 47fbf0aaa0

Change-Id: I748243b2ebc02c6c750b83b722e5b38cf8fcf26e
2019-12-26 15:10:18 -08:00
Nathan Harold
47fbf0aaa0 Merge "Expose PreciseDataConnectionState to Public API" 2019-12-26 23:05:58 +00:00
Shi Lu
55cc8b27b8 Merge "Exposing voice connection status system APIs as public API"
am: 96e8628049

Change-Id: I222a9a2b44050825a4553b4b7baa7dfe7de3e046
2019-12-20 18:39:56 -08:00
Shi Lu
96e8628049 Merge "Exposing voice connection status system APIs as public API" 2019-12-21 02:31:36 +00:00
Nathan Harold
d9b5dda461 Expose PreciseDataConnectionState to Public API
1) Remove Unused Parameters for onDataConnectionState:
The data connection state broadcast includes a number of
parameters that are never used anywhere. To prepare for
updated code that relies on PreciseDataConnectionState,
remove the unused parameters that were internal-only and
included in the broadcast.

-LinkProperties
-NetworkCapabilities
-DataRoaming
-DataAllowed
-Interface name

2) Add Disconnecting State for Data Connections

Add a disconnecting state to correct a mismatch
between the internal and externally visible enums.

This will allow apps to know when connections are
in the process of being torn down, which in the case
of radio link issues could be as much as 15 seconds.

3) Expose PreciseDataConnection for Carrier Apps

Exposes the PSL for PreciseDataConnectionState along
with existing fields in the PreciseDataConnectionState
class.

-Make PreciseDataConnectionState public along with some
 of its fields.
-Expose onPreciseDataConnectionStateChanged.
-Add onPreciseDataConnectionStatesChanged to provide PDCS
 for all APNs in one cohesive batch.

4) Cache PreciseDataConnectionState by APN Type

In telephony registry, multiple different APN types
are all piped through the same cache entry, so every
time any APN changes relative to the previous type,
it triggers an update. This also means that when
a registrant requests the data connection state, only
the most recent type's state is updated.

This change caches entries in TelephonyRegistry based
on the APN's type (specifically the type among types
which triggered the change).

Bug: 143083105
Test: make update-api && make offline-sdk-docs
      (no functional change in this CL).
Test: atest FrameworksTelephonyTests

Merged-In: Ib6a769f5a0cae923ca47a842733bd28755a90ed5
Change-Id: Ib6a769f5a0cae923ca47a842733bd28755a90ed5
(cherry picked from commit 4d340f12c9)
(cherry picked from commit c95b4e5421)
2019-12-20 10:06:54 -08:00
Meng Wang
6846fe997c Merge "Remove PhoneStateLister#onOtaspChanged"
am: 0d7a5dc2ea

Change-Id: Ide424903fac31549a660ded17d24c14fa4e5db5b
2019-12-17 13:25:04 -08:00
Meng Wang
66972daf11 Remove PhoneStateLister#onOtaspChanged
and replace with Registrant in Phone, since the callback is only used
inside telephony.

Bug: 140908357
Test: make
Change-Id: Ia86e9885f85d7f6b3698e96653add00e9b8670ed
2019-12-16 15:10:43 -08:00
Chen Xu
91c9100315 Merge "expose APIs for mainline telephony-sdk"
am: 0bc81e1d23

Change-Id: I0aff3aabfe041fdd24a7a18389b91a6471d3548c
2019-12-16 12:58:06 -08:00
Chen Xu
0bc81e1d23 Merge "expose APIs for mainline telephony-sdk" 2019-12-16 20:51:04 +00:00
Jordan Liu
e0c19be377 Merge changes from topic "cellbroadcastintents"
am: 6bcc4db8c0

Change-Id: Idd0a6a63731f996573f51e3343c3165d692d1adc
2019-12-12 16:02:56 -08:00
Jordan Liu
10373f032e Add API to send background intent
am: d0f439c43b

Change-Id: I82352ac4247dc785efef4c006a440d56e514f575
2019-12-12 16:02:48 -08:00
Jordan Liu
3fd1264acb Do not modify passed in intent
If the caller wanted to use that intent object after passing it to this
method, it would be mutated in an unexpected way. Instead we create a
copy of the intent and broadcast that.

Bug: 144108192
Test: atest com.android.internal.telephony.CellBroadcastIntentsTest
Change-Id: I89e08b4a50beeb49410521baa9d449b2dc28ecd3
Merged-In: I89e08b4a50beeb49410521baa9d449b2dc28ecd3
2019-12-12 14:06:59 -08:00
Jordan Liu
d0f439c43b Add API to send background intent
Test: manual
Bug: 144108192
Change-Id: I93c49d377921830a2ae83217a3fbef5026982319
Merged-In: I93c49d377921830a2ae83217a3fbef5026982319
2019-12-12 13:08:12 -08:00
Shi Lu
12645d11e0 Exposing voice connection status system APIs as public API
Test: manual

Change-Id: I5e49f6e4bb3f513d2fb2dcce70b6416f8f80f4a8
2019-12-12 17:28:30 +00:00
Chen Xu
7c35a46442 expose APIs for mainline telephony-sdk
Those telephony SDK internal classes are referenced
by non-updatable framework/base classes.

Bug: 140908357
Change-Id: I943e2a2ca4ac1cb637cc237e580bd5cfca88a516
Merged-in: I943e2a2ca4ac1cb637cc237e580bd5cfca88a516
2019-12-12 00:18:49 -08:00
Meng Wang
d4e90d2e09 Merge "Style fix." 2019-12-10 00:24:32 +00:00
Meng Wang
3c97f033c5 Style fix.
To avoid merge conflict with internal branch.

Test: make
Change-Id: I04636443ea70f0cbac784a910c3d57fa80bd6bcc
Merged-In: I1b750751148925b4a7bd94553318907654012fc1
2019-12-09 23:30:16 +00:00
Treehugger Robot
c4090312df Merge "SubscriptionPlan: move out of telephony" 2019-12-06 23:12:58 +00:00
Meng Wang
1ba2871a02 SubscriptionPlan: move out of telephony
Hidden APIs of SubscriptionPlan are used in system server, not
telephopny. So it makes more sense for SubscriptionPlan to be in
core instead of telephopny.

Bug: 145814152
Test: make
Change-Id: I3bfb0ec699f46b0cc34c3bc2e13bfb242bc295bf
2019-12-06 13:50:15 -08:00
Meng Wang
a11df59bb4 Merge "SubscriptionPlan: move out of telephony" 2019-12-06 21:37:52 +00:00
Meng Wang
36673a4b44 SubscriptionPlan: move out of telephony
Hidden APIs of SubscriptionPlan are used in system server, not
telephopny. So it makes more sense for SubscriptionPlan to be in
core instead of telephopny.

Bug: 145814152
Test: make
Change-Id: I4c7ae02f9f4f154c99263521e08265d6fb367272
2019-12-06 11:47:46 -08:00
Meng Wang
392f3db6b0 Merge "Move SIM_ACTIVATION_TYPE_* to TelephonyRegistryManager" 2019-12-06 00:32:40 +00:00
Meng Wang
62d2ff8b36 Move SIM_ACTIVATION_TYPE_* to TelephonyRegistryManager
Because the constants are only used by TelephonyRegistryManager and
TelephonyRegistry.

Bug: 140908357
Test: make
Change-Id: I6933d1aa5b8dc35f136c8c4aed8572221ddfb755
2019-12-05 21:32:03 +00:00
Meng Wang
fdf6fc2718 Move DataConnectionRealTimeInfo from telephony to core.
Bug: 145232482
Test: make
Change-Id: I11cce938c15c604d0a72dd5c11727afd63cfce31
2019-12-04 17:51:42 -08:00
Chen Xu
b6d1319d1a telephony annotations part 2
adding missing annotations

Bug: 140908357
Test: Build

Merged-In: I6de632ef7ef01a939971b7d1bacb227ec5ff4048
Change-Id: I6de632ef7ef01a939971b7d1bacb227ec5ff4048
(cherry picked from commit f85cf993d3)
2019-11-20 14:09:16 -08:00
Treehugger Robot
7622ccb5f0 Merge "Move RLog out of telephony module" 2019-11-20 01:59:18 +00:00
Meng Wang
e88b4d2918 Move RLog out of telephony module
Bug: 144374158
Test: make
Change-Id: I7702677c8bb2529655ef03fc0a27c33743ae01b5
Merged-In: If983bc315218486be73567cd1919d1f60250f670
2019-11-19 16:16:08 -08:00
Hall Liu
7ffa1d11bf Add new API for Telecom to send phone state
Add new API to replace Telecom's prior usage of hidden TelephonyRegistry
methods.

Bug: 141576016
Test: CTS
Change-Id: I0049f55e8eadaa144ad844026524197198700038
2019-11-15 18:29:16 -08:00
Hall Liu
80b82f13b4 Minor style correction to avoid merge conflict
Test: NA
Bug: 141576016
Change-Id: I51f4bd741a94e5f143d9ffba70a11b8234ee4d3d
Merged-In: I1b750751148925b4a7bd94553318907654012fc1
2019-11-15 18:29:05 -08:00
Chen Xu
8eb62f9485 non-mainline telephony related AIDL refactor/decoupling
1. decouple IOnSubscriptionChangedListener AIDL from telephonyMainline
2. other refactor. moving APIs which will not be included in
telephony mainline to frameworks/base/core/java/android/telephony.
Moving internal classes like AIDL which will not be included in
telephony mainline to
framework/base/core/java/com/android/internal/telephony

Bug: 140908357
Test: Build & unit test
Change-Id: I9413ef758cceadd251d03f3b5ea1054cc48ef044
Merged-In: I9413ef758cceadd251d03f3b5ea1054cc48ef044
2019-11-15 18:02:40 -08:00