public class android.media.AudioPort
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.media.AudioPort
  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: "AudioPort"

  public static final int ROLE_NONE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final int ROLE_SOURCE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int ROLE_SINK;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final int TYPE_NONE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final int TYPE_DEVICE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int TYPE_SUBMIX;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final int TYPE_SESSION;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  android.media.AudioHandle mHandle;
    descriptor: Landroid/media/AudioHandle;
    flags: (0x0000) 

  protected final int mRole;
    descriptor: I
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

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

  private final int[] mSamplingRates;
    descriptor: [I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int[] mChannelMasks;
    descriptor: [I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int[] mChannelIndexMasks;
    descriptor: [I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int[] mFormats;
    descriptor: [I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final android.media.AudioGain[] mGains;
    descriptor: [Landroid/media/AudioGain;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private android.media.AudioPortConfig mActiveConfig;
    descriptor: Landroid/media/AudioPortConfig;
    flags: (0x0002) ACC_PRIVATE

  void <init>(android.media.AudioHandle, int, java.lang.String, int[], int[], int[], int[], android.media.AudioGain[]);
    descriptor: (Landroid/media/AudioHandle;ILjava/lang/String;[I[I[I[I[Landroid/media/AudioGain;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=9, args_size=9
        start local 0 // android.media.AudioPort this
        start local 1 // android.media.AudioHandle handle
        start local 2 // int role
        start local 3 // java.lang.String name
        start local 4 // int[] samplingRates
        start local 5 // int[] channelMasks
        start local 6 // int[] channelIndexMasks
        start local 7 // int[] formats
        start local 8 // android.media.AudioGain[] gains
         0: .line 79
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 83
            aload 0 /* this */
            aload 1 /* handle */
            putfield android.media.AudioPort.mHandle:Landroid/media/AudioHandle;
         2: .line 84
            aload 0 /* this */
            iload 2 /* role */
            putfield android.media.AudioPort.mRole:I
         3: .line 85
            aload 0 /* this */
            aload 3 /* name */
            putfield android.media.AudioPort.mName:Ljava/lang/String;
         4: .line 86
            aload 0 /* this */
            aload 4 /* samplingRates */
            putfield android.media.AudioPort.mSamplingRates:[I
         5: .line 87
            aload 0 /* this */
            aload 5 /* channelMasks */
            putfield android.media.AudioPort.mChannelMasks:[I
         6: .line 88
            aload 0 /* this */
            aload 6 /* channelIndexMasks */
            putfield android.media.AudioPort.mChannelIndexMasks:[I
         7: .line 89
            aload 0 /* this */
            aload 7 /* formats */
            putfield android.media.AudioPort.mFormats:[I
         8: .line 90
            aload 0 /* this */
            aload 8 /* gains */
            putfield android.media.AudioPort.mGains:[Landroid/media/AudioGain;
         9: .line 91
            return
        end local 8 // android.media.AudioGain[] gains
        end local 7 // int[] formats
        end local 6 // int[] channelIndexMasks
        end local 5 // int[] channelMasks
        end local 4 // int[] samplingRates
        end local 3 // java.lang.String name
        end local 2 // int role
        end local 1 // android.media.AudioHandle handle
        end local 0 // android.media.AudioPort this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   10     0               this  Landroid/media/AudioPort;
            0   10     1             handle  Landroid/media/AudioHandle;
            0   10     2               role  I
            0   10     3               name  Ljava/lang/String;
            0   10     4      samplingRates  [I
            0   10     5       channelMasks  [I
            0   10     6  channelIndexMasks  [I
            0   10     7            formats  [I
            0   10     8              gains  [Landroid/media/AudioGain;
    MethodParameters:
                   Name  Flags
      handle             
      role               
      name               
      samplingRates      
      channelMasks       
      channelIndexMasks  
      formats            
      gains              

  android.media.AudioHandle handle();
    descriptor: ()Landroid/media/AudioHandle;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.media.AudioPort this
         0: .line 94
            aload 0 /* this */
            getfield android.media.AudioPort.mHandle:Landroid/media/AudioHandle;
            areturn
        end local 0 // android.media.AudioPort this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/media/AudioPort;

  public int id();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.media.AudioPort this
         0: .line 101
            aload 0 /* this */
            getfield android.media.AudioPort.mHandle:Landroid/media/AudioHandle;
            invokevirtual android.media.AudioHandle.id:()I
            ireturn
        end local 0 // android.media.AudioPort this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/media/AudioPort;

  public int role();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.media.AudioPort this
         0: .line 109
            aload 0 /* this */
            getfield android.media.AudioPort.mRole:I
            ireturn
        end local 0 // android.media.AudioPort this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/media/AudioPort;

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

  public int[] samplingRates();
    descriptor: ()[I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.media.AudioPort this
         0: .line 125
            aload 0 /* this */
            getfield android.media.AudioPort.mSamplingRates:[I
            areturn
        end local 0 // android.media.AudioPort this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/media/AudioPort;

  public int[] channelMasks();
    descriptor: ()[I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.media.AudioPort this
         0: .line 134
            aload 0 /* this */
            getfield android.media.AudioPort.mChannelMasks:[I
            areturn
        end local 0 // android.media.AudioPort this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/media/AudioPort;

  public int[] channelIndexMasks();
    descriptor: ()[I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.media.AudioPort this
         0: .line 143
            aload 0 /* this */
            getfield android.media.AudioPort.mChannelIndexMasks:[I
            areturn
        end local 0 // android.media.AudioPort this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/media/AudioPort;

  public int[] formats();
    descriptor: ()[I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.media.AudioPort this
         0: .line 152
            aload 0 /* this */
            getfield android.media.AudioPort.mFormats:[I
            areturn
        end local 0 // android.media.AudioPort this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/media/AudioPort;

  public android.media.AudioGain[] gains();
    descriptor: ()[Landroid/media/AudioGain;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.media.AudioPort this
         0: .line 160
            aload 0 /* this */
            getfield android.media.AudioPort.mGains:[Landroid/media/AudioGain;
            areturn
        end local 0 // android.media.AudioPort this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/media/AudioPort;

  android.media.AudioGain gain(int);
    descriptor: (I)Landroid/media/AudioGain;
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.media.AudioPort this
        start local 1 // int index
         0: .line 167
            iload 1 /* index */
            iflt 1
            iload 1 /* index */
            aload 0 /* this */
            getfield android.media.AudioPort.mGains:[Landroid/media/AudioGain;
            arraylength
            if_icmplt 2
         1: .line 168
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 170
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.media.AudioPort.mGains:[Landroid/media/AudioGain;
            iload 1 /* index */
            aaload
            areturn
        end local 1 // int index
        end local 0 // android.media.AudioPort this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Landroid/media/AudioPort;
            0    3     1  index  I
    MethodParameters:
       Name  Flags
      index  

  public android.media.AudioPortConfig buildConfig(int, int, int, android.media.AudioGainConfig);
    descriptor: (IIILandroid/media/AudioGainConfig;)Landroid/media/AudioPortConfig;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // android.media.AudioPort this
        start local 1 // int samplingRate
        start local 2 // int channelMask
        start local 3 // int format
        start local 4 // android.media.AudioGainConfig gain
         0: .line 185
            new android.media.AudioPortConfig
            dup
            aload 0 /* this */
            iload 1 /* samplingRate */
            iload 2 /* channelMask */
            iload 3 /* format */
            aload 4 /* gain */
            invokespecial android.media.AudioPortConfig.<init>:(Landroid/media/AudioPort;IIILandroid/media/AudioGainConfig;)V
            areturn
        end local 4 // android.media.AudioGainConfig gain
        end local 3 // int format
        end local 2 // int channelMask
        end local 1 // int samplingRate
        end local 0 // android.media.AudioPort this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Landroid/media/AudioPort;
            0    1     1  samplingRate  I
            0    1     2   channelMask  I
            0    1     3        format  I
            0    1     4          gain  Landroid/media/AudioGainConfig;
    MethodParameters:
              Name  Flags
      samplingRate  
      channelMask   
      format        
      gain          

  public android.media.AudioPortConfig activeConfig();
    descriptor: ()Landroid/media/AudioPortConfig;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.media.AudioPort this
         0: .line 192
            aload 0 /* this */
            getfield android.media.AudioPort.mActiveConfig:Landroid/media/AudioPortConfig;
            areturn
        end local 0 // android.media.AudioPort this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/media/AudioPort;

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.media.AudioPort this
        start local 1 // java.lang.Object o
         0: .line 197
            aload 1 /* o */
            ifnull 1
            aload 1 /* o */
            instanceof android.media.AudioPort
            ifne 2
         1: .line 198
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         2: .line 200
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            checkcast android.media.AudioPort
            astore 2 /* ap */
        start local 2 // android.media.AudioPort ap
         3: .line 201
            aload 0 /* this */
            getfield android.media.AudioPort.mHandle:Landroid/media/AudioHandle;
            aload 2 /* ap */
            invokevirtual android.media.AudioPort.handle:()Landroid/media/AudioHandle;
            invokevirtual android.media.AudioHandle.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 2 // android.media.AudioPort ap
        end local 1 // java.lang.Object o
        end local 0 // android.media.AudioPort this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/media/AudioPort;
            0    4     1     o  Ljava/lang/Object;
            3    4     2    ap  Landroid/media/AudioPort;
    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.media.AudioPort this
         0: .line 206
            aload 0 /* this */
            getfield android.media.AudioPort.mHandle:Landroid/media/AudioHandle;
            invokevirtual android.media.AudioHandle.hashCode:()I
            ireturn
        end local 0 // android.media.AudioPort this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/media/AudioPort;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // android.media.AudioPort this
         0: .line 211
            aload 0 /* this */
            getfield android.media.AudioPort.mRole:I
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            astore 1 /* role */
        start local 1 // java.lang.String role
         1: .line 212
            aload 0 /* this */
            getfield android.media.AudioPort.mRole:I
            tableswitch { // 0 - 2
                    0: 2
                    1: 4
                    2: 6
              default: 7
          }
         2: .line 214
      StackMap locals: java.lang.String
      StackMap stack:
            ldc "NONE"
            astore 1 /* role */
         3: .line 215
            goto 7
         4: .line 217
      StackMap locals:
      StackMap stack:
            ldc "SOURCE"
            astore 1 /* role */
         5: .line 218
            goto 7
         6: .line 220
      StackMap locals:
      StackMap stack:
            ldc "SINK"
            astore 1 /* role */
         7: .line 223
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "{mHandle: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield android.media.AudioPort.mHandle:Landroid/media/AudioHandle;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         8: .line 224
            ldc ", mRole: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* role */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 225
            ldc "}"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 223
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.String role
        end local 0 // android.media.AudioPort this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Landroid/media/AudioPort;
            1   11     1  role  Ljava/lang/String;
}
SourceFile: "AudioPort.java"