Optimize ActiveServices targetSdkVersion fetch
Rather than fetching the entire AppInfo object, call the method for specifically getting the targetSdkVersion. In this specific case, match flags and user ID can both be ignored as only 1 physical APK for each package name is allowed on the device, so as long as the caller has package visibility, the targetSdkVersion returned is guaranteed to be the right one. Bug: 219481486 Test: presubmit Change-Id: I1d8c155e9be9b80da0af241273ceb9cf3564d917
This commit is contained in:
@@ -6568,12 +6568,11 @@ public final class ActiveServices {
|
||||
}
|
||||
|
||||
final int uidState = mAm.getUidStateLocked(callingUid);
|
||||
int callerTargetSdkVersion = INVALID_UID;
|
||||
int callerTargetSdkVersion = -1;
|
||||
try {
|
||||
ApplicationInfo ai = mAm.mContext.getPackageManager().getApplicationInfoAsUser(
|
||||
callingPackage, PackageManager.MATCH_KNOWN_PACKAGES, userId);
|
||||
callerTargetSdkVersion = ai.targetSdkVersion;
|
||||
} catch (PackageManager.NameNotFoundException e) {
|
||||
callerTargetSdkVersion = mAm.mContext.getPackageManager()
|
||||
.getTargetSdkVersion(callingPackage);
|
||||
} catch (PackageManager.NameNotFoundException ignored) {
|
||||
}
|
||||
final String debugInfo =
|
||||
"[callingPackage: " + callingPackage
|
||||
|
||||
Reference in New Issue
Block a user