Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4e493c4f authored by Evan Severson's avatar Evan Severson Committed by Android (Google) Code Review
Browse files

Merge "Implement persistent permissions for Usb devices"

parents f963e0d5 7b78bbd0
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -56,6 +56,12 @@ public class AccessoryFilter {
        mVersion = accessory.getVersion();
    }

    public AccessoryFilter(@NonNull AccessoryFilter filter) {
        mManufacturer = filter.mManufacturer;
        mModel = filter.mModel;
        mVersion = filter.mVersion;
    }

    public static AccessoryFilter read(XmlPullParser parser)
            throws XmlPullParserException, IOException {
        String manufacturer = null;
+11 −0
Original line number Diff line number Diff line
@@ -80,6 +80,17 @@ public class DeviceFilter {
        mSerialNumber = device.getSerialNumber();
    }

    public DeviceFilter(@NonNull DeviceFilter filter) {
        mVendorId = filter.mVendorId;
        mProductId = filter.mProductId;
        mClass = filter.mClass;
        mSubclass = filter.mSubclass;
        mProtocol = filter.mProtocol;
        mManufacturerName = filter.mManufacturerName;
        mProductName = filter.mProductName;
        mSerialNumber = filter.mSerialNumber;
    }

    public static DeviceFilter read(XmlPullParser parser)
            throws XmlPullParserException, IOException {
        int vendorId = -1;
+9 −0
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import android.hardware.usb.ParcelableUsbPort;
import android.hardware.usb.UsbPortStatus;
import android.os.Bundle;
import android.os.ParcelFileDescriptor;
import android.os.UserHandle;

/** @hide */
interface IUsbManager
@@ -54,6 +55,14 @@ interface IUsbManager
     */
    void setAccessoryPackage(in UsbAccessory accessory, String packageName, int userId);

    /* Sets the persistent permission granted state for USB device
     */
    void setDevicePersistentPermission(in UsbDevice device, int uid, in UserHandle user, boolean shouldBeGranted);

    /* Sets the persistent permission granted state for USB accessory
     */
    void setAccessoryPersistentPermission(in UsbAccessory accessory, int uid, in UserHandle user, boolean shouldBeGranted);

    /* Returns true if the caller has permission to access the device. */
    boolean hasDevicePermission(in UsbDevice device, String packageName);

+4 −0
Original line number Diff line number Diff line
@@ -60,6 +60,10 @@ class UsbPermissionManager {
        }
    }

    @NonNull UsbUserPermissionManager getPermissionsForUser(@NonNull UserHandle user) {
        return getPermissionsForUser(user.getIdentifier());
    }

    void remove(@NonNull UserHandle userToRemove) {
        synchronized (mPermissionsByUser) {
            mPermissionsByUser.remove(userToRemove.getIdentifier());
+1 −1
Original line number Diff line number Diff line
@@ -319,7 +319,7 @@ class UsbProfileGroupSettingsManager {

    /**
     * Upgrade any single-user settings from {@link #sSingleUserSettingsFile}.
     * Should only by called by owner.
     * Should only be called by owner.
     */
    @GuardedBy("mLock")
    private void upgradeSingleUserLocked() {
Loading