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

Commit 221830b9 authored by Mike Lockwood's avatar Mike Lockwood Committed by Android (Google) Code Review
Browse files

Merge "Add support for USB accessory serial numbers" into honeycomb-mr1

parents 3fabad87 015b1eca
Loading
Loading
Loading
Loading
+12 −1
Original line number Diff line number Diff line
@@ -94481,6 +94481,17 @@
 visibility="public"
>
</method>
<method name="getSerial"
 return="java.lang.String"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
</method>
<method name="getUri"
 return="java.lang.String"
 abstract="false"
@@ -267064,7 +267075,7 @@
 deprecated="not deprecated"
 visibility="public"
>
<parameter name="arg0" type="T">
<parameter name="t" type="T">
</parameter>
</method>
</interface>
+24 −5
Original line number Diff line number Diff line
@@ -33,18 +33,20 @@ public class UsbAccessory implements Parcelable {
    private final String mDescription;
    private final String mVersion;
    private final String mUri;
    private final String mSerial;

    /**
     * UsbAccessory should only be instantiated by UsbService implementation
     * @hide
     */
    public UsbAccessory(String manufacturer, String model, String description,
            String version, String uri) {
            String version, String uri, String serial) {
        mManufacturer = manufacturer;
        mModel = model;
        mDescription = description;
        mVersion = version;
        mUri = uri;
        mSerial = serial;
    }

    /**
@@ -57,6 +59,7 @@ public class UsbAccessory implements Parcelable {
        mDescription = strings[2];
        mVersion = strings[3];
        mUri = strings[4];
        mSerial = strings[5];
    }

    /**
@@ -106,6 +109,17 @@ public class UsbAccessory implements Parcelable {
        return mUri;
    }

    /**
     * Returns the unique serial number for the accessory.
     * This is an optional serial number that can be used to differentiate
     * between individual accessories of the same model and manufacturer
     *
     * @return the unique serial number
     */
    public String getSerial() {
        return mSerial;
    }

    private static boolean compare(String s1, String s2) {
        if (s1 == null) return (s2 == null);
        return s1.equals(s2);
@@ -119,7 +133,8 @@ public class UsbAccessory implements Parcelable {
                    compare(mModel, accessory.getModel()) &&
                    compare(mDescription, accessory.getDescription()) &&
                    compare(mVersion, accessory.getVersion()) &&
                    compare(mUri, accessory.getUri()));
                    compare(mUri, accessory.getUri()) &&
                    compare(mSerial, accessory.getSerial()));
        }
        return false;
    }
@@ -130,7 +145,8 @@ public class UsbAccessory implements Parcelable {
                (mModel == null ? 0 : mModel.hashCode()) ^
                (mDescription == null ? 0 : mDescription.hashCode()) ^
                (mVersion == null ? 0 : mVersion.hashCode()) ^
                (mUri == null ? 0 : mUri.hashCode()));
                (mUri == null ? 0 : mUri.hashCode()) ^
                (mSerial == null ? 0 : mSerial.hashCode()));
    }

    @Override
@@ -139,7 +155,8 @@ public class UsbAccessory implements Parcelable {
                            ", mModel=" + mModel +
                            ", mDescription=" + mDescription +
                            ", mVersion=" + mVersion +
                            ", mUri=" + mUri + "]";
                            ", mUri=" + mUri +
                            ", mSerial=" + mSerial + "]";
    }

    public static final Parcelable.Creator<UsbAccessory> CREATOR =
@@ -150,7 +167,8 @@ public class UsbAccessory implements Parcelable {
            String description = in.readString();
            String version = in.readString();
            String uri = in.readString();
            return new UsbAccessory(manufacturer, model, description, version, uri);
            String serial = in.readString();
            return new UsbAccessory(manufacturer, model, description, version, uri, serial);
        }

        public UsbAccessory[] newArray(int size) {
@@ -168,5 +186,6 @@ public class UsbAccessory implements Parcelable {
        parcel.writeString(mDescription);
        parcel.writeString(mVersion);
        parcel.writeString(mUri);
        parcel.writeString(mSerial);
   }
}
+20 −4
Original line number Diff line number Diff line
@@ -19,13 +19,14 @@ package com.android.future.usb;
/**
 * A class representing a USB accessory.
 */
public final class UsbAccessory {
public class UsbAccessory {

    private final String mManufacturer;
    private final String mModel;
    private final String mDescription;
    private final String mVersion;
    private final String mUri;
    private final String mSerial;

    /* package */ UsbAccessory(android.hardware.usb.UsbAccessory accessory) {
        mManufacturer = accessory.getManufacturer();
@@ -33,6 +34,7 @@ public final class UsbAccessory {
        mDescription = accessory.getDescription();
        mVersion = accessory.getVersion();
        mUri = accessory.getUri();
        mSerial = accessory.getSerial();
    }

    /**
@@ -82,6 +84,17 @@ public final class UsbAccessory {
        return mUri;
    }

    /**
     * Returns the unique serial number for the accessory.
     * This is an optional serial number that can be used to differentiate
     * between individual accessories of the same model and manufacturer
     *
     * @return the unique serial number
     */
    public String getSerial() {
        return mSerial;
    }

    private static boolean compare(String s1, String s2) {
        if (s1 == null) return (s2 == null);
        return s1.equals(s2);
@@ -95,7 +108,8 @@ public final class UsbAccessory {
                    compare(mModel, accessory.getModel()) &&
                    compare(mDescription, accessory.getDescription()) &&
                    compare(mVersion, accessory.getVersion()) &&
                    compare(mUri, accessory.getUri()));
                    compare(mUri, accessory.getUri()) &&
                    compare(mSerial, accessory.getSerial()));
        }
        return false;
    }
@@ -106,7 +120,8 @@ public final class UsbAccessory {
                (mModel == null ? 0 : mModel.hashCode()) ^
                (mDescription == null ? 0 : mDescription.hashCode()) ^
                (mVersion == null ? 0 : mVersion.hashCode()) ^
                (mUri == null ? 0 : mUri.hashCode()));
                (mUri == null ? 0 : mUri.hashCode()) ^
                (mSerial == null ? 0 : mSerial.hashCode()));
    }

    @Override
@@ -115,6 +130,7 @@ public final class UsbAccessory {
                            ", mModel=" + mModel +
                            ", mDescription=" + mDescription +
                            ", mVersion=" + mVersion +
                            ", mUri=" + mUri + "]";
                            ", mUri=" + mUri +
                            ", mSerial=" + mSerial + "]";
    }
}
+6 −3
Original line number Diff line number Diff line
@@ -130,7 +130,8 @@ public class UsbManager {
        try {
            return mService.openAccessory(new android.hardware.usb.UsbAccessory(
                    accessory.getManufacturer(),accessory.getModel(),
                    accessory.getDescription(), accessory.getVersion(), accessory.getUri()));
                    accessory.getDescription(), accessory.getVersion(),
                    accessory.getUri(), accessory.getSerial()));
        } catch (RemoteException e) {
            Log.e(TAG, "RemoteException in openAccessory" , e);
            return null;
@@ -150,7 +151,8 @@ public class UsbManager {
        try {
            return mService.hasAccessoryPermission(new android.hardware.usb.UsbAccessory(
                    accessory.getManufacturer(),accessory.getModel(),
                    accessory.getDescription(), accessory.getVersion(), accessory.getUri()));
                    accessory.getDescription(), accessory.getVersion(),
                    accessory.getUri(), accessory.getSerial()));
        } catch (RemoteException e) {
            Log.e(TAG, "RemoteException in hasPermission", e);
            return false;
@@ -174,7 +176,8 @@ public class UsbManager {
        try {
            mService.requestAccessoryPermission(new android.hardware.usb.UsbAccessory(
                    accessory.getManufacturer(),accessory.getModel(),
                    accessory.getDescription(), accessory.getVersion(), accessory.getUri()),
                    accessory.getDescription(), accessory.getVersion(),
                    accessory.getUri(), accessory.getSerial()),
                    mContext.getPackageName(), pi);
        } catch (RemoteException e) {
            Log.e(TAG, "RemoteException in requestPermission", e);
+1 −1
Original line number Diff line number Diff line
@@ -21,7 +21,7 @@ LOCAL_MODULE_TAGS := tests

LOCAL_SRC_FILES := $(call all-subdir-java-files)

LOCAL_PACKAGE_NAME := AccessoryChatGB
LOCAL_PACKAGE_NAME := AccessoryChat

LOCAL_JAVA_LIBRARIES := com.android.future.usb.accessory

Loading