For TelephonyManager#listen, we check carrier privileges if
READ_PHONE_STATE is missing for any calls which enforce the
permission. For calls which check it and behave differently (by
redacting sensitive info), we defer the permission check until the
actual event occurs, at which point it is checked based on the current
state of the device.
For SubscriptionManager#addOnSubscriptionsChangedListener, we remove
the existing permission check for READ_PHONE_STATE altogether. The
event itself contains no information, and reading subscriptions still
requires either READ_PHONE_STATE or carrier privileges on the
subscription in question.
Also updates incorrect Javadoc on
PhoneStateListener#LISTEN_SIGNAL_STRENGTH, which does not actually
check any permissions by design.
Bug: 70041899
Fixes: 74034127
Test: TreeHugger + E2E test w/ a carrier-privileged app
Change-Id: I84a56ad3972b9edcfdefcbb43ef174c54cdcac00
This table is used by Auto code to keep track of changes to locally
stored SMS messages. These changes are propagated to the phone.
Bug: 71633682
Test: tested manually with messaging app.
Change-Id: I8bd8f5f375a9229de2b9de5ef09e5e1e9a97a4ca
Update TelephonyManager#getCallState,
PhoneStateListener#onCallStateChanged to make it clear which calls each
method considers in determining call state.
Added intdef for call state (allows auto doc generation of valid
values for parameters).
Test: make docs
Bug: 73245376
Change-Id: I70ebd0f00ae3f0e1370ae275be8f8ef6f008523d
Removes the notifyImsFeatureReady
API AIDL, it is called when the callback
is set on the specific ImsFeature
interface.
Bug: 74391574
Test: Manual
Merged-In: I4762bdef59a8adec8ce41972489c65f2d180a3d4
Change-Id: I8c9cc39fa73861d7a9792709e1517d391230abfa
1) Provide a "default" impl for MmTelFeature
instead of returning null.
2) Introduce a FeatureSlotPair, which maps a SIM
slot ID to a ImsFeature. This allows the ImsService
to provide which features it supports for multi-SIM
phones.
3) Pipe through ImsResolver state to help prevent IMS
operation when the ImsResolver is in the process of
figuring out feature capabilities.
Test: Telephony ImsService test app, telephony unit tests
Bug: 72642524
Merged-In: I4d7e9ba630739ade83e3242488f330ea6e73bbd7
Change-Id: Idb95f7651af200026d62e8b29eaed30bc0ebc9d3
Rename getAndroidCarrierIdForSubscription to getSimCarrierId.
Drop prefix "Android" as Android is implicit everywhere.
Rename carrierName to CarrierIdName to imply correlation between
these two APIs. This also helps to differentiate from another API
getSimOperatorName.
Bug: 71584605
Test: build
Change-Id: Iba4b1c21522741b8c11836a4c39004064736b4c6
(cherry picked from commit c8d483e488)
Merged-in: Iba4b1c21522741b8c11836a4c39004064736b4c6
-All public APIs in TelephonyManager which require READ_PHONE_STATE
will now also be documented to accept carrier privileged callers as
well. (One exception is the change callbacks in each, which will be
addressed in a separate CL).
-For SubscriptionManager, callers without READ_PHONE_STATE will now be
able to access the subscription list; however, the resulting list will
be filtered to only include subscriptions for which the caller has
carrier privileges.
-All @see references to hasCarrierPrivileges have been removed in
favor of an inline {@link}. The @see section is set apart from the
rest of the Javadoc and thus appears out of context of where it's
actually relevant; moreover, it is often placed in the middle of a
line which makes it invalid. Using {@link} inlines the reference where
it's actually relevant.
-@SuppressAutodoc is added to any public method which has a
@RequiresPermission declaration that isn't a sufficient description of
the allowed callers, i.e. for APIs which accept carrier-privileged
callers, or the default dialer app or other exceptional cases. This
ensures redundant (but incorrect) requires permission declarations
aren't autogenerated.
Bug: 70041899
Test: TreeHugger, unit tests in topic
Change-Id: Ia5cc145c19d99fe2b87e3425bb95281980edef6f
Merged-In: Ia5cc145c19d99fe2b87e3425bb95281980edef6f
(cherry picked from commit bc10ce1efe)
Some RuntimeExceptions will be thrown across the binder so we need to
catch RuntimeException even we already catch the RemoteException.
Bug:73750871
Test: Unit Test
Change-Id: Ib72e5ce0f20fbbe913b054314ed3942862c0ab95