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

Change-Id: Ie998ee0cd92f93a4058aaa573fc160083ee81175
This commit is contained in:
Automerger Merge Worker
2020-03-09 12:56:32 +00:00

View File

@@ -951,18 +951,18 @@ public class Vpn {
|| 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)) {
return Process.myUid();
}
PackageManager pm = mContext.getPackageManager();
int result;
try {
result = pm.getPackageUidAsUser(app, userHandle);
} catch (NameNotFoundException e) {
result = -1;
}
return result;
return Binder.withCleanCallingIdentity(() -> {
try {
return pm.getPackageUidAsUser(app, userHandle);
} catch (NameNotFoundException e) {
return -1;
}
});
}
private boolean doesPackageTargetAtLeastQ(String packageName) {