diff --git a/core/java/android/hardware/usb/IUsbManager.aidl b/core/java/android/hardware/usb/IUsbManager.aidl index c79a4583f8a89..495fa21a03600 100644 --- a/core/java/android/hardware/usb/IUsbManager.aidl +++ b/core/java/android/hardware/usb/IUsbManager.aidl @@ -77,8 +77,8 @@ interface IUsbManager void grantAccessoryPermission(in UsbAccessory accessory, int uid); /* Returns true if the USB manager has default preferences or permissions for the package */ - boolean hasDefaults(String packageName, int uid); + boolean hasDefaults(String packageName); /* Clears default preferences and permissions for the package */ - oneway void clearDefaults(String packageName, int uid); + oneway void clearDefaults(String packageName); } diff --git a/core/java/android/hardware/usb/UsbAccessory.java b/core/java/android/hardware/usb/UsbAccessory.java index 6cd9178ffeadb..7d66caafbd042 100644 --- a/core/java/android/hardware/usb/UsbAccessory.java +++ b/core/java/android/hardware/usb/UsbAccessory.java @@ -108,6 +108,14 @@ public class UsbAccessory implements Parcelable { return false; } + @Override + public int hashCode() { + return ((mManufacturer == null ? 0 : mManufacturer.hashCode()) ^ + (mModel == null ? 0 : mModel.hashCode()) ^ + (mType == null ? 0 : mType.hashCode()) ^ + (mVersion == null ? 0 : mVersion.hashCode())); + } + @Override public String toString() { return "UsbAccessory[mManufacturer=" + mManufacturer + diff --git a/core/java/android/hardware/usb/UsbDevice.java b/core/java/android/hardware/usb/UsbDevice.java index 37bd82b851b9b..39254b3851f4c 100644 --- a/core/java/android/hardware/usb/UsbDevice.java +++ b/core/java/android/hardware/usb/UsbDevice.java @@ -269,6 +269,11 @@ public final class UsbDevice implements Parcelable { } } + @Override + public int hashCode() { + return mName.hashCode(); + } + @Override public String toString() { return "UsbDevice[mName=" + mName + ",mVendorId=" + mVendorId + diff --git a/core/java/android/hardware/usb/UsbManager.java b/core/java/android/hardware/usb/UsbManager.java index 9f1b8eaab2d7f..5df0ac7f4c0f0 100644 --- a/core/java/android/hardware/usb/UsbManager.java +++ b/core/java/android/hardware/usb/UsbManager.java @@ -281,6 +281,9 @@ public class UsbManager { /** * Returns true if the caller has permission to access the device. + * Permission might have been granted temporarily via + * {@link #requestPermission(android.hardware.usb.UsbDevice} or + * by the user choosing the caller as the default application for the device. * * @param device to check permissions for * @return true if caller has permission @@ -296,6 +299,9 @@ public class UsbManager { /** * Returns true if the caller has permission to access the accessory. + * Permission might have been granted temporarily via + * {@link #requestPermission(android.hardware.usb.UsbAccessory} or + * by the user choosing the caller as the default application for the accessory. * * @param accessory to check permissions for * @return true if caller has permission @@ -310,10 +316,13 @@ public class UsbManager { } /** - * Requests permission for the given package to access the device. + * Requests temporary permission for the given package to access the device. * This may result in a system dialog being displayed to the user * if permission had not already been granted. * Success or failure is returned via the {@link android.app.PendingIntent} pi. + * If successful, this grants the caller permission to access the device only + * until the device is disconnected. + * * The following extras will be added to pi: *