This causes an access to be logged for runtime permissions even if the
permission is denied, which is incorrect.
Fixes: 127297477
Bug: 116258458
Test: Verified using steps in b/127297477
Change-Id: I8306aa273b7d4dfab40a2a6d8d1ef6f4d8cc2c54
Make the following modifications to APIs and required permissions.
Move the following APIs from checking coarse permission to fine
permission (except for apps targeting pre-Q):
TelephonyManager.getCellLocation()
(deprecated) TelephonyManager.getNeighboringCellInfo()
TelephonyManager.getAllCellInfo()
TelephonyManager.requestCellInfoUpdate()
PhoneStateListener#onCellLocationChanged
PhoneStateListener#onCellInfoChanged
Start checking for fine permission on the following APIs:
(Note -- these will only be logged, not denied until a future CL)
TelephonyManager.requestNetworkScan()
TelephonyScanManager.requestNetworkScan()
NetworkScanCallback#onResults
Start checking for coarse permission on the following APIs:
(Note -- these will only be logged, not denied until a future CL)
TelephonyManager#getAvailableNetworks
TelephonyManager#getServiceStateForSubscriber and #getServiceState
PhoneStateListener#onServiceStateChanged
Bug: 116258458
Test: manual via testapps
Change-Id: I45326ddacbcf538da50ca544d67eed12cf0c0861
This change permits the system uid and root uid to
access cellular location information via the binder.
Previously this was restricted to the phone uid, but
running with uid=system is a privileged situation,
which makes me think this this wasn't intentional.
Also add a few lines of debug code to make issues
in LocationAccessPolicy easier to track down in the
future.
Bug: 110806860
Test: manual - ran with SL4A as SYSTEM_UID and
verified access to getAllCellInfo.
Change-Id: Ie18be2cd72c49f1859d1434428f82f164bed8756
When we fixed proper handling of location permisison gating
sensitive telephony calls we stopped throwing a security
exception when the permission is not held by the caller.
While this is not a security issue there is no reason to
change this behavior which is checked by CTS. This CL starts
throwing a security exception if the permission is not held.
Test: atest android.permission.cts.NoLocationPermissionTest
bug: 74074103
Change-Id: Ic891d62b408c692f84a345f24503f7f25d583e35
Remove the direct settings lookup since it's been deprecated.
Bug: 72886046
Test: run CTS
Change-Id: I00f11f46f20f86e91147b1232263b6c9a5d8c6b4
(cherry picked from commit d7a1c9dd76)
No longer allow legacy apps to access cell info location data when
location is turned off in settings.
Bug: 69637693
Test: manual
Change-Id: Ibff3cc75898dc189632f2f9427892423a404333f
When sending outbound callbacks on CELL_INFO and CELL_LOCATION, check to
make sure that the user has authorized us and the receiving app to get
information on their location.
Bug: 69637693
Test: manual: telephony testapp
Change-Id: Iacfc894428b11a7ec973567d7a797eedb281355f
When sending outbound callbacks on CELL_INFO and CELL_LOCATION, check to
make sure that the user has authorized us and the receiving app to get
information on their location.
Bug: 69637693
Test: manual: telephony testapp
Change-Id: Ib4c8c6a9765f504823016e538dd46768d1032792