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
Modify the privilege for LISTEN_BARRING_INFO and for
LISTEN_REGISTRATION_FAILURE to require READ_PRECISE_PHONE_STATE.
Because both of these should only be of interest to special-
purpose applications such as Carrier Apps or diagnostics apps,
limit the permissions to encourage barring info to be collected
via NET_CAPABILITY_NOT_CONGESTED, and for registration failure
to be learned in a more digestible fashion via ServiceState.
Bug: 149061935
Test: atest TelephonyManagerPermissionTest && atest CarrierApiTest
Change-Id: If8c915745951d745a5b30e9c44732db704f09a8d
> 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
Whitelisted telephony broadcasts using the intent background flag.
Ensured that each broadcast was protected manually through cts test below.
Bug: 148181747
Test: Switched on ActivityManagerDebugConfig.DEBUG_BACKGROUND_CHECK for SIM_STATE_CHANGED
Test: android.telephony.cts.TelephonyProtectedBroadcastsTest
Change-Id: Id280fc2128b84dda2a8184dfa32ecc5b8f787afb
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
Change-Id: I5995e3c5099a1e49cb0c54d33da1dbfcc94d4037
- 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)
... PhoneStateListener.mSubId; move the logic to
TelephonyRegistryManager.
Bug: 140908357
Test: make
Change-Id: I2594cdfe178b02aeab9f88dc16586418eca985ff
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)
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
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
- 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
Change-Id: I6c801039e3eaf22bae052de6569cf1d9a5b28396
Expose all the methods as SystemApis for telephony to use.
Fixes: 148114017
Test: atest TelephonyRegistryManagerTest
Change-Id: I43537bf741742eb9e8df1a55e20cc3c8b2bbd874
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
- 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
-Create a BarringInfo class to pass Barring information
from HAL to PhoneStateListener.
-Add a multi-callback registrant so that ServiceStateTracker
and potentially DcTracker can also listen to barring info in
the future.
Bug: 143226991
Test: make update-api && make && atest BarringInfoTest
Change-Id: I08240259f3142beeca991238bf705236f0303954
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)
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
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)
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
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
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
Add a callback to PhoneStateListener to indicate that
a registration procedure has failed.
Bug: 143187047
Test: make update-api && make
Change-Id: I4a4ba4479dfd465a9d8063135f3b4bf4e1323e99
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
Change-Id: I6225f100953a2ad354acaa261a774989926393ce
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)