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

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

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

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

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

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

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

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

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

  private static final int RECORDING_SEQUENCE_REPEAT_MASK;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 127

  private static final int EXTERNAL_SOURCE_SPECIFIER_EXTERNAL_PLUG;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  private static final int EXTERNAL_SOURCE_SPECIFIER_EXTERNAL_PHYSICAL_ADDRESS;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.hardware.hdmi.HdmiTimerRecordSources this
         0: .line 67
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // android.hardware.hdmi.HdmiTimerRecordSources this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/hardware/hdmi/HdmiTimerRecordSources;

  public static android.hardware.hdmi.HdmiTimerRecordSources$TimerRecordSource ofDigitalSource(android.hardware.hdmi.HdmiTimerRecordSources$TimerInfo, android.hardware.hdmi.HdmiRecordSources$DigitalServiceSource);
    descriptor: (Landroid/hardware/hdmi/HdmiTimerRecordSources$TimerInfo;Landroid/hardware/hdmi/HdmiRecordSources$DigitalServiceSource;)Landroid/hardware/hdmi/HdmiTimerRecordSources$TimerRecordSource;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // android.hardware.hdmi.HdmiTimerRecordSources$TimerInfo timerInfo
        start local 1 // android.hardware.hdmi.HdmiRecordSources$DigitalServiceSource source
         0: .line 80
            aload 0 /* timerInfo */
            aload 1 /* source */
            invokestatic android.hardware.hdmi.HdmiTimerRecordSources.checkTimerRecordSourceInputs:(Landroid/hardware/hdmi/HdmiTimerRecordSources$TimerInfo;Landroid/hardware/hdmi/HdmiRecordSources$RecordSource;)V
         1: .line 81
            new android.hardware.hdmi.HdmiTimerRecordSources$TimerRecordSource
            dup
            aload 0 /* timerInfo */
            aload 1 /* source */
            invokespecial android.hardware.hdmi.HdmiTimerRecordSources$TimerRecordSource.<init>:(Landroid/hardware/hdmi/HdmiTimerRecordSources$TimerInfo;Landroid/hardware/hdmi/HdmiRecordSources$RecordSource;)V
            areturn
        end local 1 // android.hardware.hdmi.HdmiRecordSources$DigitalServiceSource source
        end local 0 // android.hardware.hdmi.HdmiTimerRecordSources$TimerInfo timerInfo
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0  timerInfo  Landroid/hardware/hdmi/HdmiTimerRecordSources$TimerInfo;
            0    2     1     source  Landroid/hardware/hdmi/HdmiRecordSources$DigitalServiceSource;
    MethodParameters:
           Name  Flags
      timerInfo  
      source     

  public static android.hardware.hdmi.HdmiTimerRecordSources$TimerRecordSource ofAnalogueSource(android.hardware.hdmi.HdmiTimerRecordSources$TimerInfo, android.hardware.hdmi.HdmiRecordSources$AnalogueServiceSource);
    descriptor: (Landroid/hardware/hdmi/HdmiTimerRecordSources$TimerInfo;Landroid/hardware/hdmi/HdmiRecordSources$AnalogueServiceSource;)Landroid/hardware/hdmi/HdmiTimerRecordSources$TimerRecordSource;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // android.hardware.hdmi.HdmiTimerRecordSources$TimerInfo timerInfo
        start local 1 // android.hardware.hdmi.HdmiRecordSources$AnalogueServiceSource source
         0: .line 95
            aload 0 /* timerInfo */
            aload 1 /* source */
            invokestatic android.hardware.hdmi.HdmiTimerRecordSources.checkTimerRecordSourceInputs:(Landroid/hardware/hdmi/HdmiTimerRecordSources$TimerInfo;Landroid/hardware/hdmi/HdmiRecordSources$RecordSource;)V
         1: .line 96
            new android.hardware.hdmi.HdmiTimerRecordSources$TimerRecordSource
            dup
            aload 0 /* timerInfo */
            aload 1 /* source */
            invokespecial android.hardware.hdmi.HdmiTimerRecordSources$TimerRecordSource.<init>:(Landroid/hardware/hdmi/HdmiTimerRecordSources$TimerInfo;Landroid/hardware/hdmi/HdmiRecordSources$RecordSource;)V
            areturn
        end local 1 // android.hardware.hdmi.HdmiRecordSources$AnalogueServiceSource source
        end local 0 // android.hardware.hdmi.HdmiTimerRecordSources$TimerInfo timerInfo
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0  timerInfo  Landroid/hardware/hdmi/HdmiTimerRecordSources$TimerInfo;
            0    2     1     source  Landroid/hardware/hdmi/HdmiRecordSources$AnalogueServiceSource;
    MethodParameters:
           Name  Flags
      timerInfo  
      source     

  public static android.hardware.hdmi.HdmiTimerRecordSources$TimerRecordSource ofExternalPlug(android.hardware.hdmi.HdmiTimerRecordSources$TimerInfo, android.hardware.hdmi.HdmiRecordSources$ExternalPlugData);
    descriptor: (Landroid/hardware/hdmi/HdmiTimerRecordSources$TimerInfo;Landroid/hardware/hdmi/HdmiRecordSources$ExternalPlugData;)Landroid/hardware/hdmi/HdmiTimerRecordSources$TimerRecordSource;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // android.hardware.hdmi.HdmiTimerRecordSources$TimerInfo timerInfo
        start local 1 // android.hardware.hdmi.HdmiRecordSources$ExternalPlugData source
         0: .line 109
            aload 0 /* timerInfo */
            aload 1 /* source */
            invokestatic android.hardware.hdmi.HdmiTimerRecordSources.checkTimerRecordSourceInputs:(Landroid/hardware/hdmi/HdmiTimerRecordSources$TimerInfo;Landroid/hardware/hdmi/HdmiRecordSources$RecordSource;)V
         1: .line 110
            new android.hardware.hdmi.HdmiTimerRecordSources$TimerRecordSource
            dup
            aload 0 /* timerInfo */
         2: .line 111
            new android.hardware.hdmi.HdmiTimerRecordSources$ExternalSourceDecorator
            dup
            aload 1 /* source */
            iconst_4
            invokespecial android.hardware.hdmi.HdmiTimerRecordSources$ExternalSourceDecorator.<init>:(Landroid/hardware/hdmi/HdmiRecordSources$RecordSource;I)V
         3: .line 110
            invokespecial android.hardware.hdmi.HdmiTimerRecordSources$TimerRecordSource.<init>:(Landroid/hardware/hdmi/HdmiTimerRecordSources$TimerInfo;Landroid/hardware/hdmi/HdmiRecordSources$RecordSource;)V
            areturn
        end local 1 // android.hardware.hdmi.HdmiRecordSources$ExternalPlugData source
        end local 0 // android.hardware.hdmi.HdmiTimerRecordSources$TimerInfo timerInfo
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0  timerInfo  Landroid/hardware/hdmi/HdmiTimerRecordSources$TimerInfo;
            0    4     1     source  Landroid/hardware/hdmi/HdmiRecordSources$ExternalPlugData;
    MethodParameters:
           Name  Flags
      timerInfo  
      source     

  public static android.hardware.hdmi.HdmiTimerRecordSources$TimerRecordSource ofExternalPhysicalAddress(android.hardware.hdmi.HdmiTimerRecordSources$TimerInfo, android.hardware.hdmi.HdmiRecordSources$ExternalPhysicalAddress);
    descriptor: (Landroid/hardware/hdmi/HdmiTimerRecordSources$TimerInfo;Landroid/hardware/hdmi/HdmiRecordSources$ExternalPhysicalAddress;)Landroid/hardware/hdmi/HdmiTimerRecordSources$TimerRecordSource;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // android.hardware.hdmi.HdmiTimerRecordSources$TimerInfo timerInfo
        start local 1 // android.hardware.hdmi.HdmiRecordSources$ExternalPhysicalAddress source
         0: .line 125
            aload 0 /* timerInfo */
            aload 1 /* source */
            invokestatic android.hardware.hdmi.HdmiTimerRecordSources.checkTimerRecordSourceInputs:(Landroid/hardware/hdmi/HdmiTimerRecordSources$TimerInfo;Landroid/hardware/hdmi/HdmiRecordSources$RecordSource;)V
         1: .line 126
            new android.hardware.hdmi.HdmiTimerRecordSources$TimerRecordSource
            dup
            aload 0 /* timerInfo */
         2: .line 127
            new android.hardware.hdmi.HdmiTimerRecordSources$ExternalSourceDecorator
            dup
            aload 1 /* source */
         3: .line 128
            iconst_5
         4: .line 127
            invokespecial android.hardware.hdmi.HdmiTimerRecordSources$ExternalSourceDecorator.<init>:(Landroid/hardware/hdmi/HdmiRecordSources$RecordSource;I)V
         5: .line 126
            invokespecial android.hardware.hdmi.HdmiTimerRecordSources$TimerRecordSource.<init>:(Landroid/hardware/hdmi/HdmiTimerRecordSources$TimerInfo;Landroid/hardware/hdmi/HdmiRecordSources$RecordSource;)V
            areturn
        end local 1 // android.hardware.hdmi.HdmiRecordSources$ExternalPhysicalAddress source
        end local 0 // android.hardware.hdmi.HdmiTimerRecordSources$TimerInfo timerInfo
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0  timerInfo  Landroid/hardware/hdmi/HdmiTimerRecordSources$TimerInfo;
            0    6     1     source  Landroid/hardware/hdmi/HdmiRecordSources$ExternalPhysicalAddress;
    MethodParameters:
           Name  Flags
      timerInfo  
      source     

  private static void checkTimerRecordSourceInputs(android.hardware.hdmi.HdmiTimerRecordSources$TimerInfo, android.hardware.hdmi.HdmiRecordSources$RecordSource);
    descriptor: (Landroid/hardware/hdmi/HdmiTimerRecordSources$TimerInfo;Landroid/hardware/hdmi/HdmiRecordSources$RecordSource;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.hardware.hdmi.HdmiTimerRecordSources$TimerInfo timerInfo
        start local 1 // android.hardware.hdmi.HdmiRecordSources$RecordSource source
         0: .line 132
            aload 0 /* timerInfo */
            ifnonnull 3
         1: .line 133
            ldc "HdmiTimerRecordingSources"
            ldc "TimerInfo should not be null."
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         2: .line 134
            new java.lang.IllegalArgumentException
            dup
            ldc "TimerInfo should not be null."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 136
      StackMap locals:
      StackMap stack:
            aload 1 /* source */
            ifnonnull 6
         4: .line 137
            ldc "HdmiTimerRecordingSources"
            ldc "source should not be null."
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         5: .line 138
            new java.lang.IllegalArgumentException
            dup
            ldc "source should not be null."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 140
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.hardware.hdmi.HdmiRecordSources$RecordSource source
        end local 0 // android.hardware.hdmi.HdmiTimerRecordSources$TimerInfo timerInfo
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0  timerInfo  Landroid/hardware/hdmi/HdmiTimerRecordSources$TimerInfo;
            0    7     1     source  Landroid/hardware/hdmi/HdmiRecordSources$RecordSource;
    MethodParameters:
           Name  Flags
      timerInfo  
      source     

  public static android.hardware.hdmi.HdmiTimerRecordSources$Time timeOf(int, int);
    descriptor: (II)Landroid/hardware/hdmi/HdmiTimerRecordSources$Time;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // int hour
        start local 1 // int minute
         0: .line 151
            iload 0 /* hour */
            iload 1 /* minute */
            invokestatic android.hardware.hdmi.HdmiTimerRecordSources.checkTimeValue:(II)V
         1: .line 152
            new android.hardware.hdmi.HdmiTimerRecordSources$Time
            dup
            iload 0 /* hour */
            iload 1 /* minute */
            invokespecial android.hardware.hdmi.HdmiTimerRecordSources$Time.<init>:(II)V
            areturn
        end local 1 // int minute
        end local 0 // int hour
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    hour  I
            0    2     1  minute  I
    MethodParameters:
        Name  Flags
      hour    
      minute  

  private static void checkTimeValue(int, int);
    descriptor: (II)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // int hour
        start local 1 // int minute
         0: .line 156
            iload 0 /* hour */
            iflt 1
            iload 0 /* hour */
            bipush 23
            if_icmple 2
         1: .line 157
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Hour should be in rage of [0, 23]:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 0 /* hour */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 159
      StackMap locals:
      StackMap stack:
            iload 1 /* minute */
            iflt 3
            iload 1 /* minute */
            bipush 59
            if_icmple 4
         3: .line 160
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Minute should be in rage of [0, 59]:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* minute */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 162
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int minute
        end local 0 // int hour
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    hour  I
            0    5     1  minute  I
    MethodParameters:
        Name  Flags
      hour    
      minute  

  public static android.hardware.hdmi.HdmiTimerRecordSources$Duration durationOf(int, int);
    descriptor: (II)Landroid/hardware/hdmi/HdmiTimerRecordSources$Duration;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // int hour
        start local 1 // int minute
         0: .line 173
            iload 0 /* hour */
            iload 1 /* minute */
            invokestatic android.hardware.hdmi.HdmiTimerRecordSources.checkDurationValue:(II)V
         1: .line 174
            new android.hardware.hdmi.HdmiTimerRecordSources$Duration
            dup
            iload 0 /* hour */
            iload 1 /* minute */
            invokespecial android.hardware.hdmi.HdmiTimerRecordSources$Duration.<init>:(II)V
            areturn
        end local 1 // int minute
        end local 0 // int hour
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    hour  I
            0    2     1  minute  I
    MethodParameters:
        Name  Flags
      hour    
      minute  

  private static void checkDurationValue(int, int);
    descriptor: (II)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // int hour
        start local 1 // int minute
         0: .line 178
            iload 0 /* hour */
            iflt 1
            iload 0 /* hour */
            bipush 99
            if_icmple 2
         1: .line 179
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Hour should be in rage of [0, 99]:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 0 /* hour */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 181
      StackMap locals:
      StackMap stack:
            iload 1 /* minute */
            iflt 3
            iload 1 /* minute */
            bipush 59
            if_icmple 4
         3: .line 182
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "minute should be in rage of [0, 59]:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* minute */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 184
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int minute
        end local 0 // int hour
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    hour  I
            0    5     1  minute  I
    MethodParameters:
        Name  Flags
      hour    
      minute  

  public static android.hardware.hdmi.HdmiTimerRecordSources$TimerInfo timerInfoOf(int, int, android.hardware.hdmi.HdmiTimerRecordSources$Time, android.hardware.hdmi.HdmiTimerRecordSources$Duration, int);
    descriptor: (IILandroid/hardware/hdmi/HdmiTimerRecordSources$Time;Landroid/hardware/hdmi/HdmiTimerRecordSources$Duration;I)Landroid/hardware/hdmi/HdmiTimerRecordSources$TimerInfo;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // int dayOfMonth
        start local 1 // int monthOfYear
        start local 2 // android.hardware.hdmi.HdmiTimerRecordSources$Time startTime
        start local 3 // android.hardware.hdmi.HdmiTimerRecordSources$Duration duration
        start local 4 // int recordingSequence
         0: .line 273
            iload 0 /* dayOfMonth */
            iflt 1
            iload 0 /* dayOfMonth */
            bipush 31
            if_icmple 4
         1: .line 274
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
         2: .line 275
            new java.lang.StringBuilder
            dup
            ldc "Day of month should be in range of [0, 31]:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 0 /* dayOfMonth */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 274
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 277
      StackMap locals:
      StackMap stack:
            iload 1 /* monthOfYear */
            iconst_1
            if_icmplt 5
            iload 1 /* monthOfYear */
            bipush 12
            if_icmple 8
         5: .line 278
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
         6: .line 279
            new java.lang.StringBuilder
            dup
            ldc "Month of year should be in range of [1, 12]:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* monthOfYear */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 278
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 281
      StackMap locals:
      StackMap stack:
            aload 2 /* startTime */
            getfield android.hardware.hdmi.HdmiTimerRecordSources$Time.mHour:I
            aload 2 /* startTime */
            getfield android.hardware.hdmi.HdmiTimerRecordSources$Time.mMinute:I
            invokestatic android.hardware.hdmi.HdmiTimerRecordSources.checkTimeValue:(II)V
         9: .line 282
            aload 3 /* duration */
            getfield android.hardware.hdmi.HdmiTimerRecordSources$Duration.mHour:I
            aload 3 /* duration */
            getfield android.hardware.hdmi.HdmiTimerRecordSources$Duration.mMinute:I
            invokestatic android.hardware.hdmi.HdmiTimerRecordSources.checkDurationValue:(II)V
        10: .line 284
            iload 4 /* recordingSequence */
            ifeq 15
        11: .line 285
            iload 4 /* recordingSequence */
            bipush -128
            iand
            ifeq 15
        12: .line 286
            new java.lang.IllegalArgumentException
            dup
        13: .line 287
            new java.lang.StringBuilder
            dup
            ldc "Invalid reecording sequence value:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 4 /* recordingSequence */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        14: .line 286
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        15: .line 290
      StackMap locals:
      StackMap stack:
            new android.hardware.hdmi.HdmiTimerRecordSources$TimerInfo
            dup
            iload 0 /* dayOfMonth */
            iload 1 /* monthOfYear */
            aload 2 /* startTime */
            aload 3 /* duration */
            iload 4 /* recordingSequence */
            invokespecial android.hardware.hdmi.HdmiTimerRecordSources$TimerInfo.<init>:(IILandroid/hardware/hdmi/HdmiTimerRecordSources$Time;Landroid/hardware/hdmi/HdmiTimerRecordSources$Duration;I)V
            areturn
        end local 4 // int recordingSequence
        end local 3 // android.hardware.hdmi.HdmiTimerRecordSources$Duration duration
        end local 2 // android.hardware.hdmi.HdmiTimerRecordSources$Time startTime
        end local 1 // int monthOfYear
        end local 0 // int dayOfMonth
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   16     0         dayOfMonth  I
            0   16     1        monthOfYear  I
            0   16     2          startTime  Landroid/hardware/hdmi/HdmiTimerRecordSources$Time;
            0   16     3           duration  Landroid/hardware/hdmi/HdmiTimerRecordSources$Duration;
            0   16     4  recordingSequence  I
    MethodParameters:
                   Name  Flags
      dayOfMonth         
      monthOfYear        
      startTime          
      duration           
      recordingSequence  

  public static boolean checkTimerRecordSource(int, byte[]);
    descriptor: (I[B)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // int sourcetype
        start local 1 // byte[] recordSource
         0: .line 440
            aload 1 /* recordSource */
            arraylength
            bipush 7
            isub
            istore 2 /* recordSourceSize */
        start local 2 // int recordSourceSize
         1: .line 441
            iload 0 /* sourcetype */
            tableswitch { // 1 - 3
                    1: 2
                    2: 4
                    3: 6
              default: 14
          }
         2: .line 443
      StackMap locals: int
      StackMap stack:
            bipush 7
            iload 2 /* recordSourceSize */
            if_icmpne 3
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
         4: .line 445
      StackMap locals:
      StackMap stack:
            iconst_4
            iload 2 /* recordSourceSize */
            if_icmpne 5
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         5: iconst_0
            ireturn
         6: .line 447
      StackMap locals:
      StackMap stack:
            aload 1 /* recordSource */
            bipush 7
            baload
            istore 3 /* specifier */
        start local 3 // int specifier
         7: .line 448
            iload 3 /* specifier */
            iconst_4
            if_icmpne 10
         8: .line 450
            iconst_2
            iload 2 /* recordSourceSize */
            if_icmpne 9
            iconst_1
            ireturn
      StackMap locals: int
      StackMap stack:
         9: iconst_0
            ireturn
        10: .line 451
      StackMap locals:
      StackMap stack:
            iload 3 /* specifier */
            iconst_5
            if_icmpne 13
        11: .line 453
            iconst_3
            iload 2 /* recordSourceSize */
            if_icmpne 12
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        12: iconst_0
            ireturn
        13: .line 456
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // int specifier
        14: .line 459
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // int recordSourceSize
        end local 1 // byte[] recordSource
        end local 0 // int sourcetype
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   15     0        sourcetype  I
            0   15     1      recordSource  [B
            1   15     2  recordSourceSize  I
            7   14     3         specifier  I
    RuntimeVisibleAnnotations: 
      android.annotation.SystemApi()
    MethodParameters:
              Name  Flags
      sourcetype    
      recordSource  
}
SourceFile: "HdmiTimerRecordSources.java"
NestMembers:
  android.hardware.hdmi.HdmiTimerRecordSources$Duration  android.hardware.hdmi.HdmiTimerRecordSources$ExternalSourceDecorator  android.hardware.hdmi.HdmiTimerRecordSources$Time  android.hardware.hdmi.HdmiTimerRecordSources$TimeUnit  android.hardware.hdmi.HdmiTimerRecordSources$TimerInfo  android.hardware.hdmi.HdmiTimerRecordSources$TimerRecordSource
InnerClasses:
  public final AnalogueServiceSource = android.hardware.hdmi.HdmiRecordSources$AnalogueServiceSource of android.hardware.hdmi.HdmiRecordSources
  public final DigitalServiceSource = android.hardware.hdmi.HdmiRecordSources$DigitalServiceSource of android.hardware.hdmi.HdmiRecordSources
  public final ExternalPhysicalAddress = android.hardware.hdmi.HdmiRecordSources$ExternalPhysicalAddress of android.hardware.hdmi.HdmiRecordSources
  public final ExternalPlugData = android.hardware.hdmi.HdmiRecordSources$ExternalPlugData of android.hardware.hdmi.HdmiRecordSources
  public abstract RecordSource = android.hardware.hdmi.HdmiRecordSources$RecordSource of android.hardware.hdmi.HdmiRecordSources
  public final Duration = android.hardware.hdmi.HdmiTimerRecordSources$Duration of android.hardware.hdmi.HdmiTimerRecordSources
  private ExternalSourceDecorator = android.hardware.hdmi.HdmiTimerRecordSources$ExternalSourceDecorator of android.hardware.hdmi.HdmiTimerRecordSources
  public final Time = android.hardware.hdmi.HdmiTimerRecordSources$Time of android.hardware.hdmi.HdmiTimerRecordSources
  TimeUnit = android.hardware.hdmi.HdmiTimerRecordSources$TimeUnit of android.hardware.hdmi.HdmiTimerRecordSources
  public final TimerInfo = android.hardware.hdmi.HdmiTimerRecordSources$TimerInfo of android.hardware.hdmi.HdmiTimerRecordSources
  public final TimerRecordSource = android.hardware.hdmi.HdmiTimerRecordSources$TimerRecordSource of android.hardware.hdmi.HdmiTimerRecordSources
    RuntimeVisibleAnnotations: 
      android.annotation.SystemApi()