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

Commit 66ec345a authored by Sooraj Sasindran's avatar Sooraj Sasindran
Browse files

Send same exception in case of installed package

Send same exception in case of installed packages and
non installed packages

Bug: 194743207
Test: build
Change-Id: I2dc350721162be8d9150fbe7ce0eee8f6fdd7486
parent c22056bb
Loading
Loading
Loading
Loading
+16 −5
Original line number Diff line number Diff line
@@ -308,6 +308,12 @@ public final class TelephonyPermissions {
        return checkPrivilegedReadPermissionOrCarrierPrivilegePermission(
                context, subId, callingPackage, callingFeatureId, message, false, reportFailure);
    }

    private static void throwSecurityExceptionAsUidDoesNotHaveAccess(String message, int uid) {
        throw new SecurityException(message + ": The uid " + uid
                + " does not meet the requirements to access device identifiers.");
    }

    /**
     * Checks whether the app with the given pid/uid can read device identifiers.
     *
@@ -343,10 +349,15 @@ public final class TelephonyPermissions {

        LegacyPermissionManager permissionManager = (LegacyPermissionManager)
                context.getSystemService(Context.LEGACY_PERMISSION_SERVICE);
        if (permissionManager.checkDeviceIdentifierAccess(callingPackage, message, callingFeatureId,
        try {
            if (permissionManager.checkDeviceIdentifierAccess(callingPackage, message,
                    callingFeatureId,
                    pid, uid) == PackageManager.PERMISSION_GRANTED) {
                return true;
            }
        } catch (SecurityException se) {
            throwSecurityExceptionAsUidDoesNotHaveAccess(message, uid);
        }

        if (reportFailure) {
            return reportAccessDeniedToReadIdentifiers(context, subId, pid, uid, callingPackage,
@@ -410,8 +421,8 @@ public final class TelephonyPermissions {
                return false;
            }
        }
        throw new SecurityException(message + ": The user " + uid
                + " does not meet the requirements to access device identifiers.");
        throwSecurityExceptionAsUidDoesNotHaveAccess(message, uid);
        return true;
    }

    /**