class android.media.Cea708CCWidget$CCWindowLayout extends android.widget.RelativeLayout implements android.view.View$OnLayoutChangeListener
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: android.media.Cea708CCWidget$CCWindowLayout
  super_class: android.widget.RelativeLayout
{
  private static final java.lang.String TAG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "CCWindowLayout"

  private static final float PROPORTION_PEN_SIZE_SMALL;
    descriptor: F
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0.75

  private static final float PROPORTION_PEN_SIZE_LARGE;
    descriptor: F
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1.25

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

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

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

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

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

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

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

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

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

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

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

  private android.media.Cea708CCWidget$CCLayout mCCLayout;
    descriptor: Landroid/media/Cea708CCWidget$CCLayout;
    flags: (0x0002) ACC_PRIVATE

  private android.media.Cea708CCWidget$CCView mCCView;
    descriptor: Landroid/media/Cea708CCWidget$CCView;
    flags: (0x0002) ACC_PRIVATE

  private android.view.accessibility.CaptioningManager$CaptionStyle mCaptionStyle;
    descriptor: Landroid/view/accessibility/CaptioningManager$CaptionStyle;
    flags: (0x0002) ACC_PRIVATE

  private int mRowLimit;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private final android.text.SpannableStringBuilder mBuilder;
    descriptor: Landroid/text/SpannableStringBuilder;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.List<android.text.style.CharacterStyle> mCharacterStyles;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Landroid/text/style/CharacterStyle;>;

  private int mCaptionWindowId;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int mRow;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private float mFontScale;
    descriptor: F
    flags: (0x0002) ACC_PRIVATE

  private float mTextSize;
    descriptor: F
    flags: (0x0002) ACC_PRIVATE

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

  private int mLastCaptionLayoutWidth;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int mLastCaptionLayoutHeight;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  public void <init>(android.content.Context);
    descriptor: (Landroid/content/Context;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.media.Cea708CCWidget$CCWindowLayout this
        start local 1 // android.content.Context context
         0: .line 1694
            aload 0 /* this */
            aload 1 /* context */
            aconst_null
            invokespecial android.media.Cea708CCWidget$CCWindowLayout.<init>:(Landroid/content/Context;Landroid/util/AttributeSet;)V
         1: .line 1695
            return
        end local 1 // android.content.Context context
        end local 0 // android.media.Cea708CCWidget$CCWindowLayout this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Landroid/media/Cea708CCWidget$CCWindowLayout;
            0    2     1  context  Landroid/content/Context;
    MethodParameters:
         Name  Flags
      context  

  public void <init>(android.content.Context, android.util.AttributeSet);
    descriptor: (Landroid/content/Context;Landroid/util/AttributeSet;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // android.media.Cea708CCWidget$CCWindowLayout this
        start local 1 // android.content.Context context
        start local 2 // android.util.AttributeSet attrs
         0: .line 1698
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* attrs */
            iconst_0
            invokespecial android.media.Cea708CCWidget$CCWindowLayout.<init>:(Landroid/content/Context;Landroid/util/AttributeSet;I)V
         1: .line 1699
            return
        end local 2 // android.util.AttributeSet attrs
        end local 1 // android.content.Context context
        end local 0 // android.media.Cea708CCWidget$CCWindowLayout this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Landroid/media/Cea708CCWidget$CCWindowLayout;
            0    2     1  context  Landroid/content/Context;
            0    2     2    attrs  Landroid/util/AttributeSet;
    MethodParameters:
         Name  Flags
      context  
      attrs    

  public void <init>(android.content.Context, android.util.AttributeSet, int);
    descriptor: (Landroid/content/Context;Landroid/util/AttributeSet;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // android.media.Cea708CCWidget$CCWindowLayout this
        start local 1 // android.content.Context context
        start local 2 // android.util.AttributeSet attrs
        start local 3 // int defStyleAttr
         0: .line 1702
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* attrs */
            iload 3 /* defStyleAttr */
            iconst_0
            invokespecial android.media.Cea708CCWidget$CCWindowLayout.<init>:(Landroid/content/Context;Landroid/util/AttributeSet;II)V
         1: .line 1703
            return
        end local 3 // int defStyleAttr
        end local 2 // android.util.AttributeSet attrs
        end local 1 // android.content.Context context
        end local 0 // android.media.Cea708CCWidget$CCWindowLayout this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Landroid/media/Cea708CCWidget$CCWindowLayout;
            0    2     1       context  Landroid/content/Context;
            0    2     2         attrs  Landroid/util/AttributeSet;
            0    2     3  defStyleAttr  I
    MethodParameters:
              Name  Flags
      context       
      attrs         
      defStyleAttr  

  public void <init>(android.content.Context, android.util.AttributeSet, int, int);
    descriptor: (Landroid/content/Context;Landroid/util/AttributeSet;II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // android.media.Cea708CCWidget$CCWindowLayout this
        start local 1 // android.content.Context context
        start local 2 // android.util.AttributeSet attrs
        start local 3 // int defStyleAttr
        start local 4 // int defStyleRes
         0: .line 1707
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* attrs */
            iload 3 /* defStyleAttr */
            iload 4 /* defStyleRes */
            invokespecial android.widget.RelativeLayout.<init>:(Landroid/content/Context;Landroid/util/AttributeSet;II)V
         1: .line 1682
            aload 0 /* this */
            iconst_0
            putfield android.media.Cea708CCWidget$CCWindowLayout.mRowLimit:I
         2: .line 1683
            aload 0 /* this */
            new android.text.SpannableStringBuilder
            dup
            invokespecial android.text.SpannableStringBuilder.<init>:()V
            putfield android.media.Cea708CCWidget$CCWindowLayout.mBuilder:Landroid/text/SpannableStringBuilder;
         3: .line 1684
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield android.media.Cea708CCWidget$CCWindowLayout.mCharacterStyles:Ljava/util/List;
         4: .line 1686
            aload 0 /* this */
            iconst_m1
            putfield android.media.Cea708CCWidget$CCWindowLayout.mRow:I
         5: .line 1710
            aload 0 /* this */
            new android.media.Cea708CCWidget$CCView
            dup
            aload 1 /* context */
            invokespecial android.media.Cea708CCWidget$CCView.<init>:(Landroid/content/Context;)V
            putfield android.media.Cea708CCWidget$CCWindowLayout.mCCView:Landroid/media/Cea708CCWidget$CCView;
         6: .line 1711
            new android.widget.RelativeLayout$LayoutParams
            dup
         7: .line 1712
            bipush -2
            bipush -2
         8: .line 1711
            invokespecial android.widget.RelativeLayout$LayoutParams.<init>:(II)V
            astore 5 /* params */
        start local 5 // android.widget.RelativeLayout$LayoutParams params
         9: .line 1713
            aload 0 /* this */
            aload 0 /* this */
            getfield android.media.Cea708CCWidget$CCWindowLayout.mCCView:Landroid/media/Cea708CCWidget$CCView;
            aload 5 /* params */
            invokevirtual android.media.Cea708CCWidget$CCWindowLayout.addView:(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
        10: .line 1717
            aload 1 /* context */
            ldc "captioning"
            invokevirtual android.content.Context.getSystemService:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast android.view.accessibility.CaptioningManager
        11: .line 1716
            astore 6 /* captioningManager */
        start local 6 // android.view.accessibility.CaptioningManager captioningManager
        12: .line 1718
            aload 0 /* this */
            aload 6 /* captioningManager */
            invokevirtual android.view.accessibility.CaptioningManager.getFontScale:()F
            putfield android.media.Cea708CCWidget$CCWindowLayout.mFontScale:F
        13: .line 1719
            aload 0 /* this */
            aload 6 /* captioningManager */
            invokevirtual android.view.accessibility.CaptioningManager.getUserStyle:()Landroid/view/accessibility/CaptioningManager$CaptionStyle;
            invokevirtual android.media.Cea708CCWidget$CCWindowLayout.setCaptionStyle:(Landroid/view/accessibility/CaptioningManager$CaptionStyle;)V
        14: .line 1720
            aload 0 /* this */
            getfield android.media.Cea708CCWidget$CCWindowLayout.mCCView:Landroid/media/Cea708CCWidget$CCView;
            ldc ""
            invokevirtual android.media.Cea708CCWidget$CCView.setText:(Ljava/lang/CharSequence;)V
        15: .line 1721
            aload 0 /* this */
            invokevirtual android.media.Cea708CCWidget$CCWindowLayout.updateWidestChar:()V
        16: .line 1722
            return
        end local 6 // android.view.accessibility.CaptioningManager captioningManager
        end local 5 // android.widget.RelativeLayout$LayoutParams params
        end local 4 // int defStyleRes
        end local 3 // int defStyleAttr
        end local 2 // android.util.AttributeSet attrs
        end local 1 // android.content.Context context
        end local 0 // android.media.Cea708CCWidget$CCWindowLayout this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   17     0               this  Landroid/media/Cea708CCWidget$CCWindowLayout;
            0   17     1            context  Landroid/content/Context;
            0   17     2              attrs  Landroid/util/AttributeSet;
            0   17     3       defStyleAttr  I
            0   17     4        defStyleRes  I
            9   17     5             params  Landroid/widget/RelativeLayout$LayoutParams;
           12   17     6  captioningManager  Landroid/view/accessibility/CaptioningManager;
    MethodParameters:
              Name  Flags
      context       
      attrs         
      defStyleAttr  
      defStyleRes   

  public void setCaptionStyle(android.view.accessibility.CaptioningManager$CaptionStyle);
    descriptor: (Landroid/view/accessibility/CaptioningManager$CaptionStyle;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.media.Cea708CCWidget$CCWindowLayout this
        start local 1 // android.view.accessibility.CaptioningManager$CaptionStyle style
         0: .line 1725
            aload 0 /* this */
            aload 1 /* style */
            putfield android.media.Cea708CCWidget$CCWindowLayout.mCaptionStyle:Landroid/view/accessibility/CaptioningManager$CaptionStyle;
         1: .line 1726
            aload 0 /* this */
            getfield android.media.Cea708CCWidget$CCWindowLayout.mCCView:Landroid/media/Cea708CCWidget$CCView;
            aload 1 /* style */
            invokevirtual android.media.Cea708CCWidget$CCView.setCaptionStyle:(Landroid/view/accessibility/CaptioningManager$CaptionStyle;)V
         2: .line 1727
            return
        end local 1 // android.view.accessibility.CaptioningManager$CaptionStyle style
        end local 0 // android.media.Cea708CCWidget$CCWindowLayout this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Landroid/media/Cea708CCWidget$CCWindowLayout;
            0    3     1  style  Landroid/view/accessibility/CaptioningManager$CaptionStyle;
    MethodParameters:
       Name  Flags
      style  

  public void setFontScale(float);
    descriptor: (F)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.media.Cea708CCWidget$CCWindowLayout this
        start local 1 // float fontScale
         0: .line 1730
            aload 0 /* this */
            fload 1 /* fontScale */
            putfield android.media.Cea708CCWidget$CCWindowLayout.mFontScale:F
         1: .line 1731
            aload 0 /* this */
            invokevirtual android.media.Cea708CCWidget$CCWindowLayout.updateTextSize:()V
         2: .line 1732
            return
        end local 1 // float fontScale
        end local 0 // android.media.Cea708CCWidget$CCWindowLayout this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Landroid/media/Cea708CCWidget$CCWindowLayout;
            0    3     1  fontScale  F
    MethodParameters:
           Name  Flags
      fontScale  

  public int getCaptionWindowId();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.media.Cea708CCWidget$CCWindowLayout this
         0: .line 1735
            aload 0 /* this */
            getfield android.media.Cea708CCWidget$CCWindowLayout.mCaptionWindowId:I
            ireturn
        end local 0 // android.media.Cea708CCWidget$CCWindowLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/media/Cea708CCWidget$CCWindowLayout;

  public void setCaptionWindowId(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.media.Cea708CCWidget$CCWindowLayout this
        start local 1 // int captionWindowId
         0: .line 1739
            aload 0 /* this */
            iload 1 /* captionWindowId */
            putfield android.media.Cea708CCWidget$CCWindowLayout.mCaptionWindowId:I
         1: .line 1740
            return
        end local 1 // int captionWindowId
        end local 0 // android.media.Cea708CCWidget$CCWindowLayout this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Landroid/media/Cea708CCWidget$CCWindowLayout;
            0    2     1  captionWindowId  I
    MethodParameters:
                 Name  Flags
      captionWindowId  

  public void clear();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.media.Cea708CCWidget$CCWindowLayout this
         0: .line 1743
            aload 0 /* this */
            invokevirtual android.media.Cea708CCWidget$CCWindowLayout.clearText:()V
         1: .line 1744
            aload 0 /* this */
            invokevirtual android.media.Cea708CCWidget$CCWindowLayout.hide:()V
         2: .line 1745
            return
        end local 0 // android.media.Cea708CCWidget$CCWindowLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/media/Cea708CCWidget$CCWindowLayout;

  public void show();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.media.Cea708CCWidget$CCWindowLayout this
         0: .line 1748
            aload 0 /* this */
            iconst_0
            invokevirtual android.media.Cea708CCWidget$CCWindowLayout.setVisibility:(I)V
         1: .line 1749
            aload 0 /* this */
            invokevirtual android.media.Cea708CCWidget$CCWindowLayout.requestLayout:()V
         2: .line 1750
            return
        end local 0 // android.media.Cea708CCWidget$CCWindowLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/media/Cea708CCWidget$CCWindowLayout;

  public void hide();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.media.Cea708CCWidget$CCWindowLayout this
         0: .line 1753
            aload 0 /* this */
            iconst_4
            invokevirtual android.media.Cea708CCWidget$CCWindowLayout.setVisibility:(I)V
         1: .line 1754
            aload 0 /* this */
            invokevirtual android.media.Cea708CCWidget$CCWindowLayout.requestLayout:()V
         2: .line 1755
            return
        end local 0 // android.media.Cea708CCWidget$CCWindowLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/media/Cea708CCWidget$CCWindowLayout;

  public void setPenAttr(android.media.Cea708CCParser$CaptionPenAttr);
    descriptor: (Landroid/media/Cea708CCParser$CaptionPenAttr;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // android.media.Cea708CCWidget$CCWindowLayout this
        start local 1 // android.media.Cea708CCParser$CaptionPenAttr penAttr
         0: .line 1758
            aload 0 /* this */
            getfield android.media.Cea708CCWidget$CCWindowLayout.mCharacterStyles:Ljava/util/List;
            invokeinterface java.util.List.clear:()V
         1: .line 1759
            aload 1 /* penAttr */
            getfield android.media.Cea708CCParser$CaptionPenAttr.italic:Z
            ifeq 3
         2: .line 1760
            aload 0 /* this */
            getfield android.media.Cea708CCWidget$CCWindowLayout.mCharacterStyles:Ljava/util/List;
            new android.text.style.StyleSpan
            dup
            iconst_2
            invokespecial android.text.style.StyleSpan.<init>:(I)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         3: .line 1762
      StackMap locals:
      StackMap stack:
            aload 1 /* penAttr */
            getfield android.media.Cea708CCParser$CaptionPenAttr.underline:Z
            ifeq 5
         4: .line 1763
            aload 0 /* this */
            getfield android.media.Cea708CCWidget$CCWindowLayout.mCharacterStyles:Ljava/util/List;
            new android.text.style.UnderlineSpan
            dup
            invokespecial android.text.style.UnderlineSpan.<init>:()V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         5: .line 1765
      StackMap locals:
      StackMap stack:
            aload 1 /* penAttr */
            getfield android.media.Cea708CCParser$CaptionPenAttr.penSize:I
            tableswitch { // 0 - 2
                    0: 6
                    1: 9
                    2: 8
              default: 9
          }
         6: .line 1767
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.media.Cea708CCWidget$CCWindowLayout.mCharacterStyles:Ljava/util/List;
            new android.text.style.RelativeSizeSpan
            dup
            ldc 0.75
            invokespecial android.text.style.RelativeSizeSpan.<init>:(F)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         7: .line 1768
            goto 9
         8: .line 1770
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.media.Cea708CCWidget$CCWindowLayout.mCharacterStyles:Ljava/util/List;
            new android.text.style.RelativeSizeSpan
            dup
            ldc 1.25
            invokespecial android.text.style.RelativeSizeSpan.<init>:(F)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         9: .line 1772
      StackMap locals:
      StackMap stack:
            aload 1 /* penAttr */
        10: .line 1773
            getfield android.media.Cea708CCParser$CaptionPenAttr.penOffset:I
            tableswitch { // 0 - 2
                    0: 11
                    1: 14
                    2: 13
              default: 14
          }
        11: .line 1775
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.media.Cea708CCWidget$CCWindowLayout.mCharacterStyles:Ljava/util/List;
            new android.text.style.SubscriptSpan
            dup
            invokespecial android.text.style.SubscriptSpan.<init>:()V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        12: .line 1776
            goto 14
        13: .line 1778
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.media.Cea708CCWidget$CCWindowLayout.mCharacterStyles:Ljava/util/List;
            new android.text.style.SuperscriptSpan
            dup
            invokespecial android.text.style.SuperscriptSpan.<init>:()V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        14: .line 1781
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.media.Cea708CCParser$CaptionPenAttr penAttr
        end local 0 // android.media.Cea708CCWidget$CCWindowLayout this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0     this  Landroid/media/Cea708CCWidget$CCWindowLayout;
            0   15     1  penAttr  Landroid/media/Cea708CCParser$CaptionPenAttr;
    MethodParameters:
         Name  Flags
      penAttr  

  public void setPenColor(android.media.Cea708CCParser$CaptionPenColor);
    descriptor: (Landroid/media/Cea708CCParser$CaptionPenColor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // android.media.Cea708CCWidget$CCWindowLayout this
        start local 1 // android.media.Cea708CCParser$CaptionPenColor penColor
         0: .line 1785
            return
        end local 1 // android.media.Cea708CCParser$CaptionPenColor penColor
        end local 0 // android.media.Cea708CCWidget$CCWindowLayout this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Landroid/media/Cea708CCWidget$CCWindowLayout;
            0    1     1  penColor  Landroid/media/Cea708CCParser$CaptionPenColor;
    MethodParameters:
          Name  Flags
      penColor  

  public void setPenLocation(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // android.media.Cea708CCWidget$CCWindowLayout this
        start local 1 // int row
        start local 2 // int column
         0: .line 1789
            aload 0 /* this */
            getfield android.media.Cea708CCWidget$CCWindowLayout.mRow:I
            iflt 6
         1: .line 1790
            aload 0 /* this */
            getfield android.media.Cea708CCWidget$CCWindowLayout.mRow:I
            istore 3 /* r */
        start local 3 // int r
         2: goto 5
         3: .line 1791
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            ldc "\n"
            invokevirtual android.media.Cea708CCWidget$CCWindowLayout.appendText:(Ljava/lang/String;)V
         4: .line 1790
            iinc 3 /* r */ 1
      StackMap locals:
      StackMap stack:
         5: iload 3 /* r */
            iload 1 /* row */
            if_icmplt 3
        end local 3 // int r
         6: .line 1794
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* row */
            putfield android.media.Cea708CCWidget$CCWindowLayout.mRow:I
         7: .line 1795
            return
        end local 2 // int column
        end local 1 // int row
        end local 0 // android.media.Cea708CCWidget$CCWindowLayout this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Landroid/media/Cea708CCWidget$CCWindowLayout;
            0    8     1     row  I
            0    8     2  column  I
            2    6     3       r  I
    MethodParameters:
        Name  Flags
      row     
      column  

  public void setWindowAttr(android.media.Cea708CCParser$CaptionWindowAttr);
    descriptor: (Landroid/media/Cea708CCParser$CaptionWindowAttr;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // android.media.Cea708CCWidget$CCWindowLayout this
        start local 1 // android.media.Cea708CCParser$CaptionWindowAttr windowAttr
         0: .line 1800
            return
        end local 1 // android.media.Cea708CCParser$CaptionWindowAttr windowAttr
        end local 0 // android.media.Cea708CCWidget$CCWindowLayout this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Landroid/media/Cea708CCWidget$CCWindowLayout;
            0    1     1  windowAttr  Landroid/media/Cea708CCParser$CaptionWindowAttr;
    MethodParameters:
            Name  Flags
      windowAttr  

  public void sendBuffer(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.media.Cea708CCWidget$CCWindowLayout this
        start local 1 // java.lang.String buffer
         0: .line 1803
            aload 0 /* this */
            aload 1 /* buffer */
            invokevirtual android.media.Cea708CCWidget$CCWindowLayout.appendText:(Ljava/lang/String;)V
         1: .line 1804
            return
        end local 1 // java.lang.String buffer
        end local 0 // android.media.Cea708CCWidget$CCWindowLayout this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Landroid/media/Cea708CCWidget$CCWindowLayout;
            0    2     1  buffer  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      buffer  

  public void sendControl(char);
    descriptor: (C)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // android.media.Cea708CCWidget$CCWindowLayout this
        start local 1 // char control
         0: .line 1808
            return
        end local 1 // char control
        end local 0 // android.media.Cea708CCWidget$CCWindowLayout this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Landroid/media/Cea708CCWidget$CCWindowLayout;
            0    1     1  control  C
    MethodParameters:
         Name  Flags
      control  

  public void initWindow(android.media.Cea708CCWidget$CCLayout, android.media.Cea708CCParser$CaptionWindow);
    descriptor: (Landroid/media/Cea708CCWidget$CCLayout;Landroid/media/Cea708CCParser$CaptionWindow;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=18, args_size=3
        start local 0 // android.media.Cea708CCWidget$CCWindowLayout this
        start local 1 // android.media.Cea708CCWidget$CCLayout ccLayout
        start local 2 // android.media.Cea708CCParser$CaptionWindow captionWindow
         0: .line 1865
            aload 0 /* this */
            getfield android.media.Cea708CCWidget$CCWindowLayout.mCCLayout:Landroid/media/Cea708CCWidget$CCLayout;
            aload 1 /* ccLayout */
            if_acmpeq 6
         1: .line 1866
            aload 0 /* this */
            getfield android.media.Cea708CCWidget$CCWindowLayout.mCCLayout:Landroid/media/Cea708CCWidget$CCLayout;
            ifnull 3
         2: .line 1867
            aload 0 /* this */
            getfield android.media.Cea708CCWidget$CCWindowLayout.mCCLayout:Landroid/media/Cea708CCWidget$CCLayout;
            aload 0 /* this */
            invokevirtual android.media.Cea708CCWidget$CCLayout.removeOnLayoutChangeListener:(Landroid/view/View$OnLayoutChangeListener;)V
         3: .line 1869
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* ccLayout */
            putfield android.media.Cea708CCWidget$CCWindowLayout.mCCLayout:Landroid/media/Cea708CCWidget$CCLayout;
         4: .line 1870
            aload 0 /* this */
            getfield android.media.Cea708CCWidget$CCWindowLayout.mCCLayout:Landroid/media/Cea708CCWidget$CCLayout;
            aload 0 /* this */
            invokevirtual android.media.Cea708CCWidget$CCLayout.addOnLayoutChangeListener:(Landroid/view/View$OnLayoutChangeListener;)V
         5: .line 1871
            aload 0 /* this */
            invokevirtual android.media.Cea708CCWidget$CCWindowLayout.updateWidestChar:()V
         6: .line 1875
      StackMap locals:
      StackMap stack:
            aload 2 /* captionWindow */
            getfield android.media.Cea708CCParser$CaptionWindow.anchorVertical:I
            i2f
         7: .line 1876
            aload 2 /* captionWindow */
            getfield android.media.Cea708CCParser$CaptionWindow.relativePositioning:Z
            ifeq 9
         8: .line 1877
            bipush 99
            goto 10
      StackMap locals:
      StackMap stack: float
         9: bipush 74
        10: .line 1876
      StackMap locals: android.media.Cea708CCWidget$CCWindowLayout android.media.Cea708CCWidget$CCLayout android.media.Cea708CCParser$CaptionWindow
      StackMap stack: float int
            i2f
        11: .line 1875
            fdiv
            fstore 3 /* scaleRow */
        start local 3 // float scaleRow
        12: .line 1880
            aload 2 /* captionWindow */
            getfield android.media.Cea708CCParser$CaptionWindow.anchorHorizontal:I
            i2f
        13: .line 1881
            aload 2 /* captionWindow */
            getfield android.media.Cea708CCParser$CaptionWindow.relativePositioning:Z
            ifeq 14
            bipush 99
            goto 15
        14: .line 1882
      StackMap locals: android.media.Cea708CCWidget$CCWindowLayout android.media.Cea708CCWidget$CCLayout android.media.Cea708CCParser$CaptionWindow float
      StackMap stack: float
            sipush 209
        15: .line 1881
      StackMap locals: android.media.Cea708CCWidget$CCWindowLayout android.media.Cea708CCWidget$CCLayout android.media.Cea708CCParser$CaptionWindow float
      StackMap stack: float int
            i2f
        16: .line 1880
            fdiv
            fstore 4 /* scaleCol */
        start local 4 // float scaleCol
        17: .line 1886
            fload 3 /* scaleRow */
            fconst_0
            fcmpg
            iflt 18
            fload 3 /* scaleRow */
            fconst_1
            fcmpl
            ifle 22
        18: .line 1887
      StackMap locals: float
      StackMap stack:
            ldc "CCWindowLayout"
            new java.lang.StringBuilder
            dup
            ldc "The vertical position of the anchor point should be at the range of 0 and 1 but "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        19: .line 1888
            fload 3 /* scaleRow */
            invokevirtual java.lang.StringBuilder.append:(F)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        20: .line 1887
            invokestatic android.util.Log.i:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        21: .line 1889
            fconst_0
            fload 3 /* scaleRow */
            fconst_1
            invokestatic java.lang.Math.min:(FF)F
            invokestatic java.lang.Math.max:(FF)F
            fstore 3 /* scaleRow */
        22: .line 1891
      StackMap locals:
      StackMap stack:
            fload 4 /* scaleCol */
            fconst_0
            fcmpg
            iflt 23
            fload 4 /* scaleCol */
            fconst_1
            fcmpl
            ifle 27
        23: .line 1892
      StackMap locals:
      StackMap stack:
            ldc "CCWindowLayout"
            new java.lang.StringBuilder
            dup
            ldc "The horizontal position of the anchor point should be at the range of 0 and 1 but "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        24: .line 1893
            fload 4 /* scaleCol */
            invokevirtual java.lang.StringBuilder.append:(F)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        25: .line 1892
            invokestatic android.util.Log.i:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        26: .line 1894
            fconst_0
            fload 4 /* scaleCol */
            fconst_1
            invokestatic java.lang.Math.min:(FF)F
            invokestatic java.lang.Math.max:(FF)F
            fstore 4 /* scaleCol */
        27: .line 1896
      StackMap locals:
      StackMap stack:
            bipush 17
            istore 5 /* gravity */
        start local 5 // int gravity
        28: .line 1897
            aload 2 /* captionWindow */
            getfield android.media.Cea708CCParser$CaptionWindow.anchorId:I
            iconst_3
            irem
            istore 6 /* horizontalMode */
        start local 6 // int horizontalMode
        29: .line 1898
            aload 2 /* captionWindow */
            getfield android.media.Cea708CCParser$CaptionWindow.anchorId:I
            iconst_3
            idiv
            istore 7 /* verticalMode */
        start local 7 // int verticalMode
        30: .line 1899
            fconst_0
            fstore 8 /* scaleStartRow */
        start local 8 // float scaleStartRow
        31: .line 1900
            fconst_1
            fstore 9 /* scaleEndRow */
        start local 9 // float scaleEndRow
        32: .line 1901
            fconst_0
            fstore 10 /* scaleStartCol */
        start local 10 // float scaleStartCol
        33: .line 1902
            fconst_1
            fstore 11 /* scaleEndCol */
        start local 11 // float scaleEndCol
        34: .line 1903
            iload 6 /* horizontalMode */
            tableswitch { // 0 - 2
                    0: 35
                    1: 39
                    2: 67
              default: 70
          }
        35: .line 1905
      StackMap locals: android.media.Cea708CCWidget$CCWindowLayout android.media.Cea708CCWidget$CCLayout android.media.Cea708CCParser$CaptionWindow float float int int int float float float float
      StackMap stack:
            iconst_3
            istore 5 /* gravity */
        36: .line 1906
            aload 0 /* this */
            getfield android.media.Cea708CCWidget$CCWindowLayout.mCCView:Landroid/media/Cea708CCWidget$CCView;
            getstatic android.text.Layout$Alignment.ALIGN_NORMAL:Landroid/text/Layout$Alignment;
            invokevirtual android.media.Cea708CCWidget$CCView.setAlignment:(Landroid/text/Layout$Alignment;)V
        37: .line 1907
            fload 4 /* scaleCol */
            fstore 10 /* scaleStartCol */
        38: .line 1908
            goto 70
        39: .line 1910
      StackMap locals:
      StackMap stack:
            fconst_1
            fload 4 /* scaleCol */
            fsub
            fload 4 /* scaleCol */
            invokestatic java.lang.Math.min:(FF)F
            fstore 12 /* gap */
        start local 12 // float gap
        40: .line 1914
            aload 2 /* captionWindow */
            getfield android.media.Cea708CCParser$CaptionWindow.columnCount:I
            iconst_1
            iadd
            istore 13 /* columnCount */
        start local 13 // int columnCount
        41: .line 1915
            aload 0 /* this */
            invokevirtual android.media.Cea708CCWidget$CCWindowLayout.getScreenColumnCount:()I
            iload 13 /* columnCount */
            invokestatic java.lang.Math.min:(II)I
            istore 13 /* columnCount */
        42: .line 1916
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 14 /* widestTextBuilder */
        start local 14 // java.lang.StringBuilder widestTextBuilder
        43: .line 1917
            iconst_0
            istore 15 /* i */
        start local 15 // int i
        44: goto 47
        45: .line 1918
      StackMap locals: android.media.Cea708CCWidget$CCWindowLayout android.media.Cea708CCWidget$CCLayout android.media.Cea708CCParser$CaptionWindow float float int int int float float float float float int java.lang.StringBuilder int
      StackMap stack:
            aload 14 /* widestTextBuilder */
            aload 0 /* this */
            getfield android.media.Cea708CCWidget$CCWindowLayout.mWidestChar:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        46: .line 1917
            iinc 15 /* i */ 1
      StackMap locals:
      StackMap stack:
        47: iload 15 /* i */
            iload 13 /* columnCount */
            if_icmplt 45
        end local 15 // int i
        48: .line 1920
            new android.graphics.Paint
            dup
            invokespecial android.graphics.Paint.<init>:()V
            astore 15 /* paint */
        start local 15 // android.graphics.Paint paint
        49: .line 1921
            aload 15 /* paint */
            aload 0 /* this */
            getfield android.media.Cea708CCWidget$CCWindowLayout.mCaptionStyle:Landroid/view/accessibility/CaptioningManager$CaptionStyle;
            invokevirtual android.view.accessibility.CaptioningManager$CaptionStyle.getTypeface:()Landroid/graphics/Typeface;
            invokevirtual android.graphics.Paint.setTypeface:(Landroid/graphics/Typeface;)Landroid/graphics/Typeface;
            pop
        50: .line 1922
            aload 15 /* paint */
            aload 0 /* this */
            getfield android.media.Cea708CCWidget$CCWindowLayout.mTextSize:F
            invokevirtual android.graphics.Paint.setTextSize:(F)V
        51: .line 1923
            aload 15 /* paint */
            aload 14 /* widestTextBuilder */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual android.graphics.Paint.measureText:(Ljava/lang/String;)F
            fstore 16 /* maxWindowWidth */
        start local 16 // float maxWindowWidth
        52: .line 1924
            aload 0 /* this */
            getfield android.media.Cea708CCWidget$CCWindowLayout.mCCLayout:Landroid/media/Cea708CCWidget$CCLayout;
            invokevirtual android.media.Cea708CCWidget$CCLayout.getWidth:()I
            ifle 54
        53: .line 1925
            fload 16 /* maxWindowWidth */
            fconst_2
            fdiv
            aload 0 /* this */
            getfield android.media.Cea708CCWidget$CCWindowLayout.mCCLayout:Landroid/media/Cea708CCWidget$CCLayout;
            invokevirtual android.media.Cea708CCWidget$CCLayout.getWidth:()I
            i2f
            ldc 0.8
            fmul
            fdiv
            goto 55
      StackMap locals: android.media.Cea708CCWidget$CCWindowLayout android.media.Cea708CCWidget$CCLayout android.media.Cea708CCParser$CaptionWindow float float int int int float float float float float int java.lang.StringBuilder android.graphics.Paint float
      StackMap stack:
        54: fconst_0
        55: .line 1924
      StackMap locals:
      StackMap stack: float
            fstore 17 /* halfMaxWidthScale */
        start local 17 // float halfMaxWidthScale
        56: .line 1926
            fload 17 /* halfMaxWidthScale */
            fconst_0
            fcmpl
            ifle 62
            fload 17 /* halfMaxWidthScale */
            fload 4 /* scaleCol */
            fcmpg
            ifge 62
        57: .line 1930
            iconst_3
            istore 5 /* gravity */
        58: .line 1931
            aload 0 /* this */
            getfield android.media.Cea708CCWidget$CCWindowLayout.mCCView:Landroid/media/Cea708CCWidget$CCView;
            getstatic android.text.Layout$Alignment.ALIGN_NORMAL:Landroid/text/Layout$Alignment;
            invokevirtual android.media.Cea708CCWidget$CCView.setAlignment:(Landroid/text/Layout$Alignment;)V
        59: .line 1932
            fload 4 /* scaleCol */
            fload 17 /* halfMaxWidthScale */
            fsub
            fstore 10 /* scaleStartCol */
        60: .line 1933
            fconst_1
            fstore 11 /* scaleEndCol */
        61: .line 1934
            goto 70
        62: .line 1942
      StackMap locals: float
      StackMap stack:
            iconst_1
            istore 5 /* gravity */
        63: .line 1943
            aload 0 /* this */
            getfield android.media.Cea708CCWidget$CCWindowLayout.mCCView:Landroid/media/Cea708CCWidget$CCView;
            getstatic android.text.Layout$Alignment.ALIGN_CENTER:Landroid/text/Layout$Alignment;
            invokevirtual android.media.Cea708CCWidget$CCView.setAlignment:(Landroid/text/Layout$Alignment;)V
        64: .line 1944
            fload 4 /* scaleCol */
            fload 12 /* gap */
            fsub
            fstore 10 /* scaleStartCol */
        65: .line 1945
            fload 4 /* scaleCol */
            fload 12 /* gap */
            fadd
            fstore 11 /* scaleEndCol */
        66: .line 1947
            goto 70
        end local 17 // float halfMaxWidthScale
        end local 16 // float maxWindowWidth
        end local 15 // android.graphics.Paint paint
        end local 14 // java.lang.StringBuilder widestTextBuilder
        end local 13 // int columnCount
        end local 12 // float gap
        67: .line 1949
      StackMap locals: android.media.Cea708CCWidget$CCWindowLayout android.media.Cea708CCWidget$CCLayout android.media.Cea708CCParser$CaptionWindow float float int int int float float float float
      StackMap stack:
            iconst_5
            istore 5 /* gravity */
        68: .line 1950
            aload 0 /* this */
            getfield android.media.Cea708CCWidget$CCWindowLayout.mCCView:Landroid/media/Cea708CCWidget$CCView;
            getstatic android.text.Layout$Alignment.ALIGN_RIGHT:Landroid/text/Layout$Alignment;
            invokevirtual android.media.Cea708CCWidget$CCView.setAlignment:(Landroid/text/Layout$Alignment;)V
        69: .line 1951
            fload 4 /* scaleCol */
            fstore 11 /* scaleEndCol */
        70: .line 1954
      StackMap locals:
      StackMap stack:
            iload 7 /* verticalMode */
            tableswitch { // 0 - 2
                    0: 71
                    1: 74
                    2: 79
              default: 81
          }
        71: .line 1956
      StackMap locals:
      StackMap stack:
            iload 5 /* gravity */
            bipush 48
            ior
            istore 5 /* gravity */
        72: .line 1957
            fload 3 /* scaleRow */
            fstore 8 /* scaleStartRow */
        73: .line 1958
            goto 81
        74: .line 1960
      StackMap locals:
      StackMap stack:
            iload 5 /* gravity */
            bipush 16
            ior
            istore 5 /* gravity */
        75: .line 1963
            fconst_1
            fload 3 /* scaleRow */
            fsub
            fload 3 /* scaleRow */
            invokestatic java.lang.Math.min:(FF)F
            fstore 12 /* gap */
        start local 12 // float gap
        76: .line 1964
            fload 3 /* scaleRow */
            fload 12 /* gap */
            fsub
            fstore 8 /* scaleStartRow */
        77: .line 1965
            fload 3 /* scaleRow */
            fload 12 /* gap */
            fadd
            fstore 9 /* scaleEndRow */
        78: .line 1966
            goto 81
        end local 12 // float gap
        79: .line 1968
      StackMap locals:
      StackMap stack:
            iload 5 /* gravity */
            bipush 80
            ior
            istore 5 /* gravity */
        80: .line 1969
            fload 3 /* scaleRow */
            fstore 9 /* scaleEndRow */
        81: .line 1972
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.media.Cea708CCWidget$CCWindowLayout.mCCLayout:Landroid/media/Cea708CCWidget$CCLayout;
            aload 0 /* this */
            new android.media.Cea708CCWidget$ScaledLayout$ScaledLayoutParams
            dup
        82: .line 1973
            fload 8 /* scaleStartRow */
            fload 9 /* scaleEndRow */
            fload 10 /* scaleStartCol */
            fload 11 /* scaleEndCol */
            invokespecial android.media.Cea708CCWidget$ScaledLayout$ScaledLayoutParams.<init>:(FFFF)V
        83: .line 1972
            invokevirtual android.media.Cea708CCWidget$CCLayout.addOrUpdateViewToSafeTitleArea:(Landroid/media/Cea708CCWidget$CCWindowLayout;Landroid/media/Cea708CCWidget$ScaledLayout$ScaledLayoutParams;)V
        84: .line 1974
            aload 0 /* this */
            aload 2 /* captionWindow */
            getfield android.media.Cea708CCParser$CaptionWindow.id:I
            invokevirtual android.media.Cea708CCWidget$CCWindowLayout.setCaptionWindowId:(I)V
        85: .line 1975
            aload 0 /* this */
            aload 2 /* captionWindow */
            getfield android.media.Cea708CCParser$CaptionWindow.rowCount:I
            invokevirtual android.media.Cea708CCWidget$CCWindowLayout.setRowLimit:(I)V
        86: .line 1976
            aload 0 /* this */
            iload 5 /* gravity */
            invokevirtual android.media.Cea708CCWidget$CCWindowLayout.setGravity:(I)V
        87: .line 1977
            aload 2 /* captionWindow */
            getfield android.media.Cea708CCParser$CaptionWindow.visible:Z
            ifeq 90
        88: .line 1978
            aload 0 /* this */
            invokevirtual android.media.Cea708CCWidget$CCWindowLayout.show:()V
        89: .line 1979
            goto 91
        90: .line 1980
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.media.Cea708CCWidget$CCWindowLayout.hide:()V
        91: .line 1982
      StackMap locals:
      StackMap stack:
            return
        end local 11 // float scaleEndCol
        end local 10 // float scaleStartCol
        end local 9 // float scaleEndRow
        end local 8 // float scaleStartRow
        end local 7 // int verticalMode
        end local 6 // int horizontalMode
        end local 5 // int gravity
        end local 4 // float scaleCol
        end local 3 // float scaleRow
        end local 2 // android.media.Cea708CCParser$CaptionWindow captionWindow
        end local 1 // android.media.Cea708CCWidget$CCLayout ccLayout
        end local 0 // android.media.Cea708CCWidget$CCWindowLayout this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   92     0               this  Landroid/media/Cea708CCWidget$CCWindowLayout;
            0   92     1           ccLayout  Landroid/media/Cea708CCWidget$CCLayout;
            0   92     2      captionWindow  Landroid/media/Cea708CCParser$CaptionWindow;
           12   92     3           scaleRow  F
           17   92     4           scaleCol  F
           28   92     5            gravity  I
           29   92     6     horizontalMode  I
           30   92     7       verticalMode  I
           31   92     8      scaleStartRow  F
           32   92     9        scaleEndRow  F
           33   92    10      scaleStartCol  F
           34   92    11        scaleEndCol  F
           40   67    12                gap  F
           41   67    13        columnCount  I
           43   67    14  widestTextBuilder  Ljava/lang/StringBuilder;
           44   48    15                  i  I
           49   67    15              paint  Landroid/graphics/Paint;
           52   67    16     maxWindowWidth  F
           56   67    17  halfMaxWidthScale  F
           76   79    12                gap  F
    MethodParameters:
               Name  Flags
      ccLayout       
      captionWindow  

  public void onLayoutChange(android.view.View, int, int, int, int, int, int, int, int);
    descriptor: (Landroid/view/View;IIIIIIII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=12, args_size=10
        start local 0 // android.media.Cea708CCWidget$CCWindowLayout this
        start local 1 // android.view.View v
        start local 2 // int left
        start local 3 // int top
        start local 4 // int right
        start local 5 // int bottom
        start local 6 // int oldLeft
        start local 7 // int oldTop
        start local 8 // int oldRight
        start local 9 // int oldBottom
         0: .line 1987
            iload 4 /* right */
            iload 2 /* left */
            isub
            istore 10 /* width */
        start local 10 // int width
         1: .line 1988
            iload 5 /* bottom */
            iload 3 /* top */
            isub
            istore 11 /* height */
        start local 11 // int height
         2: .line 1989
            iload 10 /* width */
            aload 0 /* this */
            getfield android.media.Cea708CCWidget$CCWindowLayout.mLastCaptionLayoutWidth:I
            if_icmpne 3
            iload 11 /* height */
            aload 0 /* this */
            getfield android.media.Cea708CCWidget$CCWindowLayout.mLastCaptionLayoutHeight:I
            if_icmpeq 6
         3: .line 1990
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            iload 10 /* width */
            putfield android.media.Cea708CCWidget$CCWindowLayout.mLastCaptionLayoutWidth:I
         4: .line 1991
            aload 0 /* this */
            iload 11 /* height */
            putfield android.media.Cea708CCWidget$CCWindowLayout.mLastCaptionLayoutHeight:I
         5: .line 1992
            aload 0 /* this */
            invokevirtual android.media.Cea708CCWidget$CCWindowLayout.updateTextSize:()V
         6: .line 1994
      StackMap locals:
      StackMap stack:
            return
        end local 11 // int height
        end local 10 // int width
        end local 9 // int oldBottom
        end local 8 // int oldRight
        end local 7 // int oldTop
        end local 6 // int oldLeft
        end local 5 // int bottom
        end local 4 // int right
        end local 3 // int top
        end local 2 // int left
        end local 1 // android.view.View v
        end local 0 // android.media.Cea708CCWidget$CCWindowLayout this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Landroid/media/Cea708CCWidget$CCWindowLayout;
            0    7     1          v  Landroid/view/View;
            0    7     2       left  I
            0    7     3        top  I
            0    7     4      right  I
            0    7     5     bottom  I
            0    7     6    oldLeft  I
            0    7     7     oldTop  I
            0    7     8   oldRight  I
            0    7     9  oldBottom  I
            1    7    10      width  I
            2    7    11     height  I
    MethodParameters:
           Name  Flags
      v          
      left       
      top        
      right      
      bottom     
      oldLeft    
      oldTop     
      oldRight   
      oldBottom  

  private void updateWidestChar();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=1
        start local 0 // android.media.Cea708CCWidget$CCWindowLayout this
         0: .line 1997
            new android.graphics.Paint
            dup
            invokespecial android.graphics.Paint.<init>:()V
            astore 1 /* paint */
        start local 1 // android.graphics.Paint paint
         1: .line 1998
            aload 1 /* paint */
            aload 0 /* this */
            getfield android.media.Cea708CCWidget$CCWindowLayout.mCaptionStyle:Landroid/view/accessibility/CaptioningManager$CaptionStyle;
            invokevirtual android.view.accessibility.CaptioningManager$CaptionStyle.getTypeface:()Landroid/graphics/Typeface;
            invokevirtual android.graphics.Paint.setTypeface:(Landroid/graphics/Typeface;)Landroid/graphics/Typeface;
            pop
         2: .line 1999
            ldc "ISO-8859-1"
            invokestatic java.nio.charset.Charset.forName:(Ljava/lang/String;)Ljava/nio/charset/Charset;
            astore 2 /* latin1 */
        start local 2 // java.nio.charset.Charset latin1
         3: .line 2000
            fconst_0
            fstore 3 /* widestCharWidth */
        start local 3 // float widestCharWidth
         4: .line 2001
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: goto 12
         6: .line 2002
      StackMap locals: android.media.Cea708CCWidget$CCWindowLayout android.graphics.Paint java.nio.charset.Charset float int
      StackMap stack:
            new java.lang.String
            dup
            iconst_1
            newarray 8
            dup
            iconst_0
            iload 4 /* i */
            i2b
            bastore
            aload 2 /* latin1 */
            invokespecial java.lang.String.<init>:([BLjava/nio/charset/Charset;)V
            astore 5 /* ch */
        start local 5 // java.lang.String ch
         7: .line 2003
            aload 1 /* paint */
            aload 5 /* ch */
            invokevirtual android.graphics.Paint.measureText:(Ljava/lang/String;)F
            fstore 6 /* charWidth */
        start local 6 // float charWidth
         8: .line 2004
            fload 3 /* widestCharWidth */
            fload 6 /* charWidth */
            fcmpg
            ifge 11
         9: .line 2005
            fload 6 /* charWidth */
            fstore 3 /* widestCharWidth */
        10: .line 2006
            aload 0 /* this */
            aload 5 /* ch */
            putfield android.media.Cea708CCWidget$CCWindowLayout.mWidestChar:Ljava/lang/String;
        end local 6 // float charWidth
        end local 5 // java.lang.String ch
        11: .line 2001
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 4 /* i */
            sipush 256
            if_icmplt 6
        end local 4 // int i
        13: .line 2009
            aload 0 /* this */
            invokevirtual android.media.Cea708CCWidget$CCWindowLayout.updateTextSize:()V
        14: .line 2010
            return
        end local 3 // float widestCharWidth
        end local 2 // java.nio.charset.Charset latin1
        end local 1 // android.graphics.Paint paint
        end local 0 // android.media.Cea708CCWidget$CCWindowLayout this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   15     0             this  Landroid/media/Cea708CCWidget$CCWindowLayout;
            1   15     1            paint  Landroid/graphics/Paint;
            3   15     2           latin1  Ljava/nio/charset/Charset;
            4   15     3  widestCharWidth  F
            5   13     4                i  I
            7   11     5               ch  Ljava/lang/String;
            8   11     6        charWidth  F

  private void updateTextSize();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=9, args_size=1
        start local 0 // android.media.Cea708CCWidget$CCWindowLayout this
         0: .line 2013
            aload 0 /* this */
            getfield android.media.Cea708CCWidget$CCWindowLayout.mCCLayout:Landroid/media/Cea708CCWidget$CCLayout;
            ifnonnull 1
            return
         1: .line 2016
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* widestTextBuilder */
        start local 1 // java.lang.StringBuilder widestTextBuilder
         2: .line 2017
            aload 0 /* this */
            invokevirtual android.media.Cea708CCWidget$CCWindowLayout.getScreenColumnCount:()I
            istore 2 /* screenColumnCount */
        start local 2 // int screenColumnCount
         3: .line 2018
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 7
         5: .line 2019
      StackMap locals: java.lang.StringBuilder int int
      StackMap stack:
            aload 1 /* widestTextBuilder */
            aload 0 /* this */
            getfield android.media.Cea708CCWidget$CCWindowLayout.mWidestChar:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 2018
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            iload 2 /* screenColumnCount */
            if_icmplt 5
        end local 3 // int i
         8: .line 2021
            aload 1 /* widestTextBuilder */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* widestText */
        start local 3 // java.lang.String widestText
         9: .line 2022
            new android.graphics.Paint
            dup
            invokespecial android.graphics.Paint.<init>:()V
            astore 4 /* paint */
        start local 4 // android.graphics.Paint paint
        10: .line 2023
            aload 4 /* paint */
            aload 0 /* this */
            getfield android.media.Cea708CCWidget$CCWindowLayout.mCaptionStyle:Landroid/view/accessibility/CaptioningManager$CaptionStyle;
            invokevirtual android.view.accessibility.CaptioningManager$CaptionStyle.getTypeface:()Landroid/graphics/Typeface;
            invokevirtual android.graphics.Paint.setTypeface:(Landroid/graphics/Typeface;)Landroid/graphics/Typeface;
            pop
        11: .line 2024
            fconst_0
            fstore 5 /* startFontSize */
        start local 5 // float startFontSize
        12: .line 2025
            ldc 255.0
            fstore 6 /* endFontSize */
        start local 6 // float endFontSize
        13: .line 2026
            goto 21
        14: .line 2027
      StackMap locals: android.media.Cea708CCWidget$CCWindowLayout java.lang.StringBuilder int java.lang.String android.graphics.Paint float float
      StackMap stack:
            fload 5 /* startFontSize */
            fload 6 /* endFontSize */
            fadd
            fconst_2
            fdiv
            fstore 7 /* testTextSize */
        start local 7 // float testTextSize
        15: .line 2028
            aload 4 /* paint */
            fload 7 /* testTextSize */
            invokevirtual android.graphics.Paint.setTextSize:(F)V
        16: .line 2029
            aload 4 /* paint */
            aload 3 /* widestText */
            invokevirtual android.graphics.Paint.measureText:(Ljava/lang/String;)F
            fstore 8 /* width */
        start local 8 // float width
        17: .line 2030
            aload 0 /* this */
            getfield android.media.Cea708CCWidget$CCWindowLayout.mCCLayout:Landroid/media/Cea708CCWidget$CCLayout;
            invokevirtual android.media.Cea708CCWidget$CCLayout.getWidth:()I
            i2f
            ldc 0.8
            fmul
            fload 8 /* width */
            fcmpl
            ifle 20
        18: .line 2031
            fload 7 /* testTextSize */
            ldc 0.01
            fadd
            fstore 5 /* startFontSize */
        19: .line 2032
            goto 21
        20: .line 2033
      StackMap locals: float float
      StackMap stack:
            fload 7 /* testTextSize */
            ldc 0.01
            fsub
            fstore 6 /* endFontSize */
        end local 8 // float width
        end local 7 // float testTextSize
        21: .line 2026
      StackMap locals:
      StackMap stack:
            fload 5 /* startFontSize */
            fload 6 /* endFontSize */
            fcmpg
            iflt 14
        22: .line 2036
            aload 0 /* this */
            fload 6 /* endFontSize */
            aload 0 /* this */
            getfield android.media.Cea708CCWidget$CCWindowLayout.mFontScale:F
            fmul
            putfield android.media.Cea708CCWidget$CCWindowLayout.mTextSize:F
        23: .line 2037
            aload 0 /* this */
            getfield android.media.Cea708CCWidget$CCWindowLayout.mCCView:Landroid/media/Cea708CCWidget$CCView;
            aload 0 /* this */
            getfield android.media.Cea708CCWidget$CCWindowLayout.mTextSize:F
            invokevirtual android.media.Cea708CCWidget$CCView.setTextSize:(F)V
        24: .line 2038
            return
        end local 6 // float endFontSize
        end local 5 // float startFontSize
        end local 4 // android.graphics.Paint paint
        end local 3 // java.lang.String widestText
        end local 2 // int screenColumnCount
        end local 1 // java.lang.StringBuilder widestTextBuilder
        end local 0 // android.media.Cea708CCWidget$CCWindowLayout this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   25     0               this  Landroid/media/Cea708CCWidget$CCWindowLayout;
            2   25     1  widestTextBuilder  Ljava/lang/StringBuilder;
            3   25     2  screenColumnCount  I
            4    8     3                  i  I
            9   25     3         widestText  Ljava/lang/String;
           10   25     4              paint  Landroid/graphics/Paint;
           12   25     5      startFontSize  F
           13   25     6        endFontSize  F
           15   21     7       testTextSize  F
           17   21     8              width  F

  private int getScreenColumnCount();
    descriptor: ()I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.media.Cea708CCWidget$CCWindowLayout this
         0: .line 2042
            bipush 42
            ireturn
        end local 0 // android.media.Cea708CCWidget$CCWindowLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/media/Cea708CCWidget$CCWindowLayout;

  public void removeFromCaptionView();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.media.Cea708CCWidget$CCWindowLayout this
         0: .line 2046
            aload 0 /* this */
            getfield android.media.Cea708CCWidget$CCWindowLayout.mCCLayout:Landroid/media/Cea708CCWidget$CCLayout;
            ifnull 4
         1: .line 2047
            aload 0 /* this */
            getfield android.media.Cea708CCWidget$CCWindowLayout.mCCLayout:Landroid/media/Cea708CCWidget$CCLayout;
            aload 0 /* this */
            invokevirtual android.media.Cea708CCWidget$CCLayout.removeViewFromSafeTitleArea:(Landroid/media/Cea708CCWidget$CCWindowLayout;)V
         2: .line 2048
            aload 0 /* this */
            getfield android.media.Cea708CCWidget$CCWindowLayout.mCCLayout:Landroid/media/Cea708CCWidget$CCLayout;
            aload 0 /* this */
            invokevirtual android.media.Cea708CCWidget$CCLayout.removeOnLayoutChangeListener:(Landroid/view/View$OnLayoutChangeListener;)V
         3: .line 2049
            aload 0 /* this */
            aconst_null
            putfield android.media.Cea708CCWidget$CCWindowLayout.mCCLayout:Landroid/media/Cea708CCWidget$CCLayout;
         4: .line 2051
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.media.Cea708CCWidget$CCWindowLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Landroid/media/Cea708CCWidget$CCWindowLayout;

  public void setText(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.media.Cea708CCWidget$CCWindowLayout this
        start local 1 // java.lang.String text
         0: .line 2054
            aload 0 /* this */
            aload 1 /* text */
            iconst_0
            invokevirtual android.media.Cea708CCWidget$CCWindowLayout.updateText:(Ljava/lang/String;Z)V
         1: .line 2055
            return
        end local 1 // java.lang.String text
        end local 0 // android.media.Cea708CCWidget$CCWindowLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/media/Cea708CCWidget$CCWindowLayout;
            0    2     1  text  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      text  

  public void appendText(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.media.Cea708CCWidget$CCWindowLayout this
        start local 1 // java.lang.String text
         0: .line 2058
            aload 0 /* this */
            aload 1 /* text */
            iconst_1
            invokevirtual android.media.Cea708CCWidget$CCWindowLayout.updateText:(Ljava/lang/String;Z)V
         1: .line 2059
            return
        end local 1 // java.lang.String text
        end local 0 // android.media.Cea708CCWidget$CCWindowLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/media/Cea708CCWidget$CCWindowLayout;
            0    2     1  text  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      text  

  public void clearText();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.media.Cea708CCWidget$CCWindowLayout this
         0: .line 2062
            aload 0 /* this */
            getfield android.media.Cea708CCWidget$CCWindowLayout.mBuilder:Landroid/text/SpannableStringBuilder;
            invokevirtual android.text.SpannableStringBuilder.clear:()V
         1: .line 2063
            aload 0 /* this */
            getfield android.media.Cea708CCWidget$CCWindowLayout.mCCView:Landroid/media/Cea708CCWidget$CCView;
            ldc ""
            invokevirtual android.media.Cea708CCWidget$CCView.setText:(Ljava/lang/CharSequence;)V
         2: .line 2064
            return
        end local 0 // android.media.Cea708CCWidget$CCWindowLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/media/Cea708CCWidget$CCWindowLayout;

  private void updateText(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=9, args_size=3
        start local 0 // android.media.Cea708CCWidget$CCWindowLayout this
        start local 1 // java.lang.String text
        start local 2 // boolean appended
         0: .line 2067
            iload 2 /* appended */
            ifne 2
         1: .line 2068
            aload 0 /* this */
            getfield android.media.Cea708CCWidget$CCWindowLayout.mBuilder:Landroid/text/SpannableStringBuilder;
            invokevirtual android.text.SpannableStringBuilder.clear:()V
         2: .line 2070
      StackMap locals:
      StackMap stack:
            aload 1 /* text */
            ifnull 11
            aload 1 /* text */
            invokevirtual java.lang.String.length:()I
            ifle 11
         3: .line 2071
            aload 0 /* this */
            getfield android.media.Cea708CCWidget$CCWindowLayout.mBuilder:Landroid/text/SpannableStringBuilder;
            invokevirtual android.text.SpannableStringBuilder.length:()I
            istore 3 /* length */
        start local 3 // int length
         4: .line 2072
            aload 0 /* this */
            getfield android.media.Cea708CCWidget$CCWindowLayout.mBuilder:Landroid/text/SpannableStringBuilder;
            aload 1 /* text */
            invokevirtual android.text.SpannableStringBuilder.append:(Ljava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;
            pop
         5: .line 2073
            aload 0 /* this */
            getfield android.media.Cea708CCWidget$CCWindowLayout.mCharacterStyles:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 10
      StackMap locals: android.media.Cea708CCWidget$CCWindowLayout java.lang.String int int top java.util.Iterator
      StackMap stack:
         6: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast android.text.style.CharacterStyle
            astore 4 /* characterStyle */
        start local 4 // android.text.style.CharacterStyle characterStyle
         7: .line 2074
            aload 0 /* this */
            getfield android.media.Cea708CCWidget$CCWindowLayout.mBuilder:Landroid/text/SpannableStringBuilder;
            aload 4 /* characterStyle */
            iload 3 /* length */
            aload 0 /* this */
            getfield android.media.Cea708CCWidget$CCWindowLayout.mBuilder:Landroid/text/SpannableStringBuilder;
            invokevirtual android.text.SpannableStringBuilder.length:()I
         8: .line 2075
            bipush 33
         9: .line 2074
            invokevirtual android.text.SpannableStringBuilder.setSpan:(Ljava/lang/Object;III)V
        end local 4 // android.text.style.CharacterStyle characterStyle
        10: .line 2073
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        end local 3 // int length
        11: .line 2078
      StackMap locals: android.media.Cea708CCWidget$CCWindowLayout java.lang.String int
      StackMap stack:
            aload 0 /* this */
            getfield android.media.Cea708CCWidget$CCWindowLayout.mBuilder:Landroid/text/SpannableStringBuilder;
            invokevirtual android.text.SpannableStringBuilder.toString:()Ljava/lang/String;
            ldc "\n"
            invokestatic android.text.TextUtils.split:(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
            astore 3 /* lines */
        start local 3 // java.lang.String[] lines
        12: .line 2082
            ldc "\n"
        13: .line 2083
            aload 3 /* lines */
            iconst_0
            aload 3 /* lines */
            arraylength
            aload 0 /* this */
            getfield android.media.Cea708CCWidget$CCWindowLayout.mRowLimit:I
            iconst_1
            iadd
            isub
            invokestatic java.lang.Math.max:(II)I
            aload 3 /* lines */
            arraylength
        14: .line 2082
            invokestatic java.util.Arrays.copyOfRange:([Ljava/lang/Object;II)[Ljava/lang/Object;
            invokestatic android.text.TextUtils.join:(Ljava/lang/CharSequence;[Ljava/lang/Object;)Ljava/lang/String;
            astore 4 /* truncatedText */
        start local 4 // java.lang.String truncatedText
        15: .line 2084
            aload 0 /* this */
            getfield android.media.Cea708CCWidget$CCWindowLayout.mBuilder:Landroid/text/SpannableStringBuilder;
            iconst_0
            aload 0 /* this */
            getfield android.media.Cea708CCWidget$CCWindowLayout.mBuilder:Landroid/text/SpannableStringBuilder;
            invokevirtual android.text.SpannableStringBuilder.length:()I
            aload 4 /* truncatedText */
            invokevirtual java.lang.String.length:()I
            isub
            invokevirtual android.text.SpannableStringBuilder.delete:(II)Landroid/text/SpannableStringBuilder;
            pop
        16: .line 2087
            iconst_0
            istore 5 /* start */
        start local 5 // int start
        17: aload 0 /* this */
            getfield android.media.Cea708CCWidget$CCWindowLayout.mBuilder:Landroid/text/SpannableStringBuilder;
            invokevirtual android.text.SpannableStringBuilder.length:()I
            iconst_1
            isub
            istore 6 /* last */
        start local 6 // int last
        18: .line 2088
            iload 6 /* last */
            istore 7 /* end */
        start local 7 // int end
        19: .line 2089
            goto 21
        20: .line 2090
      StackMap locals: android.media.Cea708CCWidget$CCWindowLayout java.lang.String int java.lang.String[] java.lang.String int int int
      StackMap stack:
            iinc 5 /* start */ 1
        21: .line 2089
      StackMap locals:
      StackMap stack:
            iload 5 /* start */
            iload 7 /* end */
            if_icmpgt 24
            aload 0 /* this */
            getfield android.media.Cea708CCWidget$CCWindowLayout.mBuilder:Landroid/text/SpannableStringBuilder;
            iload 5 /* start */
            invokevirtual android.text.SpannableStringBuilder.charAt:(I)C
            bipush 32
            if_icmple 20
        22: .line 2092
            goto 24
        23: .line 2093
      StackMap locals:
      StackMap stack:
            iinc 7 /* end */ -1
        24: .line 2092
      StackMap locals:
      StackMap stack:
            iload 7 /* end */
            iload 5 /* start */
            if_icmplt 25
            aload 0 /* this */
            getfield android.media.Cea708CCWidget$CCWindowLayout.mBuilder:Landroid/text/SpannableStringBuilder;
            iload 7 /* end */
            invokevirtual android.text.SpannableStringBuilder.charAt:(I)C
            bipush 32
            if_icmple 23
        25: .line 2095
      StackMap locals:
      StackMap stack:
            iload 5 /* start */
            ifne 28
            iload 7 /* end */
            iload 6 /* last */
            if_icmpne 28
        26: .line 2096
            aload 0 /* this */
            getfield android.media.Cea708CCWidget$CCWindowLayout.mCCView:Landroid/media/Cea708CCWidget$CCView;
            aload 0 /* this */
            getfield android.media.Cea708CCWidget$CCWindowLayout.mBuilder:Landroid/text/SpannableStringBuilder;
            invokevirtual android.media.Cea708CCWidget$CCView.setText:(Ljava/lang/CharSequence;)V
        27: .line 2097
            goto 35
        28: .line 2098
      StackMap locals:
      StackMap stack:
            new android.text.SpannableStringBuilder
            dup
            invokespecial android.text.SpannableStringBuilder.<init>:()V
            astore 8 /* trim */
        start local 8 // android.text.SpannableStringBuilder trim
        29: .line 2099
            aload 8 /* trim */
            aload 0 /* this */
            getfield android.media.Cea708CCWidget$CCWindowLayout.mBuilder:Landroid/text/SpannableStringBuilder;
            invokevirtual android.text.SpannableStringBuilder.append:(Ljava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;
            pop
        30: .line 2100
            iload 7 /* end */
            iload 6 /* last */
            if_icmpge 32
        31: .line 2101
            aload 8 /* trim */
            iload 7 /* end */
            iconst_1
            iadd
            iload 6 /* last */
            iconst_1
            iadd
            invokevirtual android.text.SpannableStringBuilder.delete:(II)Landroid/text/SpannableStringBuilder;
            pop
        32: .line 2103
      StackMap locals: android.text.SpannableStringBuilder
      StackMap stack:
            iload 5 /* start */
            ifle 34
        33: .line 2104
            aload 8 /* trim */
            iconst_0
            iload 5 /* start */
            invokevirtual android.text.SpannableStringBuilder.delete:(II)Landroid/text/SpannableStringBuilder;
            pop
        34: .line 2106
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.media.Cea708CCWidget$CCWindowLayout.mCCView:Landroid/media/Cea708CCWidget$CCView;
            aload 8 /* trim */
            invokevirtual android.media.Cea708CCWidget$CCView.setText:(Ljava/lang/CharSequence;)V
        end local 8 // android.text.SpannableStringBuilder trim
        35: .line 2108
      StackMap locals:
      StackMap stack:
            return
        end local 7 // int end
        end local 6 // int last
        end local 5 // int start
        end local 4 // java.lang.String truncatedText
        end local 3 // java.lang.String[] lines
        end local 2 // boolean appended
        end local 1 // java.lang.String text
        end local 0 // android.media.Cea708CCWidget$CCWindowLayout this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   36     0            this  Landroid/media/Cea708CCWidget$CCWindowLayout;
            0   36     1            text  Ljava/lang/String;
            0   36     2        appended  Z
            4   11     3          length  I
            7   10     4  characterStyle  Landroid/text/style/CharacterStyle;
           12   36     3           lines  [Ljava/lang/String;
           15   36     4   truncatedText  Ljava/lang/String;
           17   36     5           start  I
           18   36     6            last  I
           19   36     7             end  I
           29   35     8            trim  Landroid/text/SpannableStringBuilder;
    MethodParameters:
          Name  Flags
      text      
      appended  

  public void setRowLimit(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.media.Cea708CCWidget$CCWindowLayout this
        start local 1 // int rowLimit
         0: .line 2111
            iload 1 /* rowLimit */
            ifge 2
         1: .line 2112
            new java.lang.IllegalArgumentException
            dup
            ldc "A rowLimit should have a positive number"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 2114
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* rowLimit */
            putfield android.media.Cea708CCWidget$CCWindowLayout.mRowLimit:I
         3: .line 2115
            return
        end local 1 // int rowLimit
        end local 0 // android.media.Cea708CCWidget$CCWindowLayout this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Landroid/media/Cea708CCWidget$CCWindowLayout;
            0    4     1  rowLimit  I
    MethodParameters:
          Name  Flags
      rowLimit  
}
SourceFile: "Cea708CaptionRenderer.java"
NestHost: android.media.Cea708CCWidget
InnerClasses:
  public CaptionPenAttr = android.media.Cea708CCParser$CaptionPenAttr of android.media.Cea708CCParser
  public CaptionPenColor = android.media.Cea708CCParser$CaptionPenColor of android.media.Cea708CCParser
  public CaptionWindow = android.media.Cea708CCParser$CaptionWindow of android.media.Cea708CCParser
  public CaptionWindowAttr = android.media.Cea708CCParser$CaptionWindowAttr of android.media.Cea708CCParser
  CCLayout = android.media.Cea708CCWidget$CCLayout of android.media.Cea708CCWidget
  CCView = android.media.Cea708CCWidget$CCView of android.media.Cea708CCWidget
  CCWindowLayout = android.media.Cea708CCWidget$CCWindowLayout of android.media.Cea708CCWidget
  ScaledLayout = android.media.Cea708CCWidget$ScaledLayout of android.media.Cea708CCWidget
  ScaledLayoutParams = android.media.Cea708CCWidget$ScaledLayout$ScaledLayoutParams of android.media.Cea708CCWidget$ScaledLayout
  public final Alignment = android.text.Layout$Alignment of android.text.Layout
  public abstract OnLayoutChangeListener = android.view.View$OnLayoutChangeListener of android.view.View
  public LayoutParams = android.view.ViewGroup$LayoutParams of android.view.ViewGroup
  public final CaptionStyle = android.view.accessibility.CaptioningManager$CaptionStyle of android.view.accessibility.CaptioningManager
  public LayoutParams = android.widget.RelativeLayout$LayoutParams of android.widget.RelativeLayout