Merge "Clear binder identity before calling PackageManager API" into rvc-dev

This commit is contained in:
TreeHugger Robot
2020-03-09 12:26:44 +00:00
committed by Android (Google) Code Review

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) {