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
This commit is contained in:
Sooraj Sasindran
2021-09-28 02:54:35 +00:00
parent c22056bba2
commit 66ec345aa2

View File

@@ -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,9 +349,14 @@ public final class TelephonyPermissions {
LegacyPermissionManager permissionManager = (LegacyPermissionManager)
context.getSystemService(Context.LEGACY_PERMISSION_SERVICE);
if (permissionManager.checkDeviceIdentifierAccess(callingPackage, message, callingFeatureId,
pid, uid) == PackageManager.PERMISSION_GRANTED) {
return true;
try {
if (permissionManager.checkDeviceIdentifierAccess(callingPackage, message,
callingFeatureId,
pid, uid) == PackageManager.PERMISSION_GRANTED) {
return true;
}
} catch (SecurityException se) {
throwSecurityExceptionAsUidDoesNotHaveAccess(message, uid);
}
if (reportFailure) {
@@ -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;
}
/**