class android.media.Cea608CCWidget$CCLayout extends android.widget.LinearLayout implements android.media.ClosedCaptionWidget$ClosedCaptionLayout
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: android.media.Cea608CCWidget$CCLayout
  super_class: android.widget.LinearLayout
{
  private static final int MAX_ROWS;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 15

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

  private final android.media.Cea608CCWidget$CCLineBox[] mLineBoxes;
    descriptor: [Landroid/media/Cea608CCWidget$CCLineBox;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  void <init>(android.content.Context);
    descriptor: (Landroid/content/Context;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // android.media.Cea608CCWidget$CCLayout this
        start local 1 // android.content.Context context
         0: .line 1423
            aload 0 /* this */
            aload 1 /* context */
            invokespecial android.widget.LinearLayout.<init>:(Landroid/content/Context;)V
         1: .line 1420
            aload 0 /* this */
            bipush 15
            anewarray android.media.Cea608CCWidget$CCLineBox
            putfield android.media.Cea608CCWidget$CCLayout.mLineBoxes:[Landroid/media/Cea608CCWidget$CCLineBox;
         2: .line 1424
            aload 0 /* this */
            ldc 8388611
            invokevirtual android.media.Cea608CCWidget$CCLayout.setGravity:(I)V
         3: .line 1425
            aload 0 /* this */
            iconst_1
            invokevirtual android.media.Cea608CCWidget$CCLayout.setOrientation:(I)V
         4: .line 1426
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         5: goto 9
         6: .line 1427
      StackMap locals: android.media.Cea608CCWidget$CCLayout android.content.Context int
      StackMap stack:
            aload 0 /* this */
            getfield android.media.Cea608CCWidget$CCLayout.mLineBoxes:[Landroid/media/Cea608CCWidget$CCLineBox;
            iload 2 /* i */
            new android.media.Cea608CCWidget$CCLineBox
            dup
            aload 0 /* this */
            invokevirtual android.media.Cea608CCWidget$CCLayout.getContext:()Landroid/content/Context;
            invokespecial android.media.Cea608CCWidget$CCLineBox.<init>:(Landroid/content/Context;)V
            aastore
         7: .line 1428
            aload 0 /* this */
            aload 0 /* this */
            getfield android.media.Cea608CCWidget$CCLayout.mLineBoxes:[Landroid/media/Cea608CCWidget$CCLineBox;
            iload 2 /* i */
            aaload
            bipush -2
            bipush -2
            invokevirtual android.media.Cea608CCWidget$CCLayout.addView:(Landroid/view/View;II)V
         8: .line 1426
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 2 /* i */
            bipush 15
            if_icmplt 6
        end local 2 // int i
        10: .line 1430
            return
        end local 1 // android.content.Context context
        end local 0 // android.media.Cea608CCWidget$CCLayout this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Landroid/media/Cea608CCWidget$CCLayout;
            0   11     1  context  Landroid/content/Context;
            5   10     2        i  I
    MethodParameters:
         Name  Flags
      context  

  public void setCaptionStyle(android.view.accessibility.CaptioningManager$CaptionStyle);
    descriptor: (Landroid/view/accessibility/CaptioningManager$CaptionStyle;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.media.Cea608CCWidget$CCLayout this
        start local 1 // android.view.accessibility.CaptioningManager$CaptionStyle captionStyle
         0: .line 1434
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 4
         2: .line 1435
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.media.Cea608CCWidget$CCLayout.mLineBoxes:[Landroid/media/Cea608CCWidget$CCLineBox;
            iload 2 /* i */
            aaload
            aload 1 /* captionStyle */
            invokevirtual android.media.Cea608CCWidget$CCLineBox.setCaptionStyle:(Landroid/view/accessibility/CaptioningManager$CaptionStyle;)V
         3: .line 1434
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         4: iload 2 /* i */
            bipush 15
            if_icmplt 2
        end local 2 // int i
         5: .line 1437
            return
        end local 1 // android.view.accessibility.CaptioningManager$CaptionStyle captionStyle
        end local 0 // android.media.Cea608CCWidget$CCLayout this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Landroid/media/Cea608CCWidget$CCLayout;
            0    6     1  captionStyle  Landroid/view/accessibility/CaptioningManager$CaptionStyle;
            1    5     2             i  I
    MethodParameters:
              Name  Flags
      captionStyle  

  public void setFontScale(float);
    descriptor: (F)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // android.media.Cea608CCWidget$CCLayout this
        start local 1 // float fontScale
         0: .line 1442
            return
        end local 1 // float fontScale
        end local 0 // android.media.Cea608CCWidget$CCLayout this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Landroid/media/Cea608CCWidget$CCLayout;
            0    1     1  fontScale  F
    MethodParameters:
           Name  Flags
      fontScale  

  void update(android.text.SpannableStringBuilder[]);
    descriptor: ([Landroid/text/SpannableStringBuilder;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // android.media.Cea608CCWidget$CCLayout this
        start local 1 // android.text.SpannableStringBuilder[] textBuffer
         0: .line 1445
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 8
         2: .line 1446
      StackMap locals: int
      StackMap stack:
            aload 1 /* textBuffer */
            iload 2 /* i */
            aaload
            ifnull 6
         3: .line 1447
            aload 0 /* this */
            getfield android.media.Cea608CCWidget$CCLayout.mLineBoxes:[Landroid/media/Cea608CCWidget$CCLineBox;
            iload 2 /* i */
            aaload
            aload 1 /* textBuffer */
            iload 2 /* i */
            aaload
            getstatic android.widget.TextView$BufferType.SPANNABLE:Landroid/widget/TextView$BufferType;
            invokevirtual android.media.Cea608CCWidget$CCLineBox.setText:(Ljava/lang/CharSequence;Landroid/widget/TextView$BufferType;)V
         4: .line 1448
            aload 0 /* this */
            getfield android.media.Cea608CCWidget$CCLayout.mLineBoxes:[Landroid/media/Cea608CCWidget$CCLineBox;
            iload 2 /* i */
            aaload
            iconst_0
            invokevirtual android.media.Cea608CCWidget$CCLineBox.setVisibility:(I)V
         5: .line 1449
            goto 7
         6: .line 1450
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.media.Cea608CCWidget$CCLayout.mLineBoxes:[Landroid/media/Cea608CCWidget$CCLineBox;
            iload 2 /* i */
            aaload
            iconst_4
            invokevirtual android.media.Cea608CCWidget$CCLineBox.setVisibility:(I)V
         7: .line 1445
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 2 /* i */
            bipush 15
            if_icmplt 2
        end local 2 // int i
         9: .line 1453
            return
        end local 1 // android.text.SpannableStringBuilder[] textBuffer
        end local 0 // android.media.Cea608CCWidget$CCLayout this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Landroid/media/Cea608CCWidget$CCLayout;
            0   10     1  textBuffer  [Landroid/text/SpannableStringBuilder;
            1    9     2           i  I
    MethodParameters:
            Name  Flags
      textBuffer  

  protected void onMeasure(int, int);
    descriptor: (II)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=9, args_size=3
        start local 0 // android.media.Cea608CCWidget$CCLayout this
        start local 1 // int widthMeasureSpec
        start local 2 // int heightMeasureSpec
         0: .line 1457
            aload 0 /* this */
            iload 1 /* widthMeasureSpec */
            iload 2 /* heightMeasureSpec */
            invokespecial android.widget.LinearLayout.onMeasure:(II)V
         1: .line 1459
            aload 0 /* this */
            invokevirtual android.media.Cea608CCWidget$CCLayout.getMeasuredWidth:()I
            istore 3 /* safeWidth */
        start local 3 // int safeWidth
         2: .line 1460
            aload 0 /* this */
            invokevirtual android.media.Cea608CCWidget$CCLayout.getMeasuredHeight:()I
            istore 4 /* safeHeight */
        start local 4 // int safeHeight
         3: .line 1463
            iload 3 /* safeWidth */
            iconst_3
            imul
            iload 4 /* safeHeight */
            iconst_4
            imul
            if_icmplt 6
         4: .line 1464
            iload 4 /* safeHeight */
            iconst_4
            imul
            iconst_3
            idiv
            istore 3 /* safeWidth */
         5: .line 1465
            goto 7
         6: .line 1466
      StackMap locals: int int
      StackMap stack:
            iload 3 /* safeWidth */
            iconst_3
            imul
            iconst_4
            idiv
            istore 4 /* safeHeight */
         7: .line 1468
      StackMap locals:
      StackMap stack:
            iload 3 /* safeWidth */
            i2f
            ldc 0.9
            fmul
            f2i
            istore 3 /* safeWidth */
         8: .line 1469
            iload 4 /* safeHeight */
            i2f
            ldc 0.9
            fmul
            f2i
            istore 4 /* safeHeight */
         9: .line 1471
            iload 4 /* safeHeight */
            bipush 15
            idiv
            istore 5 /* lineHeight */
        start local 5 // int lineHeight
        10: .line 1473
            iload 5 /* lineHeight */
            ldc 1073741824
        11: .line 1472
            invokestatic android.view.View$MeasureSpec.makeMeasureSpec:(II)I
            istore 6 /* lineHeightMeasureSpec */
        start local 6 // int lineHeightMeasureSpec
        12: .line 1475
            iload 3 /* safeWidth */
            ldc 1073741824
        13: .line 1474
            invokestatic android.view.View$MeasureSpec.makeMeasureSpec:(II)I
            istore 7 /* lineWidthMeasureSpec */
        start local 7 // int lineWidthMeasureSpec
        14: .line 1477
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        15: goto 18
        16: .line 1478
      StackMap locals: android.media.Cea608CCWidget$CCLayout int int int int int int int int
      StackMap stack:
            aload 0 /* this */
            getfield android.media.Cea608CCWidget$CCLayout.mLineBoxes:[Landroid/media/Cea608CCWidget$CCLineBox;
            iload 8 /* i */
            aaload
            iload 7 /* lineWidthMeasureSpec */
            iload 6 /* lineHeightMeasureSpec */
            invokevirtual android.media.Cea608CCWidget$CCLineBox.measure:(II)V
        17: .line 1477
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 8 /* i */
            bipush 15
            if_icmplt 16
        end local 8 // int i
        19: .line 1480
            return
        end local 7 // int lineWidthMeasureSpec
        end local 6 // int lineHeightMeasureSpec
        end local 5 // int lineHeight
        end local 4 // int safeHeight
        end local 3 // int safeWidth
        end local 2 // int heightMeasureSpec
        end local 1 // int widthMeasureSpec
        end local 0 // android.media.Cea608CCWidget$CCLayout this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   20     0                   this  Landroid/media/Cea608CCWidget$CCLayout;
            0   20     1       widthMeasureSpec  I
            0   20     2      heightMeasureSpec  I
            2   20     3              safeWidth  I
            3   20     4             safeHeight  I
           10   20     5             lineHeight  I
           12   20     6  lineHeightMeasureSpec  I
           14   20     7   lineWidthMeasureSpec  I
           15   19     8                      i  I
    MethodParameters:
                   Name  Flags
      widthMeasureSpec   
      heightMeasureSpec  

  protected void onLayout(boolean, int, int, int, int);
    descriptor: (ZIIII)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=13, args_size=6
        start local 0 // android.media.Cea608CCWidget$CCLayout this
        start local 1 // boolean changed
        start local 2 // int l
        start local 3 // int t
        start local 4 // int r
        start local 5 // int b
         0: .line 1485
            iload 4 /* r */
            iload 2 /* l */
            isub
            istore 6 /* viewPortWidth */
        start local 6 // int viewPortWidth
         1: .line 1486
            iload 5 /* b */
            iload 3 /* t */
            isub
            istore 7 /* viewPortHeight */
        start local 7 // int viewPortHeight
         2: .line 1489
            iload 6 /* viewPortWidth */
            iconst_3
            imul
            iload 7 /* viewPortHeight */
            iconst_4
            imul
            if_icmplt 6
         3: .line 1490
            iload 7 /* viewPortHeight */
            iconst_4
            imul
            iconst_3
            idiv
            istore 8 /* safeWidth */
        start local 8 // int safeWidth
         4: .line 1491
            iload 7 /* viewPortHeight */
            istore 9 /* safeHeight */
        start local 9 // int safeHeight
         5: .line 1492
            goto 8
        end local 9 // int safeHeight
        end local 8 // int safeWidth
         6: .line 1493
      StackMap locals: int int
      StackMap stack:
            iload 6 /* viewPortWidth */
            istore 8 /* safeWidth */
        start local 8 // int safeWidth
         7: .line 1494
            iload 6 /* viewPortWidth */
            iconst_3
            imul
            iconst_4
            idiv
            istore 9 /* safeHeight */
        start local 9 // int safeHeight
         8: .line 1496
      StackMap locals: int int
      StackMap stack:
            iload 8 /* safeWidth */
            i2f
            ldc 0.9
            fmul
            f2i
            istore 8 /* safeWidth */
         9: .line 1497
            iload 9 /* safeHeight */
            i2f
            ldc 0.9
            fmul
            f2i
            istore 9 /* safeHeight */
        10: .line 1498
            iload 6 /* viewPortWidth */
            iload 8 /* safeWidth */
            isub
            iconst_2
            idiv
            istore 10 /* left */
        start local 10 // int left
        11: .line 1499
            iload 7 /* viewPortHeight */
            iload 9 /* safeHeight */
            isub
            iconst_2
            idiv
            istore 11 /* top */
        start local 11 // int top
        12: .line 1501
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        13: goto 21
        14: .line 1502
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            getfield android.media.Cea608CCWidget$CCLayout.mLineBoxes:[Landroid/media/Cea608CCWidget$CCLineBox;
            iload 12 /* i */
            aaload
        15: .line 1503
            iload 10 /* left */
        16: .line 1504
            iload 11 /* top */
            iload 9 /* safeHeight */
            iload 12 /* i */
            imul
            bipush 15
            idiv
            iadd
        17: .line 1505
            iload 10 /* left */
            iload 8 /* safeWidth */
            iadd
        18: .line 1506
            iload 11 /* top */
            iload 9 /* safeHeight */
            iload 12 /* i */
            iconst_1
            iadd
            imul
            bipush 15
            idiv
            iadd
        19: .line 1502
            invokevirtual android.media.Cea608CCWidget$CCLineBox.layout:(IIII)V
        20: .line 1501
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 12 /* i */
            bipush 15
            if_icmplt 14
        end local 12 // int i
        22: .line 1508
            return
        end local 11 // int top
        end local 10 // int left
        end local 9 // int safeHeight
        end local 8 // int safeWidth
        end local 7 // int viewPortHeight
        end local 6 // int viewPortWidth
        end local 5 // int b
        end local 4 // int r
        end local 3 // int t
        end local 2 // int l
        end local 1 // boolean changed
        end local 0 // android.media.Cea608CCWidget$CCLayout this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   23     0            this  Landroid/media/Cea608CCWidget$CCLayout;
            0   23     1         changed  Z
            0   23     2               l  I
            0   23     3               t  I
            0   23     4               r  I
            0   23     5               b  I
            1   23     6   viewPortWidth  I
            2   23     7  viewPortHeight  I
            4    6     8       safeWidth  I
            7   23     8       safeWidth  I
            5    6     9      safeHeight  I
            8   23     9      safeHeight  I
           11   23    10            left  I
           12   23    11             top  I
           13   22    12               i  I
    MethodParameters:
         Name  Flags
      changed  
      l        
      t        
      r        
      b        
}
SourceFile: "ClosedCaptionRenderer.java"
NestHost: android.media.Cea608CCWidget
InnerClasses:
  private CCLayout = android.media.Cea608CCWidget$CCLayout of android.media.Cea608CCWidget
  private CCLineBox = android.media.Cea608CCWidget$CCLineBox of android.media.Cea608CCWidget
  abstract ClosedCaptionLayout = android.media.ClosedCaptionWidget$ClosedCaptionLayout of android.media.ClosedCaptionWidget
  public MeasureSpec = android.view.View$MeasureSpec of android.view.View
  public final CaptionStyle = android.view.accessibility.CaptioningManager$CaptionStyle of android.view.accessibility.CaptioningManager
  public final BufferType = android.widget.TextView$BufferType of android.widget.TextView