Merge "Check USB device/accessory perms with sys identity" into qt-dev

This commit is contained in:
Philip P. Moltmann
2019-05-28 20:30:20 +00:00
committed by Android (Google) Code Review

View File

@@ -85,22 +85,22 @@ class UsbSerialReader extends IUsbSerialReader.Stub {
throw new RemoteException("package " + packageName + " cannot be found"); throw new RemoteException("package " + packageName + " cannot be found");
} }
packageTargetSdkVersion = pkg.applicationInfo.targetSdkVersion; packageTargetSdkVersion = pkg.applicationInfo.targetSdkVersion;
} finally {
Binder.restoreCallingIdentity(token);
}
if (packageTargetSdkVersion >= Build.VERSION_CODES.Q) { if (packageTargetSdkVersion >= Build.VERSION_CODES.Q) {
if (mContext.checkPermission(android.Manifest.permission.MANAGE_USB, pid, uid) if (mContext.checkPermission(android.Manifest.permission.MANAGE_USB, pid, uid)
== PackageManager.PERMISSION_DENIED) { == PackageManager.PERMISSION_DENIED) {
UsbUserSettingsManager settings = mSettingsManager.getSettingsForUser( UsbUserSettingsManager settings = mSettingsManager.getSettingsForUser(
UserHandle.getUserId(uid)); UserHandle.getUserId(uid));
if (mDevice instanceof UsbDevice) { if (mDevice instanceof UsbDevice) {
settings.checkPermission((UsbDevice) mDevice, packageName, uid); settings.checkPermission((UsbDevice) mDevice, packageName, uid);
} else { } else {
settings.checkPermission((UsbAccessory) mDevice, uid); settings.checkPermission((UsbAccessory) mDevice, uid);
}
} }
} }
} finally {
Binder.restoreCallingIdentity(token);
} }
} }