public class android.hardware.usb.UsbDevice implements android.os.Parcelable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.hardware.usb.UsbDevice
  super_class: java.lang.Object
{
  private static final java.lang.String TAG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "UsbDevice"

  private static final boolean DEBUG;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private final java.lang.String mName;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String mManufacturerName;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String mProductName;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String mVersion;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String mSerialNumber;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int mVendorId;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int mProductId;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int mClass;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int mSubclass;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int mProtocol;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private android.os.Parcelable[] mConfigurations;
    descriptor: [Landroid/os/Parcelable;
    flags: (0x0002) ACC_PRIVATE

  private android.hardware.usb.UsbInterface[] mInterfaces;
    descriptor: [Landroid/hardware/usb/UsbInterface;
    flags: (0x0002) ACC_PRIVATE

  public static final android.os.Parcelable$Creator<android.hardware.usb.UsbDevice> CREATOR;
    descriptor: Landroid/os/Parcelable$Creator;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Landroid/os/Parcelable$Creator<Landroid/hardware/usb/UsbDevice;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 292
            new android.hardware.usb.UsbDevice$1
            dup
            invokespecial android.hardware.usb.UsbDevice$1.<init>:()V
         1: .line 291
            putstatic android.hardware.usb.UsbDevice.CREATOR:Landroid/os/Parcelable$Creator;
         2: .line 314
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(java.lang.String, int, int, int, int, int, java.lang.String, java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;IIIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=11, args_size=11
        start local 0 // android.hardware.usb.UsbDevice this
        start local 1 // java.lang.String name
        start local 2 // int vendorId
        start local 3 // int productId
        start local 4 // int Class
        start local 5 // int subClass
        start local 6 // int protocol
        start local 7 // java.lang.String manufacturerName
        start local 8 // java.lang.String productName
        start local 9 // java.lang.String version
        start local 10 // java.lang.String serialNumber
         0: .line 69
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 72
            aload 0 /* this */
            aload 1 /* name */
            invokestatic com.android.internal.util.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            putfield android.hardware.usb.UsbDevice.mName:Ljava/lang/String;
         2: .line 73
            aload 0 /* this */
            iload 2 /* vendorId */
            putfield android.hardware.usb.UsbDevice.mVendorId:I
         3: .line 74
            aload 0 /* this */
            iload 3 /* productId */
            putfield android.hardware.usb.UsbDevice.mProductId:I
         4: .line 75
            aload 0 /* this */
            iload 4 /* Class */
            putfield android.hardware.usb.UsbDevice.mClass:I
         5: .line 76
            aload 0 /* this */
            iload 5 /* subClass */
            putfield android.hardware.usb.UsbDevice.mSubclass:I
         6: .line 77
            aload 0 /* this */
            iload 6 /* protocol */
            putfield android.hardware.usb.UsbDevice.mProtocol:I
         7: .line 78
            aload 0 /* this */
            aload 7 /* manufacturerName */
            putfield android.hardware.usb.UsbDevice.mManufacturerName:Ljava/lang/String;
         8: .line 79
            aload 0 /* this */
            aload 8 /* productName */
            putfield android.hardware.usb.UsbDevice.mProductName:Ljava/lang/String;
         9: .line 80
            aload 0 /* this */
            aload 9 /* version */
            invokestatic com.android.internal.util.Preconditions.checkStringNotEmpty:(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
            checkcast java.lang.String
            putfield android.hardware.usb.UsbDevice.mVersion:Ljava/lang/String;
        10: .line 81
            aload 0 /* this */
            aload 10 /* serialNumber */
            putfield android.hardware.usb.UsbDevice.mSerialNumber:Ljava/lang/String;
        11: .line 82
            return
        end local 10 // java.lang.String serialNumber
        end local 9 // java.lang.String version
        end local 8 // java.lang.String productName
        end local 7 // java.lang.String manufacturerName
        end local 6 // int protocol
        end local 5 // int subClass
        end local 4 // int Class
        end local 3 // int productId
        end local 2 // int vendorId
        end local 1 // java.lang.String name
        end local 0 // android.hardware.usb.UsbDevice this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   12     0              this  Landroid/hardware/usb/UsbDevice;
            0   12     1              name  Ljava/lang/String;
            0   12     2          vendorId  I
            0   12     3         productId  I
            0   12     4             Class  I
            0   12     5          subClass  I
            0   12     6          protocol  I
            0   12     7  manufacturerName  Ljava/lang/String;
            0   12     8       productName  Ljava/lang/String;
            0   12     9           version  Ljava/lang/String;
            0   12    10      serialNumber  Ljava/lang/String;
    MethodParameters:
                  Name  Flags
      name              
      vendorId          
      productId         
      Class             
      subClass          
      protocol          
      manufacturerName  
      productName       
      version           
      serialNumber      

  public java.lang.String getDeviceName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.hardware.usb.UsbDevice this
         0: .line 92
            aload 0 /* this */
            getfield android.hardware.usb.UsbDevice.mName:Ljava/lang/String;
            areturn
        end local 0 // android.hardware.usb.UsbDevice this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/hardware/usb/UsbDevice;

  public java.lang.String getManufacturerName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.hardware.usb.UsbDevice this
         0: .line 101
            aload 0 /* this */
            getfield android.hardware.usb.UsbDevice.mManufacturerName:Ljava/lang/String;
            areturn
        end local 0 // android.hardware.usb.UsbDevice this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/hardware/usb/UsbDevice;

  public java.lang.String getProductName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.hardware.usb.UsbDevice this
         0: .line 110
            aload 0 /* this */
            getfield android.hardware.usb.UsbDevice.mProductName:Ljava/lang/String;
            areturn
        end local 0 // android.hardware.usb.UsbDevice this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/hardware/usb/UsbDevice;

  public java.lang.String getVersion();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.hardware.usb.UsbDevice this
         0: .line 119
            aload 0 /* this */
            getfield android.hardware.usb.UsbDevice.mVersion:Ljava/lang/String;
            areturn
        end local 0 // android.hardware.usb.UsbDevice this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/hardware/usb/UsbDevice;

  public java.lang.String getSerialNumber();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.hardware.usb.UsbDevice this
         0: .line 128
            aload 0 /* this */
            getfield android.hardware.usb.UsbDevice.mSerialNumber:Ljava/lang/String;
            areturn
        end local 0 // android.hardware.usb.UsbDevice this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/hardware/usb/UsbDevice;

  public int getDeviceId();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.hardware.usb.UsbDevice this
         0: .line 140
            aload 0 /* this */
            getfield android.hardware.usb.UsbDevice.mName:Ljava/lang/String;
            invokestatic android.hardware.usb.UsbDevice.getDeviceId:(Ljava/lang/String;)I
            ireturn
        end local 0 // android.hardware.usb.UsbDevice this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/hardware/usb/UsbDevice;

  public int getVendorId();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.hardware.usb.UsbDevice this
         0: .line 149
            aload 0 /* this */
            getfield android.hardware.usb.UsbDevice.mVendorId:I
            ireturn
        end local 0 // android.hardware.usb.UsbDevice this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/hardware/usb/UsbDevice;

  public int getProductId();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.hardware.usb.UsbDevice this
         0: .line 158
            aload 0 /* this */
            getfield android.hardware.usb.UsbDevice.mProductId:I
            ireturn
        end local 0 // android.hardware.usb.UsbDevice this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/hardware/usb/UsbDevice;

  public int getDeviceClass();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.hardware.usb.UsbDevice this
         0: .line 168
            aload 0 /* this */
            getfield android.hardware.usb.UsbDevice.mClass:I
            ireturn
        end local 0 // android.hardware.usb.UsbDevice this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/hardware/usb/UsbDevice;

  public int getDeviceSubclass();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.hardware.usb.UsbDevice this
         0: .line 177
            aload 0 /* this */
            getfield android.hardware.usb.UsbDevice.mSubclass:I
            ireturn
        end local 0 // android.hardware.usb.UsbDevice this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/hardware/usb/UsbDevice;

  public int getDeviceProtocol();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.hardware.usb.UsbDevice this
         0: .line 186
            aload 0 /* this */
            getfield android.hardware.usb.UsbDevice.mProtocol:I
            ireturn
        end local 0 // android.hardware.usb.UsbDevice this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/hardware/usb/UsbDevice;

  public int getConfigurationCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.hardware.usb.UsbDevice this
         0: .line 195
            aload 0 /* this */
            getfield android.hardware.usb.UsbDevice.mConfigurations:[Landroid/os/Parcelable;
            arraylength
            ireturn
        end local 0 // android.hardware.usb.UsbDevice this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/hardware/usb/UsbDevice;

  public android.hardware.usb.UsbConfiguration getConfiguration(int);
    descriptor: (I)Landroid/hardware/usb/UsbConfiguration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.hardware.usb.UsbDevice this
        start local 1 // int index
         0: .line 204
            aload 0 /* this */
            getfield android.hardware.usb.UsbDevice.mConfigurations:[Landroid/os/Parcelable;
            iload 1 /* index */
            aaload
            checkcast android.hardware.usb.UsbConfiguration
            areturn
        end local 1 // int index
        end local 0 // android.hardware.usb.UsbDevice this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Landroid/hardware/usb/UsbDevice;
            0    1     1  index  I
    MethodParameters:
       Name  Flags
      index  

  private android.hardware.usb.UsbInterface[] getInterfaceList();
    descriptor: ()[Landroid/hardware/usb/UsbInterface;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // android.hardware.usb.UsbDevice this
         0: .line 208
            aload 0 /* this */
            getfield android.hardware.usb.UsbDevice.mInterfaces:[Landroid/hardware/usb/UsbInterface;
            ifnonnull 22
         1: .line 209
            aload 0 /* this */
            getfield android.hardware.usb.UsbDevice.mConfigurations:[Landroid/os/Parcelable;
            arraylength
            istore 1 /* configurationCount */
        start local 1 // int configurationCount
         2: .line 210
            iconst_0
            istore 2 /* interfaceCount */
        start local 2 // int interfaceCount
         3: .line 211
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 8
         5: .line 212
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.usb.UsbDevice.mConfigurations:[Landroid/os/Parcelable;
            iload 3 /* i */
            aaload
            checkcast android.hardware.usb.UsbConfiguration
            astore 4 /* configuration */
        start local 4 // android.hardware.usb.UsbConfiguration configuration
         6: .line 213
            iload 2 /* interfaceCount */
            aload 4 /* configuration */
            invokevirtual android.hardware.usb.UsbConfiguration.getInterfaceCount:()I
            iadd
            istore 2 /* interfaceCount */
        end local 4 // android.hardware.usb.UsbConfiguration configuration
         7: .line 211
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            iload 1 /* configurationCount */
            if_icmplt 5
        end local 3 // int i
         9: .line 216
            aload 0 /* this */
            iload 2 /* interfaceCount */
            anewarray android.hardware.usb.UsbInterface
            putfield android.hardware.usb.UsbDevice.mInterfaces:[Landroid/hardware/usb/UsbInterface;
        10: .line 217
            iconst_0
            istore 3 /* offset */
        start local 3 // int offset
        11: .line 218
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        12: goto 21
        13: .line 219
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.usb.UsbDevice.mConfigurations:[Landroid/os/Parcelable;
            iload 4 /* i */
            aaload
            checkcast android.hardware.usb.UsbConfiguration
            astore 5 /* configuration */
        start local 5 // android.hardware.usb.UsbConfiguration configuration
        14: .line 220
            aload 5 /* configuration */
            invokevirtual android.hardware.usb.UsbConfiguration.getInterfaceCount:()I
            istore 2 /* interfaceCount */
        15: .line 221
            iconst_0
            istore 6 /* j */
        start local 6 // int j
        16: goto 19
        17: .line 222
      StackMap locals: android.hardware.usb.UsbConfiguration int
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.usb.UsbDevice.mInterfaces:[Landroid/hardware/usb/UsbInterface;
            iload 3 /* offset */
            iinc 3 /* offset */ 1
            aload 5 /* configuration */
            iload 6 /* j */
            invokevirtual android.hardware.usb.UsbConfiguration.getInterface:(I)Landroid/hardware/usb/UsbInterface;
            aastore
        18: .line 221
            iinc 6 /* j */ 1
      StackMap locals:
      StackMap stack:
        19: iload 6 /* j */
            iload 2 /* interfaceCount */
            if_icmplt 17
        end local 6 // int j
        end local 5 // android.hardware.usb.UsbConfiguration configuration
        20: .line 218
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 4 /* i */
            iload 1 /* configurationCount */
            if_icmplt 13
        end local 4 // int i
        end local 3 // int offset
        end local 2 // int interfaceCount
        end local 1 // int configurationCount
        22: .line 227
      StackMap locals: android.hardware.usb.UsbDevice
      StackMap stack:
            aload 0 /* this */
            getfield android.hardware.usb.UsbDevice.mInterfaces:[Landroid/hardware/usb/UsbInterface;
            areturn
        end local 0 // android.hardware.usb.UsbDevice this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   23     0                this  Landroid/hardware/usb/UsbDevice;
            2   22     1  configurationCount  I
            3   22     2      interfaceCount  I
            4    9     3                   i  I
            6    7     4       configuration  Landroid/hardware/usb/UsbConfiguration;
           11   22     3              offset  I
           12   22     4                   i  I
           14   20     5       configuration  Landroid/hardware/usb/UsbConfiguration;
           16   20     6                   j  I

  public int getInterfaceCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.hardware.usb.UsbDevice this
         0: .line 238
            aload 0 /* this */
            invokevirtual android.hardware.usb.UsbDevice.getInterfaceList:()[Landroid/hardware/usb/UsbInterface;
            arraylength
            ireturn
        end local 0 // android.hardware.usb.UsbDevice this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/hardware/usb/UsbDevice;

  public android.hardware.usb.UsbInterface getInterface(int);
    descriptor: (I)Landroid/hardware/usb/UsbInterface;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.hardware.usb.UsbDevice this
        start local 1 // int index
         0: .line 249
            aload 0 /* this */
            invokevirtual android.hardware.usb.UsbDevice.getInterfaceList:()[Landroid/hardware/usb/UsbInterface;
            iload 1 /* index */
            aaload
            areturn
        end local 1 // int index
        end local 0 // android.hardware.usb.UsbDevice this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Landroid/hardware/usb/UsbDevice;
            0    1     1  index  I
    MethodParameters:
       Name  Flags
      index  

  public void setConfigurations(android.os.Parcelable[]);
    descriptor: ([Landroid/os/Parcelable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.hardware.usb.UsbDevice this
        start local 1 // android.os.Parcelable[] configuration
         0: .line 257
            aload 0 /* this */
            aload 1 /* configuration */
            ldc "configuration"
            invokestatic com.android.internal.util.Preconditions.checkArrayElementsNotNull:([Ljava/lang/Object;Ljava/lang/String;)[Ljava/lang/Object;
            checkcast android.os.Parcelable[]
            putfield android.hardware.usb.UsbDevice.mConfigurations:[Landroid/os/Parcelable;
         1: .line 258
            return
        end local 1 // android.os.Parcelable[] configuration
        end local 0 // android.hardware.usb.UsbDevice this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Landroid/hardware/usb/UsbDevice;
            0    2     1  configuration  [Landroid/os/Parcelable;
    MethodParameters:
               Name  Flags
      configuration  

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.hardware.usb.UsbDevice this
        start local 1 // java.lang.Object o
         0: .line 262
            aload 1 /* o */
            instanceof android.hardware.usb.UsbDevice
            ifeq 2
         1: .line 263
            aload 1 /* o */
            checkcast android.hardware.usb.UsbDevice
            getfield android.hardware.usb.UsbDevice.mName:Ljava/lang/String;
            aload 0 /* this */
            getfield android.hardware.usb.UsbDevice.mName:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
         2: .line 264
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            instanceof java.lang.String
            ifeq 4
         3: .line 265
            aload 1 /* o */
            checkcast java.lang.String
            aload 0 /* this */
            getfield android.hardware.usb.UsbDevice.mName:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
         4: .line 267
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.Object o
        end local 0 // android.hardware.usb.UsbDevice this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Landroid/hardware/usb/UsbDevice;
            0    5     1     o  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      o     

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.hardware.usb.UsbDevice this
         0: .line 273
            aload 0 /* this */
            getfield android.hardware.usb.UsbDevice.mName:Ljava/lang/String;
            invokevirtual java.lang.String.hashCode:()I
            ireturn
        end local 0 // android.hardware.usb.UsbDevice this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/hardware/usb/UsbDevice;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // android.hardware.usb.UsbDevice this
         0: .line 278
            new java.lang.StringBuilder
            dup
            new java.lang.StringBuilder
            dup
            ldc "UsbDevice[mName="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield android.hardware.usb.UsbDevice.mName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         1: .line 279
            ldc ",mVendorId="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield android.hardware.usb.UsbDevice.mVendorId:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ",mProductId="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield android.hardware.usb.UsbDevice.mProductId:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         2: .line 280
            ldc ",mClass="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield android.hardware.usb.UsbDevice.mClass:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ",mSubclass="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield android.hardware.usb.UsbDevice.mSubclass:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ",mProtocol="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield android.hardware.usb.UsbDevice.mProtocol:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         3: .line 281
            ldc ",mManufacturerName="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield android.hardware.usb.UsbDevice.mManufacturerName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ",mProductName="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield android.hardware.usb.UsbDevice.mProductName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 282
            ldc ",mVersion="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield android.hardware.usb.UsbDevice.mVersion:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ",mSerialNumber="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield android.hardware.usb.UsbDevice.mSerialNumber:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ",mConfigurations=["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         5: .line 278
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 1 /* builder */
        start local 1 // java.lang.StringBuilder builder
         6: .line 283
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         7: goto 11
         8: .line 284
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 1 /* builder */
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 285
            aload 1 /* builder */
            aload 0 /* this */
            getfield android.hardware.usb.UsbDevice.mConfigurations:[Landroid/os/Parcelable;
            iload 2 /* i */
            aaload
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        10: .line 283
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 2 /* i */
            aload 0 /* this */
            getfield android.hardware.usb.UsbDevice.mConfigurations:[Landroid/os/Parcelable;
            arraylength
            if_icmplt 8
        end local 2 // int i
        12: .line 287
            aload 1 /* builder */
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        13: .line 288
            aload 1 /* builder */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder builder
        end local 0 // android.hardware.usb.UsbDevice this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0     this  Landroid/hardware/usb/UsbDevice;
            6   14     1  builder  Ljava/lang/StringBuilder;
            7   12     2        i  I

  public int describeContents();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.hardware.usb.UsbDevice this
         0: .line 317
            iconst_0
            ireturn
        end local 0 // android.hardware.usb.UsbDevice this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/hardware/usb/UsbDevice;

  public void writeToParcel(android.os.Parcel, int);
    descriptor: (Landroid/os/Parcel;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.hardware.usb.UsbDevice this
        start local 1 // android.os.Parcel parcel
        start local 2 // int flags
         0: .line 321
            aload 1 /* parcel */
            aload 0 /* this */
            getfield android.hardware.usb.UsbDevice.mName:Ljava/lang/String;
            invokevirtual android.os.Parcel.writeString:(Ljava/lang/String;)V
         1: .line 322
            aload 1 /* parcel */
            aload 0 /* this */
            getfield android.hardware.usb.UsbDevice.mVendorId:I
            invokevirtual android.os.Parcel.writeInt:(I)V
         2: .line 323
            aload 1 /* parcel */
            aload 0 /* this */
            getfield android.hardware.usb.UsbDevice.mProductId:I
            invokevirtual android.os.Parcel.writeInt:(I)V
         3: .line 324
            aload 1 /* parcel */
            aload 0 /* this */
            getfield android.hardware.usb.UsbDevice.mClass:I
            invokevirtual android.os.Parcel.writeInt:(I)V
         4: .line 325
            aload 1 /* parcel */
            aload 0 /* this */
            getfield android.hardware.usb.UsbDevice.mSubclass:I
            invokevirtual android.os.Parcel.writeInt:(I)V
         5: .line 326
            aload 1 /* parcel */
            aload 0 /* this */
            getfield android.hardware.usb.UsbDevice.mProtocol:I
            invokevirtual android.os.Parcel.writeInt:(I)V
         6: .line 327
            aload 1 /* parcel */
            aload 0 /* this */
            getfield android.hardware.usb.UsbDevice.mManufacturerName:Ljava/lang/String;
            invokevirtual android.os.Parcel.writeString:(Ljava/lang/String;)V
         7: .line 328
            aload 1 /* parcel */
            aload 0 /* this */
            getfield android.hardware.usb.UsbDevice.mProductName:Ljava/lang/String;
            invokevirtual android.os.Parcel.writeString:(Ljava/lang/String;)V
         8: .line 329
            aload 1 /* parcel */
            aload 0 /* this */
            getfield android.hardware.usb.UsbDevice.mVersion:Ljava/lang/String;
            invokevirtual android.os.Parcel.writeString:(Ljava/lang/String;)V
         9: .line 330
            aload 1 /* parcel */
            aload 0 /* this */
            getfield android.hardware.usb.UsbDevice.mSerialNumber:Ljava/lang/String;
            invokevirtual android.os.Parcel.writeString:(Ljava/lang/String;)V
        10: .line 331
            aload 1 /* parcel */
            aload 0 /* this */
            getfield android.hardware.usb.UsbDevice.mConfigurations:[Landroid/os/Parcelable;
            iconst_0
            invokevirtual android.os.Parcel.writeParcelableArray:([Landroid/os/Parcelable;I)V
        11: .line 332
            return
        end local 2 // int flags
        end local 1 // android.os.Parcel parcel
        end local 0 // android.hardware.usb.UsbDevice this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Landroid/hardware/usb/UsbDevice;
            0   12     1  parcel  Landroid/os/Parcel;
            0   12     2   flags  I
    MethodParameters:
        Name  Flags
      parcel  
      flags   

  public static int getDeviceId(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String name
         0: .line 335
            aload 0 /* name */
            invokestatic android.hardware.usb.UsbDevice.native_get_device_id:(Ljava/lang/String;)I
            ireturn
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public static java.lang.String getDeviceName(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // int id
         0: .line 339
            iload 0 /* id */
            invokestatic android.hardware.usb.UsbDevice.native_get_device_name:(I)Ljava/lang/String;
            areturn
        end local 0 // int id
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    id  I
    MethodParameters:
      Name  Flags
      id    

  private static native int native_get_device_id(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
      Name  Flags
      name  

  private static native java.lang.String native_get_device_name(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
      Name  Flags
      id    
}
SourceFile: "UsbDevice.java"
NestMembers:
  android.hardware.usb.UsbDevice$1
InnerClasses:
  android.hardware.usb.UsbDevice$1
  public abstract Creator = android.os.Parcelable$Creator of android.os.Parcelable