Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ac61f6bc authored by Mike Lockwood's avatar Mike Lockwood
Browse files

Telephony: Allow getCellLocation() if client has permission ACCESS_FINE_LOCATION



ACCESS_FINE_LOCATION should imply ACCESS_COARSE_LOCATION, so either of these
permissions should be sufficient to allow TelephonyManager.getCellLocation().

Signed-off-by: default avatarMike Lockwood <lockwood@android.com>
parent 12bb9471
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -112,9 +112,13 @@ class TelephonyRegistry extends ITelephonyRegistry.Stub {
        if (events != 0) {
            // check permissions
            if ((events & PhoneStateListener.LISTEN_CELL_LOCATION) != 0) {
                // ACCESS_FINE_LOCATION implies ACCESS_COARSE_LOCATION
                if (mContext.checkCallingPermission(
                        android.Manifest.permission.ACCESS_FINE_LOCATION)
                        != PackageManager.PERMISSION_GRANTED) {
                    mContext.enforceCallingOrSelfPermission(
                            android.Manifest.permission.ACCESS_COARSE_LOCATION, null);

                }
            }

            synchronized (mRecords) {
+3 −2
Original line number Diff line number Diff line
@@ -192,8 +192,9 @@ public class TelephonyManager {
    /**
     * Returns the current location of the device.
     *
     * <p>Requires Permission: {@link android.Manifest.permission#ACCESS_COARSE_LOCATION
     * ACCESS_COARSE_LOCATION}.
     * <p>Requires Permission:
     * {@link android.Manifest.permission#ACCESS_COARSE_LOCATION ACCESS_COARSE_LOCATION} or
     * {@link android.Manifest.permission#ACCESS_COARSE_LOCATION ACCESS_FINE_LOCATION}.
     */
    public CellLocation getCellLocation() {
        try {