class android.media.TtmlTrack extends android.media.SubtitleTrack implements android.media.TtmlNodeListener
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: android.media.TtmlTrack
  super_class: android.media.SubtitleTrack
{
  private static final java.lang.String TAG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "TtmlTrack"

  private final android.media.TtmlParser mParser;
    descriptor: Landroid/media/TtmlParser;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final android.media.TtmlRenderingWidget mRenderingWidget;
    descriptor: Landroid/media/TtmlRenderingWidget;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.lang.String mParsingData;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.Long mCurrentRunID;
    descriptor: Ljava/lang/Long;
    flags: (0x0002) ACC_PRIVATE

  private final java.util.LinkedList<android.media.TtmlNode> mTtmlNodes;
    descriptor: Ljava/util/LinkedList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/LinkedList<Landroid/media/TtmlNode;>;

  private final java.util.TreeSet<java.lang.Long> mTimeEvents;
    descriptor: Ljava/util/TreeSet;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/TreeSet<Ljava/lang/Long;>;

  private android.media.TtmlNode mRootNode;
    descriptor: Landroid/media/TtmlNode;
    flags: (0x0002) ACC_PRIVATE

  void <init>(android.media.TtmlRenderingWidget, android.media.MediaFormat);
    descriptor: (Landroid/media/TtmlRenderingWidget;Landroid/media/MediaFormat;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // android.media.TtmlTrack this
        start local 1 // android.media.TtmlRenderingWidget renderingWidget
        start local 2 // android.media.MediaFormat format
         0: .line 540
            aload 0 /* this */
            aload 2 /* format */
            invokespecial android.media.SubtitleTrack.<init>:(Landroid/media/MediaFormat;)V
         1: .line 530
            aload 0 /* this */
            new android.media.TtmlParser
            dup
            aload 0 /* this */
            invokespecial android.media.TtmlParser.<init>:(Landroid/media/TtmlNodeListener;)V
            putfield android.media.TtmlTrack.mParser:Landroid/media/TtmlParser;
         2: .line 542
            aload 0 /* this */
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            putfield android.media.TtmlTrack.mTtmlNodes:Ljava/util/LinkedList;
         3: .line 543
            aload 0 /* this */
            new java.util.TreeSet
            dup
            invokespecial java.util.TreeSet.<init>:()V
            putfield android.media.TtmlTrack.mTimeEvents:Ljava/util/TreeSet;
         4: .line 544
            aload 0 /* this */
            aload 1 /* renderingWidget */
            putfield android.media.TtmlTrack.mRenderingWidget:Landroid/media/TtmlRenderingWidget;
         5: .line 545
            aload 0 /* this */
            ldc ""
            putfield android.media.TtmlTrack.mParsingData:Ljava/lang/String;
         6: .line 546
            return
        end local 2 // android.media.MediaFormat format
        end local 1 // android.media.TtmlRenderingWidget renderingWidget
        end local 0 // android.media.TtmlTrack this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    7     0             this  Landroid/media/TtmlTrack;
            0    7     1  renderingWidget  Landroid/media/TtmlRenderingWidget;
            0    7     2           format  Landroid/media/MediaFormat;
    MethodParameters:
                 Name  Flags
      renderingWidget  
      format           

  public android.media.TtmlRenderingWidget getRenderingWidget();
    descriptor: ()Landroid/media/TtmlRenderingWidget;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.media.TtmlTrack this
         0: .line 550
            aload 0 /* this */
            getfield android.media.TtmlTrack.mRenderingWidget:Landroid/media/TtmlRenderingWidget;
            areturn
        end local 0 // android.media.TtmlTrack this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/media/TtmlTrack;

  public void onData(byte[], boolean, long);
    descriptor: ([BZJ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // android.media.TtmlTrack this
         0: .line 570
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tThe method parse(String, long) from the type TtmlParser refers to the missing type XmlPullParserException\n\tXmlPullParserException cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // android.media.TtmlTrack this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/media/TtmlTrack;
    MethodParameters:
       Name  Flags
      data   
      eos    
      runID  

  public void onTtmlNodeParsed(android.media.TtmlNode);
    descriptor: (Landroid/media/TtmlNode;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.media.TtmlTrack this
        start local 1 // android.media.TtmlNode node
         0: .line 588
            aload 0 /* this */
            getfield android.media.TtmlTrack.mTtmlNodes:Ljava/util/LinkedList;
            aload 1 /* node */
            invokevirtual java.util.LinkedList.addLast:(Ljava/lang/Object;)V
         1: .line 589
            aload 0 /* this */
            aload 1 /* node */
            invokevirtual android.media.TtmlTrack.addTimeEvents:(Landroid/media/TtmlNode;)V
         2: .line 590
            return
        end local 1 // android.media.TtmlNode node
        end local 0 // android.media.TtmlTrack this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/media/TtmlTrack;
            0    3     1  node  Landroid/media/TtmlNode;
    MethodParameters:
      Name  Flags
      node  

  public void onRootNodeParsed(android.media.TtmlNode);
    descriptor: (Landroid/media/TtmlNode;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.media.TtmlTrack this
        start local 1 // android.media.TtmlNode node
         0: .line 594
            aload 0 /* this */
            aload 1 /* node */
            putfield android.media.TtmlTrack.mRootNode:Landroid/media/TtmlNode;
         1: .line 595
            aconst_null
            astore 2 /* cue */
        start local 2 // android.media.TtmlCue cue
         2: .line 596
            goto 4
         3: .line 597
      StackMap locals: android.media.TtmlCue
      StackMap stack:
            aload 0 /* this */
            aload 2 /* cue */
            invokevirtual android.media.TtmlTrack.addCue:(Landroid/media/SubtitleTrack$Cue;)Z
            pop
         4: .line 596
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.media.TtmlTrack.getNextResult:()Landroid/media/TtmlCue;
            dup
            astore 2 /* cue */
            ifnonnull 3
         5: .line 599
            aload 0 /* this */
            aconst_null
            putfield android.media.TtmlTrack.mRootNode:Landroid/media/TtmlNode;
         6: .line 600
            aload 0 /* this */
            getfield android.media.TtmlTrack.mTtmlNodes:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.clear:()V
         7: .line 601
            aload 0 /* this */
            getfield android.media.TtmlTrack.mTimeEvents:Ljava/util/TreeSet;
            invokevirtual java.util.TreeSet.clear:()V
         8: .line 602
            return
        end local 2 // android.media.TtmlCue cue
        end local 1 // android.media.TtmlNode node
        end local 0 // android.media.TtmlTrack this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Landroid/media/TtmlTrack;
            0    9     1  node  Landroid/media/TtmlNode;
            2    9     2   cue  Landroid/media/TtmlCue;
    MethodParameters:
      Name  Flags
      node  

  public void updateView(java.util.Vector<android.media.SubtitleTrack$Cue>);
    descriptor: (Ljava/util/Vector;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // android.media.TtmlTrack this
        start local 1 // java.util.Vector activeCues
         0: .line 606
            aload 0 /* this */
            getfield android.media.TtmlTrack.mVisible:Z
            ifne 2
         1: .line 608
            return
         2: .line 611
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.media.TtmlTrack.DEBUG:Z
            ifeq 10
            aload 0 /* this */
            getfield android.media.TtmlTrack.mTimeProvider:Landroid/media/MediaTimeProvider;
            ifnull 10
         3: .line 613
            ldc "TtmlTrack"
            new java.lang.StringBuilder
            dup
            ldc "at "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         4: .line 614
            aload 0 /* this */
            getfield android.media.TtmlTrack.mTimeProvider:Landroid/media/MediaTimeProvider;
            iconst_0
            iconst_1
            invokeinterface android.media.MediaTimeProvider.getCurrentTimeUs:(ZZ)J
            ldc 1000
            ldiv
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
         5: .line 615
            ldc " ms the active cues are:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         6: .line 613
            invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         7: .line 616
            goto 10
      StackMap locals:
      StackMap stack: java.lang.IllegalStateException
         8: pop
         9: .line 617
            ldc "TtmlTrack"
            ldc "at (illegal state) the active cues are:"
            invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        10: .line 621
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.media.TtmlTrack.mRenderingWidget:Landroid/media/TtmlRenderingWidget;
            aload 1 /* activeCues */
            invokevirtual android.media.TtmlRenderingWidget.setActiveCues:(Ljava/util/Vector;)V
        11: .line 622
            return
        end local 1 // java.util.Vector activeCues
        end local 0 // android.media.TtmlTrack this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0        this  Landroid/media/TtmlTrack;
            0   12     1  activeCues  Ljava/util/Vector<Landroid/media/SubtitleTrack$Cue;>;
      Exception table:
        from    to  target  type
           3     7       8  Class java.lang.IllegalStateException
    Signature: (Ljava/util/Vector<Landroid/media/SubtitleTrack$Cue;>;)V
    MethodParameters:
            Name  Flags
      activeCues  

  public android.media.TtmlCue getNextResult();
    descriptor: ()Landroid/media/TtmlCue;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=12, locals=6, args_size=1
        start local 0 // android.media.TtmlTrack this
         0: .line 629
            goto 12
         1: .line 630
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.media.TtmlTrack.mTimeEvents:Ljava/util/TreeSet;
            invokevirtual java.util.TreeSet.pollFirst:()Ljava/lang/Object;
            checkcast java.lang.Long
            invokevirtual java.lang.Long.longValue:()J
            lstore 1 /* start */
        start local 1 // long start
         2: .line 631
            aload 0 /* this */
            getfield android.media.TtmlTrack.mTimeEvents:Ljava/util/TreeSet;
            invokevirtual java.util.TreeSet.first:()Ljava/lang/Object;
            checkcast java.lang.Long
            invokevirtual java.lang.Long.longValue:()J
            lstore 3 /* end */
        start local 3 // long end
         3: .line 632
            aload 0 /* this */
            lload 1 /* start */
            lload 3 /* end */
            invokevirtual android.media.TtmlTrack.getActiveNodes:(JJ)Ljava/util/List;
            astore 5 /* activeCues */
        start local 5 // java.util.List activeCues
         4: .line 633
            aload 5 /* activeCues */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 12
         5: .line 634
            new android.media.TtmlCue
            dup
            lload 1 /* start */
            lload 3 /* end */
         6: .line 636
            aload 0 /* this */
            getfield android.media.TtmlTrack.mRootNode:Landroid/media/TtmlNode;
            lload 1 /* start */
            lload 3 /* end */
         7: .line 635
            invokestatic android.media.TtmlUtils.extractText:(Landroid/media/TtmlNode;JJ)Ljava/lang/String;
         8: .line 636
            iconst_0
         9: .line 635
            invokestatic android.media.TtmlUtils.applySpacePolicy:(Ljava/lang/String;Z)Ljava/lang/String;
        10: .line 637
            aload 0 /* this */
            getfield android.media.TtmlTrack.mRootNode:Landroid/media/TtmlNode;
            lload 1 /* start */
            lload 3 /* end */
            invokestatic android.media.TtmlUtils.extractTtmlFragment:(Landroid/media/TtmlNode;JJ)Ljava/lang/String;
        11: .line 634
            invokespecial android.media.TtmlCue.<init>:(JJLjava/lang/String;Ljava/lang/String;)V
            areturn
        end local 5 // java.util.List activeCues
        end local 3 // long end
        end local 1 // long start
        12: .line 629
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.media.TtmlTrack.mTimeEvents:Ljava/util/TreeSet;
            invokevirtual java.util.TreeSet.size:()I
            iconst_2
            if_icmpge 1
        13: .line 640
            aconst_null
            areturn
        end local 0 // android.media.TtmlTrack this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   14     0        this  Landroid/media/TtmlTrack;
            2   12     1       start  J
            3   12     3         end  J
            4   12     5  activeCues  Ljava/util/List<Landroid/media/TtmlNode;>;

  private void addTimeEvents(android.media.TtmlNode);
    descriptor: (Landroid/media/TtmlNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // android.media.TtmlTrack this
        start local 1 // android.media.TtmlNode node
         0: .line 644
            aload 0 /* this */
            getfield android.media.TtmlTrack.mTimeEvents:Ljava/util/TreeSet;
            aload 1 /* node */
            getfield android.media.TtmlNode.mStartTimeMs:J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokevirtual java.util.TreeSet.add:(Ljava/lang/Object;)Z
            pop
         1: .line 645
            aload 0 /* this */
            getfield android.media.TtmlTrack.mTimeEvents:Ljava/util/TreeSet;
            aload 1 /* node */
            getfield android.media.TtmlNode.mEndTimeMs:J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokevirtual java.util.TreeSet.add:(Ljava/lang/Object;)Z
            pop
         2: .line 646
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         3: goto 6
         4: .line 647
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* node */
            getfield android.media.TtmlNode.mChildren:Ljava/util/List;
            iload 2 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast android.media.TtmlNode
            invokevirtual android.media.TtmlTrack.addTimeEvents:(Landroid/media/TtmlNode;)V
         5: .line 646
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            aload 1 /* node */
            getfield android.media.TtmlNode.mChildren:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmplt 4
        end local 2 // int i
         7: .line 649
            return
        end local 1 // android.media.TtmlNode node
        end local 0 // android.media.TtmlTrack this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Landroid/media/TtmlTrack;
            0    8     1  node  Landroid/media/TtmlNode;
            3    7     2     i  I
    MethodParameters:
      Name  Flags
      node  

  private java.util.List<android.media.TtmlNode> getActiveNodes(long, long);
    descriptor: (JJ)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // android.media.TtmlTrack this
        start local 1 // long startTimeUs
        start local 3 // long endTimeUs
         0: .line 652
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* activeNodes */
        start local 5 // java.util.List activeNodes
         1: .line 653
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         2: goto 7
         3: .line 654
      StackMap locals: java.util.List int
      StackMap stack:
            aload 0 /* this */
            getfield android.media.TtmlTrack.mTtmlNodes:Ljava/util/LinkedList;
            iload 6 /* i */
            invokevirtual java.util.LinkedList.get:(I)Ljava/lang/Object;
            checkcast android.media.TtmlNode
            astore 7 /* node */
        start local 7 // android.media.TtmlNode node
         4: .line 655
            aload 7 /* node */
            lload 1 /* startTimeUs */
            lload 3 /* endTimeUs */
            invokevirtual android.media.TtmlNode.isActive:(JJ)Z
            ifeq 6
         5: .line 656
            aload 5 /* activeNodes */
            aload 7 /* node */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // android.media.TtmlNode node
         6: .line 653
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 6 /* i */
            aload 0 /* this */
            getfield android.media.TtmlTrack.mTtmlNodes:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.size:()I
            if_icmplt 3
        end local 6 // int i
         8: .line 659
            aload 5 /* activeNodes */
            areturn
        end local 5 // java.util.List activeNodes
        end local 3 // long endTimeUs
        end local 1 // long startTimeUs
        end local 0 // android.media.TtmlTrack this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Landroid/media/TtmlTrack;
            0    9     1  startTimeUs  J
            0    9     3    endTimeUs  J
            1    9     5  activeNodes  Ljava/util/List<Landroid/media/TtmlNode;>;
            2    8     6            i  I
            4    6     7         node  Landroid/media/TtmlNode;
    Signature: (JJ)Ljava/util/List<Landroid/media/TtmlNode;>;
    MethodParameters:
             Name  Flags
      startTimeUs  
      endTimeUs    

  public android.media.SubtitleTrack$RenderingWidget getRenderingWidget();
    descriptor: ()Landroid/media/SubtitleTrack$RenderingWidget;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual android.media.TtmlTrack.getRenderingWidget:()Landroid/media/TtmlRenderingWidget;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "TtmlRenderer.java"
InnerClasses:
  public Cue = android.media.SubtitleTrack$Cue of android.media.SubtitleTrack
  public abstract RenderingWidget = android.media.SubtitleTrack$RenderingWidget of android.media.SubtitleTrack