Merge "Clear binder identity before calling PackageManager API" into rvc-dev am: 3ce0702633

Change-Id: I51287510a062edfb709bfaadb5715a5ddbfc442c
This commit is contained in:
Automerger Merge Worker
2020-03-09 12:35:49 +00:00

View File

@@ -951,18 +951,18 @@ public class Vpn {
|| isVpnServicePreConsented(context, packageName); || isVpnServicePreConsented(context, packageName);
} }
private int getAppUid(String app, int userHandle) { private int getAppUid(final String app, final int userHandle) {
if (VpnConfig.LEGACY_VPN.equals(app)) { if (VpnConfig.LEGACY_VPN.equals(app)) {
return Process.myUid(); return Process.myUid();
} }
PackageManager pm = mContext.getPackageManager(); PackageManager pm = mContext.getPackageManager();
int result; return Binder.withCleanCallingIdentity(() -> {
try { try {
result = pm.getPackageUidAsUser(app, userHandle); return pm.getPackageUidAsUser(app, userHandle);
} catch (NameNotFoundException e) { } catch (NameNotFoundException e) {
result = -1; return -1;
} }
return result; });
} }
private boolean doesPackageTargetAtLeastQ(String packageName) { private boolean doesPackageTargetAtLeastQ(String packageName) {