public class android.text.DynamicLayout extends android.text.Layout
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.text.DynamicLayout
  super_class: android.text.Layout
{
  private static final int PRIORITY;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 128

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

  private java.lang.CharSequence mBase;
    descriptor: Ljava/lang/CharSequence;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.CharSequence mDisplay;
    descriptor: Ljava/lang/CharSequence;
    flags: (0x0002) ACC_PRIVATE

  private android.text.DynamicLayout$ChangeWatcher mWatcher;
    descriptor: Landroid/text/DynamicLayout$ChangeWatcher;
    flags: (0x0002) ACC_PRIVATE

  private boolean mIncludePad;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean mFallbackLineSpacing;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean mEllipsize;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

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

  private android.text.TextUtils$TruncateAt mEllipsizeAt;
    descriptor: Landroid/text/TextUtils$TruncateAt;
    flags: (0x0002) ACC_PRIVATE

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

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

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

  private android.text.PackedIntVector mInts;
    descriptor: Landroid/text/PackedIntVector;
    flags: (0x0002) ACC_PRIVATE

  private android.text.PackedObjectVector<android.text.Layout$Directions> mObjects;
    descriptor: Landroid/text/PackedObjectVector;
    flags: (0x0002) ACC_PRIVATE
    Signature: Landroid/text/PackedObjectVector<Landroid/text/Layout$Directions;>;

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

  private int[] mBlockEndLines;
    descriptor: [I
    flags: (0x0002) ACC_PRIVATE

  private int[] mBlockIndices;
    descriptor: [I
    flags: (0x0002) ACC_PRIVATE

  private android.util.ArraySet<java.lang.Integer> mBlocksAlwaysNeedToBeRedrawn;
    descriptor: Landroid/util/ArraySet;
    flags: (0x0002) ACC_PRIVATE
    Signature: Landroid/util/ArraySet<Ljava/lang/Integer;>;

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

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

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

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

  private android.graphics.Rect mTempRect;
    descriptor: Landroid/graphics/Rect;
    flags: (0x0002) ACC_PRIVATE

  private static android.text.StaticLayout sStaticLayout;
    descriptor: Landroid/text/StaticLayout;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static android.text.StaticLayout$Builder sBuilder;
    descriptor: Landroid/text/StaticLayout$Builder;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static final java.lang.Object[] sLock;
    descriptor: [Ljava/lang/Object;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 1172
            aconst_null
            putstatic android.text.DynamicLayout.sStaticLayout:Landroid/text/StaticLayout;
         1: .line 1173
            aconst_null
            putstatic android.text.DynamicLayout.sBuilder:Landroid/text/StaticLayout$Builder;
         2: .line 1175
            iconst_0
            anewarray java.lang.Object
            putstatic android.text.DynamicLayout.sLock:[Ljava/lang/Object;
         3: .line 1199
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(java.lang.CharSequence, android.text.TextPaint, int, android.text.Layout$Alignment, float, float, boolean);
    descriptor: (Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=8, args_size=8
        start local 0 // android.text.DynamicLayout this
        start local 1 // java.lang.CharSequence base
        start local 2 // android.text.TextPaint paint
        start local 3 // int width
        start local 4 // android.text.Layout$Alignment align
        start local 5 // float spacingmult
        start local 6 // float spacingadd
        start local 7 // boolean includepad
         0: .line 313
            aload 0 /* this */
            aload 1 /* base */
            aload 1 /* base */
            aload 2 /* paint */
            iload 3 /* width */
            aload 4 /* align */
            fload 5 /* spacingmult */
            fload 6 /* spacingadd */
         1: .line 314
            iload 7 /* includepad */
            invokespecial android.text.DynamicLayout.<init>:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFZ)V
         2: .line 315
            return
        end local 7 // boolean includepad
        end local 6 // float spacingadd
        end local 5 // float spacingmult
        end local 4 // android.text.Layout$Alignment align
        end local 3 // int width
        end local 2 // android.text.TextPaint paint
        end local 1 // java.lang.CharSequence base
        end local 0 // android.text.DynamicLayout this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Landroid/text/DynamicLayout;
            0    3     1         base  Ljava/lang/CharSequence;
            0    3     2        paint  Landroid/text/TextPaint;
            0    3     3        width  I
            0    3     4        align  Landroid/text/Layout$Alignment;
            0    3     5  spacingmult  F
            0    3     6   spacingadd  F
            0    3     7   includepad  Z
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
             Name  Flags
      base         
      paint        
      width        
      align        
      spacingmult  
      spacingadd   
      includepad   

  public void <init>(java.lang.CharSequence, java.lang.CharSequence, android.text.TextPaint, int, android.text.Layout$Alignment, float, float, boolean);
    descriptor: (Ljava/lang/CharSequence;Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=11, locals=9, args_size=9
        start local 0 // android.text.DynamicLayout this
        start local 1 // java.lang.CharSequence base
        start local 2 // java.lang.CharSequence display
        start local 3 // android.text.TextPaint paint
        start local 4 // int width
        start local 5 // android.text.Layout$Alignment align
        start local 6 // float spacingmult
        start local 7 // float spacingadd
        start local 8 // boolean includepad
         0: .line 326
            aload 0 /* this */
            aload 1 /* base */
            aload 2 /* display */
            aload 3 /* paint */
            iload 4 /* width */
            aload 5 /* align */
            fload 6 /* spacingmult */
            fload 7 /* spacingadd */
         1: .line 327
            iload 8 /* includepad */
            aconst_null
            iconst_0
            invokespecial android.text.DynamicLayout.<init>:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFZLandroid/text/TextUtils$TruncateAt;I)V
         2: .line 328
            return
        end local 8 // boolean includepad
        end local 7 // float spacingadd
        end local 6 // float spacingmult
        end local 5 // android.text.Layout$Alignment align
        end local 4 // int width
        end local 3 // android.text.TextPaint paint
        end local 2 // java.lang.CharSequence display
        end local 1 // java.lang.CharSequence base
        end local 0 // android.text.DynamicLayout this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Landroid/text/DynamicLayout;
            0    3     1         base  Ljava/lang/CharSequence;
            0    3     2      display  Ljava/lang/CharSequence;
            0    3     3        paint  Landroid/text/TextPaint;
            0    3     4        width  I
            0    3     5        align  Landroid/text/Layout$Alignment;
            0    3     6  spacingmult  F
            0    3     7   spacingadd  F
            0    3     8   includepad  Z
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
             Name  Flags
      base         
      display      
      paint        
      width        
      align        
      spacingmult  
      spacingadd   
      includepad   

  public void <init>(java.lang.CharSequence, java.lang.CharSequence, android.text.TextPaint, int, android.text.Layout$Alignment, float, float, boolean, android.text.TextUtils$TruncateAt, int);
    descriptor: (Ljava/lang/CharSequence;Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFZLandroid/text/TextUtils$TruncateAt;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=15, locals=11, args_size=11
        start local 0 // android.text.DynamicLayout this
        start local 1 // java.lang.CharSequence base
        start local 2 // java.lang.CharSequence display
        start local 3 // android.text.TextPaint paint
        start local 4 // int width
        start local 5 // android.text.Layout$Alignment align
        start local 6 // float spacingmult
        start local 7 // float spacingadd
        start local 8 // boolean includepad
        start local 9 // android.text.TextUtils$TruncateAt ellipsize
        start local 10 // int ellipsizedWidth
         0: .line 341
            aload 0 /* this */
            aload 1 /* base */
            aload 2 /* display */
            aload 3 /* paint */
            iload 4 /* width */
            aload 5 /* align */
            getstatic android.text.TextDirectionHeuristics.FIRSTSTRONG_LTR:Landroid/text/TextDirectionHeuristic;
         1: .line 342
            fload 6 /* spacingmult */
            fload 7 /* spacingadd */
            iload 8 /* includepad */
         2: .line 343
            iconst_0
            iconst_0
         3: .line 344
            iconst_0
            aload 9 /* ellipsize */
            iload 10 /* ellipsizedWidth */
            invokespecial android.text.DynamicLayout.<init>:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;Landroid/text/TextDirectionHeuristic;FFZIIILandroid/text/TextUtils$TruncateAt;I)V
         4: .line 345
            return
        end local 10 // int ellipsizedWidth
        end local 9 // android.text.TextUtils$TruncateAt ellipsize
        end local 8 // boolean includepad
        end local 7 // float spacingadd
        end local 6 // float spacingmult
        end local 5 // android.text.Layout$Alignment align
        end local 4 // int width
        end local 3 // android.text.TextPaint paint
        end local 2 // java.lang.CharSequence display
        end local 1 // java.lang.CharSequence base
        end local 0 // android.text.DynamicLayout this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    5     0             this  Landroid/text/DynamicLayout;
            0    5     1             base  Ljava/lang/CharSequence;
            0    5     2          display  Ljava/lang/CharSequence;
            0    5     3            paint  Landroid/text/TextPaint;
            0    5     4            width  I
            0    5     5            align  Landroid/text/Layout$Alignment;
            0    5     6      spacingmult  F
            0    5     7       spacingadd  F
            0    5     8       includepad  Z
            0    5     9        ellipsize  Landroid/text/TextUtils$TruncateAt;
            0    5    10  ellipsizedWidth  I
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
                 Name  Flags
      base             
      display          
      paint            
      width            
      align            
      spacingmult      
      spacingadd       
      includepad       
      ellipsize        
      ellipsizedWidth  

  public void <init>(java.lang.CharSequence, java.lang.CharSequence, android.text.TextPaint, int, android.text.Layout$Alignment, android.text.TextDirectionHeuristic, float, float, boolean, int, int, int, android.text.TextUtils$TruncateAt, int);
    descriptor: (Ljava/lang/CharSequence;Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;Landroid/text/TextDirectionHeuristic;FFZIIILandroid/text/TextUtils$TruncateAt;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=16, args_size=15
        start local 0 // android.text.DynamicLayout this
        start local 1 // java.lang.CharSequence base
        start local 2 // java.lang.CharSequence display
        start local 3 // android.text.TextPaint paint
        start local 4 // int width
        start local 5 // android.text.Layout$Alignment align
        start local 6 // android.text.TextDirectionHeuristic textDir
        start local 7 // float spacingmult
        start local 8 // float spacingadd
        start local 9 // boolean includepad
        start local 10 // int breakStrategy
        start local 11 // int hyphenationFrequency
        start local 12 // int justificationMode
        start local 13 // android.text.TextUtils$TruncateAt ellipsize
        start local 14 // int ellipsizedWidth
         0: .line 366
            aload 0 /* this */
            aload 13 /* ellipsize */
            aload 2 /* display */
            invokestatic android.text.DynamicLayout.createEllipsizer:(Landroid/text/TextUtils$TruncateAt;Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
         1: .line 367
            aload 3 /* paint */
            iload 4 /* width */
            aload 5 /* align */
            aload 6 /* textDir */
            fload 7 /* spacingmult */
            fload 8 /* spacingadd */
            invokespecial android.text.Layout.<init>:(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;Landroid/text/TextDirectionHeuristic;FF)V
         2: .line 1170
            aload 0 /* this */
            new android.graphics.Rect
            dup
            invokespecial android.graphics.Rect.<init>:()V
            putfield android.text.DynamicLayout.mTempRect:Landroid/graphics/Rect;
         3: .line 369
            aload 1 /* base */
            aload 3 /* paint */
            iload 4 /* width */
            invokestatic android.text.DynamicLayout$Builder.obtain:(Ljava/lang/CharSequence;Landroid/text/TextPaint;I)Landroid/text/DynamicLayout$Builder;
         4: .line 370
            aload 5 /* align */
            invokevirtual android.text.DynamicLayout$Builder.setAlignment:(Landroid/text/Layout$Alignment;)Landroid/text/DynamicLayout$Builder;
         5: .line 371
            aload 6 /* textDir */
            invokevirtual android.text.DynamicLayout$Builder.setTextDirection:(Landroid/text/TextDirectionHeuristic;)Landroid/text/DynamicLayout$Builder;
         6: .line 372
            fload 8 /* spacingadd */
            fload 7 /* spacingmult */
            invokevirtual android.text.DynamicLayout$Builder.setLineSpacing:(FF)Landroid/text/DynamicLayout$Builder;
         7: .line 373
            iload 14 /* ellipsizedWidth */
            invokevirtual android.text.DynamicLayout$Builder.setEllipsizedWidth:(I)Landroid/text/DynamicLayout$Builder;
         8: .line 374
            aload 13 /* ellipsize */
            invokevirtual android.text.DynamicLayout$Builder.setEllipsize:(Landroid/text/TextUtils$TruncateAt;)Landroid/text/DynamicLayout$Builder;
         9: .line 369
            astore 15 /* b */
        start local 15 // android.text.DynamicLayout$Builder b
        10: .line 375
            aload 0 /* this */
            aload 2 /* display */
            putfield android.text.DynamicLayout.mDisplay:Ljava/lang/CharSequence;
        11: .line 376
            aload 0 /* this */
            iload 9 /* includepad */
            putfield android.text.DynamicLayout.mIncludePad:Z
        12: .line 377
            aload 0 /* this */
            iload 10 /* breakStrategy */
            putfield android.text.DynamicLayout.mBreakStrategy:I
        13: .line 378
            aload 0 /* this */
            iload 12 /* justificationMode */
            putfield android.text.DynamicLayout.mJustificationMode:I
        14: .line 379
            aload 0 /* this */
            iload 11 /* hyphenationFrequency */
            putfield android.text.DynamicLayout.mHyphenationFrequency:I
        15: .line 381
            aload 0 /* this */
            aload 15 /* b */
            invokevirtual android.text.DynamicLayout.generate:(Landroid/text/DynamicLayout$Builder;)V
        16: .line 383
            aload 15 /* b */
            invokestatic android.text.DynamicLayout$Builder.recycle:(Landroid/text/DynamicLayout$Builder;)V
        17: .line 384
            return
        end local 15 // android.text.DynamicLayout$Builder b
        end local 14 // int ellipsizedWidth
        end local 13 // android.text.TextUtils$TruncateAt ellipsize
        end local 12 // int justificationMode
        end local 11 // int hyphenationFrequency
        end local 10 // int breakStrategy
        end local 9 // boolean includepad
        end local 8 // float spacingadd
        end local 7 // float spacingmult
        end local 6 // android.text.TextDirectionHeuristic textDir
        end local 5 // android.text.Layout$Alignment align
        end local 4 // int width
        end local 3 // android.text.TextPaint paint
        end local 2 // java.lang.CharSequence display
        end local 1 // java.lang.CharSequence base
        end local 0 // android.text.DynamicLayout this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   18     0                  this  Landroid/text/DynamicLayout;
            0   18     1                  base  Ljava/lang/CharSequence;
            0   18     2               display  Ljava/lang/CharSequence;
            0   18     3                 paint  Landroid/text/TextPaint;
            0   18     4                 width  I
            0   18     5                 align  Landroid/text/Layout$Alignment;
            0   18     6               textDir  Landroid/text/TextDirectionHeuristic;
            0   18     7           spacingmult  F
            0   18     8            spacingadd  F
            0   18     9            includepad  Z
            0   18    10         breakStrategy  I
            0   18    11  hyphenationFrequency  I
            0   18    12     justificationMode  I
            0   18    13             ellipsize  Landroid/text/TextUtils$TruncateAt;
            0   18    14       ellipsizedWidth  I
           10   18    15                     b  Landroid/text/DynamicLayout$Builder;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
                      Name  Flags
      base                  
      display               
      paint                 
      width                 
      align                 
      textDir               
      spacingmult           
      spacingadd            
      includepad            
      breakStrategy         
      hyphenationFrequency  
      justificationMode     
      ellipsize             
      ellipsizedWidth       

  private void <init>(android.text.DynamicLayout$Builder);
    descriptor: (Landroid/text/DynamicLayout$Builder;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=2, args_size=2
        start local 0 // android.text.DynamicLayout this
        start local 1 // android.text.DynamicLayout$Builder b
         0: .line 387
            aload 0 /* this */
            aload 1 /* b */
            getfield android.text.DynamicLayout$Builder.mEllipsize:Landroid/text/TextUtils$TruncateAt;
            aload 1 /* b */
            getfield android.text.DynamicLayout$Builder.mDisplay:Ljava/lang/CharSequence;
            invokestatic android.text.DynamicLayout.createEllipsizer:(Landroid/text/TextUtils$TruncateAt;Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
         1: .line 388
            aload 1 /* b */
            getfield android.text.DynamicLayout$Builder.mPaint:Landroid/text/TextPaint;
            aload 1 /* b */
            getfield android.text.DynamicLayout$Builder.mWidth:I
            aload 1 /* b */
            getfield android.text.DynamicLayout$Builder.mAlignment:Landroid/text/Layout$Alignment;
            aload 1 /* b */
            getfield android.text.DynamicLayout$Builder.mTextDir:Landroid/text/TextDirectionHeuristic;
            aload 1 /* b */
            getfield android.text.DynamicLayout$Builder.mSpacingMult:F
            aload 1 /* b */
            getfield android.text.DynamicLayout$Builder.mSpacingAdd:F
            invokespecial android.text.Layout.<init>:(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;Landroid/text/TextDirectionHeuristic;FF)V
         2: .line 1170
            aload 0 /* this */
            new android.graphics.Rect
            dup
            invokespecial android.graphics.Rect.<init>:()V
            putfield android.text.DynamicLayout.mTempRect:Landroid/graphics/Rect;
         3: .line 390
            aload 0 /* this */
            aload 1 /* b */
            getfield android.text.DynamicLayout$Builder.mDisplay:Ljava/lang/CharSequence;
            putfield android.text.DynamicLayout.mDisplay:Ljava/lang/CharSequence;
         4: .line 391
            aload 0 /* this */
            aload 1 /* b */
            getfield android.text.DynamicLayout$Builder.mIncludePad:Z
            putfield android.text.DynamicLayout.mIncludePad:Z
         5: .line 392
            aload 0 /* this */
            aload 1 /* b */
            getfield android.text.DynamicLayout$Builder.mBreakStrategy:I
            putfield android.text.DynamicLayout.mBreakStrategy:I
         6: .line 393
            aload 0 /* this */
            aload 1 /* b */
            getfield android.text.DynamicLayout$Builder.mJustificationMode:I
            putfield android.text.DynamicLayout.mJustificationMode:I
         7: .line 394
            aload 0 /* this */
            aload 1 /* b */
            getfield android.text.DynamicLayout$Builder.mHyphenationFrequency:I
            putfield android.text.DynamicLayout.mHyphenationFrequency:I
         8: .line 396
            aload 0 /* this */
            aload 1 /* b */
            invokevirtual android.text.DynamicLayout.generate:(Landroid/text/DynamicLayout$Builder;)V
         9: .line 397
            return
        end local 1 // android.text.DynamicLayout$Builder b
        end local 0 // android.text.DynamicLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Landroid/text/DynamicLayout;
            0   10     1     b  Landroid/text/DynamicLayout$Builder;
    MethodParameters:
      Name  Flags
      b     

  private static java.lang.CharSequence createEllipsizer(android.text.TextUtils$TruncateAt, java.lang.CharSequence);
    descriptor: (Landroid/text/TextUtils$TruncateAt;Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.text.TextUtils$TruncateAt ellipsize
        start local 1 // java.lang.CharSequence display
         0: .line 402
            aload 0 /* ellipsize */
            ifnonnull 2
         1: .line 403
            aload 1 /* display */
            areturn
         2: .line 404
      StackMap locals:
      StackMap stack:
            aload 1 /* display */
            instanceof android.text.Spanned
            ifeq 4
         3: .line 405
            new android.text.Layout$SpannedEllipsizer
            dup
            aload 1 /* display */
            invokespecial android.text.Layout$SpannedEllipsizer.<init>:(Ljava/lang/CharSequence;)V
            areturn
         4: .line 407
      StackMap locals:
      StackMap stack:
            new android.text.Layout$Ellipsizer
            dup
            aload 1 /* display */
            invokespecial android.text.Layout$Ellipsizer.<init>:(Ljava/lang/CharSequence;)V
            areturn
        end local 1 // java.lang.CharSequence display
        end local 0 // android.text.TextUtils$TruncateAt ellipsize
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0  ellipsize  Landroid/text/TextUtils$TruncateAt;
            0    5     1    display  Ljava/lang/CharSequence;
    MethodParameters:
           Name  Flags
      ellipsize  
      display    

  private void generate(android.text.DynamicLayout$Builder);
    descriptor: (Landroid/text/DynamicLayout$Builder;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=11, args_size=2
        start local 0 // android.text.DynamicLayout this
        start local 1 // android.text.DynamicLayout$Builder b
         0: .line 412
            aload 0 /* this */
            aload 1 /* b */
            getfield android.text.DynamicLayout$Builder.mBase:Ljava/lang/CharSequence;
            putfield android.text.DynamicLayout.mBase:Ljava/lang/CharSequence;
         1: .line 413
            aload 0 /* this */
            aload 1 /* b */
            getfield android.text.DynamicLayout$Builder.mFallbackLineSpacing:Z
            putfield android.text.DynamicLayout.mFallbackLineSpacing:Z
         2: .line 414
            aload 1 /* b */
            getfield android.text.DynamicLayout$Builder.mEllipsize:Landroid/text/TextUtils$TruncateAt;
            ifnull 12
         3: .line 415
            aload 0 /* this */
            new android.text.PackedIntVector
            dup
            bipush 7
            invokespecial android.text.PackedIntVector.<init>:(I)V
            putfield android.text.DynamicLayout.mInts:Landroid/text/PackedIntVector;
         4: .line 416
            aload 0 /* this */
            aload 1 /* b */
            getfield android.text.DynamicLayout$Builder.mEllipsizedWidth:I
            putfield android.text.DynamicLayout.mEllipsizedWidth:I
         5: .line 417
            aload 0 /* this */
            aload 1 /* b */
            getfield android.text.DynamicLayout$Builder.mEllipsize:Landroid/text/TextUtils$TruncateAt;
            putfield android.text.DynamicLayout.mEllipsizeAt:Landroid/text/TextUtils$TruncateAt;
         6: .line 433
            aload 0 /* this */
            invokevirtual android.text.DynamicLayout.getText:()Ljava/lang/CharSequence;
            checkcast android.text.Layout$Ellipsizer
            astore 2 /* e */
        start local 2 // android.text.Layout$Ellipsizer e
         7: .line 434
            aload 2 /* e */
            aload 0 /* this */
            putfield android.text.Layout$Ellipsizer.mLayout:Landroid/text/Layout;
         8: .line 435
            aload 2 /* e */
            aload 1 /* b */
            getfield android.text.DynamicLayout$Builder.mEllipsizedWidth:I
            putfield android.text.Layout$Ellipsizer.mWidth:I
         9: .line 436
            aload 2 /* e */
            aload 1 /* b */
            getfield android.text.DynamicLayout$Builder.mEllipsize:Landroid/text/TextUtils$TruncateAt;
            putfield android.text.Layout$Ellipsizer.mMethod:Landroid/text/TextUtils$TruncateAt;
        10: .line 437
            aload 0 /* this */
            iconst_1
            putfield android.text.DynamicLayout.mEllipsize:Z
        end local 2 // android.text.Layout$Ellipsizer e
        11: .line 438
            goto 15
        12: .line 439
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new android.text.PackedIntVector
            dup
            iconst_5
            invokespecial android.text.PackedIntVector.<init>:(I)V
            putfield android.text.DynamicLayout.mInts:Landroid/text/PackedIntVector;
        13: .line 440
            aload 0 /* this */
            aload 1 /* b */
            getfield android.text.DynamicLayout$Builder.mWidth:I
            putfield android.text.DynamicLayout.mEllipsizedWidth:I
        14: .line 441
            aload 0 /* this */
            aconst_null
            putfield android.text.DynamicLayout.mEllipsizeAt:Landroid/text/TextUtils$TruncateAt;
        15: .line 444
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new android.text.PackedObjectVector
            dup
            iconst_1
            invokespecial android.text.PackedObjectVector.<init>:(I)V
            putfield android.text.DynamicLayout.mObjects:Landroid/text/PackedObjectVector;
        16: .line 451
            aload 1 /* b */
            getfield android.text.DynamicLayout$Builder.mEllipsize:Landroid/text/TextUtils$TruncateAt;
            ifnull 20
        17: .line 452
            bipush 7
            newarray 10
            astore 2 /* start */
        start local 2 // int[] start
        18: .line 453
            aload 2 /* start */
            iconst_5
            ldc -2147483648
            iastore
        19: .line 454
            goto 21
        end local 2 // int[] start
        20: .line 455
      StackMap locals:
      StackMap stack:
            iconst_5
            newarray 10
            astore 2 /* start */
        start local 2 // int[] start
        21: .line 458
      StackMap locals: int[]
      StackMap stack:
            iconst_1
            anewarray android.text.Layout$Directions
            dup
            iconst_0
            getstatic android.text.DynamicLayout.DIRS_ALL_LEFT_TO_RIGHT:Landroid/text/Layout$Directions;
            aastore
            astore 3 /* dirs */
        start local 3 // android.text.Layout$Directions[] dirs
        22: .line 460
            aload 1 /* b */
            getfield android.text.DynamicLayout$Builder.mFontMetricsInt:Landroid/graphics/Paint$FontMetricsInt;
            astore 4 /* fm */
        start local 4 // android.graphics.Paint$FontMetricsInt fm
        23: .line 461
            aload 1 /* b */
            getfield android.text.DynamicLayout$Builder.mPaint:Landroid/text/TextPaint;
            aload 4 /* fm */
            invokevirtual android.text.TextPaint.getFontMetricsInt:(Landroid/graphics/Paint$FontMetricsInt;)I
            pop
        24: .line 462
            aload 4 /* fm */
            getfield android.graphics.Paint$FontMetricsInt.ascent:I
            istore 5 /* asc */
        start local 5 // int asc
        25: .line 463
            aload 4 /* fm */
            getfield android.graphics.Paint$FontMetricsInt.descent:I
            istore 6 /* desc */
        start local 6 // int desc
        26: .line 465
            aload 2 /* start */
            iconst_0
            ldc 1073741824
            iastore
        27: .line 466
            aload 2 /* start */
            iconst_1
            iconst_0
            iastore
        28: .line 467
            aload 2 /* start */
            iconst_2
            iload 6 /* desc */
            iastore
        29: .line 468
            aload 0 /* this */
            getfield android.text.DynamicLayout.mInts:Landroid/text/PackedIntVector;
            iconst_0
            aload 2 /* start */
            invokevirtual android.text.PackedIntVector.insertAt:(I[I)V
        30: .line 470
            aload 2 /* start */
            iconst_1
            iload 6 /* desc */
            iload 5 /* asc */
            isub
            iastore
        31: .line 471
            aload 0 /* this */
            getfield android.text.DynamicLayout.mInts:Landroid/text/PackedIntVector;
            iconst_1
            aload 2 /* start */
            invokevirtual android.text.PackedIntVector.insertAt:(I[I)V
        32: .line 473
            aload 0 /* this */
            getfield android.text.DynamicLayout.mObjects:Landroid/text/PackedObjectVector;
            iconst_0
            aload 3 /* dirs */
            invokevirtual android.text.PackedObjectVector.insertAt:(I[Ljava/lang/Object;)V
        33: .line 475
            aload 0 /* this */
            getfield android.text.DynamicLayout.mBase:Ljava/lang/CharSequence;
            invokeinterface java.lang.CharSequence.length:()I
            istore 7 /* baseLength */
        start local 7 // int baseLength
        34: .line 477
            aload 0 /* this */
            aload 0 /* this */
            getfield android.text.DynamicLayout.mBase:Ljava/lang/CharSequence;
            iconst_0
            iconst_0
            iload 7 /* baseLength */
            invokevirtual android.text.DynamicLayout.reflow:(Ljava/lang/CharSequence;III)V
        35: .line 479
            aload 0 /* this */
            getfield android.text.DynamicLayout.mBase:Ljava/lang/CharSequence;
            instanceof android.text.Spannable
            ifeq 48
        36: .line 480
            aload 0 /* this */
            getfield android.text.DynamicLayout.mWatcher:Landroid/text/DynamicLayout$ChangeWatcher;
            ifnonnull 38
        37: .line 481
            aload 0 /* this */
            new android.text.DynamicLayout$ChangeWatcher
            dup
            aload 0 /* this */
            invokespecial android.text.DynamicLayout$ChangeWatcher.<init>:(Landroid/text/DynamicLayout;)V
            putfield android.text.DynamicLayout.mWatcher:Landroid/text/DynamicLayout$ChangeWatcher;
        38: .line 484
      StackMap locals: android.text.DynamicLayout android.text.DynamicLayout$Builder int[] android.text.Layout$Directions[] android.graphics.Paint$FontMetricsInt int int int
      StackMap stack:
            aload 0 /* this */
            getfield android.text.DynamicLayout.mBase:Ljava/lang/CharSequence;
            checkcast android.text.Spannable
            astore 8 /* sp */
        start local 8 // android.text.Spannable sp
        39: .line 485
            aload 8 /* sp */
            iconst_0
            iload 7 /* baseLength */
            ldc Landroid/text/DynamicLayout$ChangeWatcher;
            invokeinterface android.text.Spannable.getSpans:(IILjava/lang/Class;)[Ljava/lang/Object;
            checkcast android.text.DynamicLayout$ChangeWatcher[]
            astore 9 /* spans */
        start local 9 // android.text.DynamicLayout$ChangeWatcher[] spans
        40: .line 486
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        41: goto 44
        42: .line 487
      StackMap locals: android.text.Spannable android.text.DynamicLayout$ChangeWatcher[] int
      StackMap stack:
            aload 8 /* sp */
            aload 9 /* spans */
            iload 10 /* i */
            aaload
            invokeinterface android.text.Spannable.removeSpan:(Ljava/lang/Object;)V
        43: .line 486
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        44: iload 10 /* i */
            aload 9 /* spans */
            arraylength
            if_icmplt 42
        end local 10 // int i
        45: .line 490
            aload 8 /* sp */
            aload 0 /* this */
            getfield android.text.DynamicLayout.mWatcher:Landroid/text/DynamicLayout$ChangeWatcher;
            iconst_0
            iload 7 /* baseLength */
        46: .line 491
            ldc 8388626
        47: .line 490
            invokeinterface android.text.Spannable.setSpan:(Ljava/lang/Object;III)V
        end local 9 // android.text.DynamicLayout$ChangeWatcher[] spans
        end local 8 // android.text.Spannable sp
        48: .line 494
      StackMap locals:
      StackMap stack:
            return
        end local 7 // int baseLength
        end local 6 // int desc
        end local 5 // int asc
        end local 4 // android.graphics.Paint$FontMetricsInt fm
        end local 3 // android.text.Layout$Directions[] dirs
        end local 2 // int[] start
        end local 1 // android.text.DynamicLayout$Builder b
        end local 0 // android.text.DynamicLayout this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   49     0        this  Landroid/text/DynamicLayout;
            0   49     1           b  Landroid/text/DynamicLayout$Builder;
            7   11     2           e  Landroid/text/Layout$Ellipsizer;
           18   20     2       start  [I
           21   49     2       start  [I
           22   49     3        dirs  [Landroid/text/Layout$Directions;
           23   49     4          fm  Landroid/graphics/Paint$FontMetricsInt;
           25   49     5         asc  I
           26   49     6        desc  I
           34   49     7  baseLength  I
           39   48     8          sp  Landroid/text/Spannable;
           40   48     9       spans  [Landroid/text/DynamicLayout$ChangeWatcher;
           41   45    10           i  I
    MethodParameters:
      Name  Flags
      b     

  public void reflow(java.lang.CharSequence, int, int, int);
    descriptor: (Ljava/lang/CharSequence;III)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=28, args_size=5
        start local 0 // android.text.DynamicLayout this
        start local 1 // java.lang.CharSequence s
        start local 2 // int where
        start local 3 // int before
        start local 4 // int after
         0: .line 499
            aload 1 /* s */
            aload 0 /* this */
            getfield android.text.DynamicLayout.mBase:Ljava/lang/CharSequence;
            if_acmpeq 2
         1: .line 500
            return
         2: .line 502
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.text.DynamicLayout.mDisplay:Ljava/lang/CharSequence;
            astore 5 /* text */
        start local 5 // java.lang.CharSequence text
         3: .line 503
            aload 5 /* text */
            invokeinterface java.lang.CharSequence.length:()I
            istore 6 /* len */
        start local 6 // int len
         4: .line 507
            aload 5 /* text */
            bipush 10
            iload 2 /* where */
            iconst_1
            isub
            invokestatic android.text.TextUtils.lastIndexOf:(Ljava/lang/CharSequence;CI)I
            istore 7 /* find */
        start local 7 // int find
         5: .line 508
            iload 7 /* find */
            ifge 7
         6: .line 509
            iconst_0
            istore 7 /* find */
            goto 8
         7: .line 511
      StackMap locals: java.lang.CharSequence int int
      StackMap stack:
            iinc 7 /* find */ 1
         8: .line 514
      StackMap locals:
      StackMap stack:
            iload 2 /* where */
            iload 7 /* find */
            isub
            istore 8 /* diff */
        start local 8 // int diff
         9: .line 515
            iload 3 /* before */
            iload 8 /* diff */
            iadd
            istore 3 /* before */
        10: .line 516
            iload 4 /* after */
            iload 8 /* diff */
            iadd
            istore 4 /* after */
        11: .line 517
            iload 2 /* where */
            iload 8 /* diff */
            isub
            istore 2 /* where */
        end local 8 // int diff
        12: .line 522
            aload 5 /* text */
            bipush 10
            iload 2 /* where */
            iload 4 /* after */
            iadd
            invokestatic android.text.TextUtils.indexOf:(Ljava/lang/CharSequence;CI)I
            istore 8 /* look */
        start local 8 // int look
        13: .line 523
            iload 8 /* look */
            ifge 15
        14: .line 524
            iload 6 /* len */
            istore 8 /* look */
            goto 16
        15: .line 526
      StackMap locals: int
      StackMap stack:
            iinc 8 /* look */ 1
        16: .line 528
      StackMap locals:
      StackMap stack:
            iload 8 /* look */
            iload 2 /* where */
            iload 4 /* after */
            iadd
            isub
            istore 9 /* change */
        start local 9 // int change
        17: .line 529
            iload 3 /* before */
            iload 9 /* change */
            iadd
            istore 3 /* before */
        18: .line 530
            iload 4 /* after */
            iload 9 /* change */
            iadd
            istore 4 /* after */
        19: .line 534
            aload 5 /* text */
            instanceof android.text.Spanned
            ifeq 43
        20: .line 535
            aload 5 /* text */
            checkcast android.text.Spanned
            astore 10 /* sp */
        start local 10 // android.text.Spanned sp
        21: .line 539
      StackMap locals: int android.text.Spanned
      StackMap stack:
            iconst_0
            istore 11 /* again */
        start local 11 // boolean again
        22: .line 541
            aload 10 /* sp */
            iload 2 /* where */
            iload 2 /* where */
            iload 4 /* after */
            iadd
        23: .line 542
            ldc Landroid/text/style/WrapTogetherSpan;
        24: .line 541
            invokeinterface android.text.Spanned.getSpans:(IILjava/lang/Class;)[Ljava/lang/Object;
            astore 12 /* force */
        start local 12 // java.lang.Object[] force
        25: .line 544
            iconst_0
            istore 13 /* i */
        start local 13 // int i
        26: goto 41
        27: .line 545
      StackMap locals: int java.lang.Object[] int
      StackMap stack:
            aload 10 /* sp */
            aload 12 /* force */
            iload 13 /* i */
            aaload
            invokeinterface android.text.Spanned.getSpanStart:(Ljava/lang/Object;)I
            istore 14 /* st */
        start local 14 // int st
        28: .line 546
            aload 10 /* sp */
            aload 12 /* force */
            iload 13 /* i */
            aaload
            invokeinterface android.text.Spanned.getSpanEnd:(Ljava/lang/Object;)I
            istore 15 /* en */
        start local 15 // int en
        29: .line 548
            iload 14 /* st */
            iload 2 /* where */
            if_icmpge 35
        30: .line 549
            iconst_1
            istore 11 /* again */
        31: .line 551
            iload 2 /* where */
            iload 14 /* st */
            isub
            istore 16 /* diff */
        start local 16 // int diff
        32: .line 552
            iload 3 /* before */
            iload 16 /* diff */
            iadd
            istore 3 /* before */
        33: .line 553
            iload 4 /* after */
            iload 16 /* diff */
            iadd
            istore 4 /* after */
        34: .line 554
            iload 2 /* where */
            iload 16 /* diff */
            isub
            istore 2 /* where */
        end local 16 // int diff
        35: .line 557
      StackMap locals: int int
      StackMap stack:
            iload 15 /* en */
            iload 2 /* where */
            iload 4 /* after */
            iadd
            if_icmple 40
        36: .line 558
            iconst_1
            istore 11 /* again */
        37: .line 560
            iload 15 /* en */
            iload 2 /* where */
            iload 4 /* after */
            iadd
            isub
            istore 16 /* diff */
        start local 16 // int diff
        38: .line 561
            iload 3 /* before */
            iload 16 /* diff */
            iadd
            istore 3 /* before */
        39: .line 562
            iload 4 /* after */
            iload 16 /* diff */
            iadd
            istore 4 /* after */
        end local 16 // int diff
        end local 15 // int en
        end local 14 // int st
        40: .line 544
      StackMap locals:
      StackMap stack:
            iinc 13 /* i */ 1
      StackMap locals:
      StackMap stack:
        41: iload 13 /* i */
            aload 12 /* force */
            arraylength
            if_icmplt 27
        end local 13 // int i
        end local 12 // java.lang.Object[] force
        42: .line 565
            iload 11 /* again */
            ifne 21
        end local 11 // boolean again
        end local 10 // android.text.Spanned sp
        43: .line 570
      StackMap locals: android.text.DynamicLayout java.lang.CharSequence int int int java.lang.CharSequence int int int int
      StackMap stack:
            aload 0 /* this */
            iload 2 /* where */
            invokevirtual android.text.DynamicLayout.getLineForOffset:(I)I
            istore 10 /* startline */
        start local 10 // int startline
        44: .line 571
            aload 0 /* this */
            iload 10 /* startline */
            invokevirtual android.text.DynamicLayout.getLineTop:(I)I
            istore 11 /* startv */
        start local 11 // int startv
        45: .line 573
            aload 0 /* this */
            iload 2 /* where */
            iload 3 /* before */
            iadd
            invokevirtual android.text.DynamicLayout.getLineForOffset:(I)I
            istore 12 /* endline */
        start local 12 // int endline
        46: .line 574
            iload 2 /* where */
            iload 4 /* after */
            iadd
            iload 6 /* len */
            if_icmpne 48
        47: .line 575
            aload 0 /* this */
            invokevirtual android.text.DynamicLayout.getLineCount:()I
            istore 12 /* endline */
        48: .line 576
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            iload 12 /* endline */
            invokevirtual android.text.DynamicLayout.getLineTop:(I)I
            istore 13 /* endv */
        start local 13 // int endv
        49: .line 577
            iload 12 /* endline */
            aload 0 /* this */
            invokevirtual android.text.DynamicLayout.getLineCount:()I
            if_icmpne 50
            iconst_1
            goto 51
      StackMap locals: int
      StackMap stack:
        50: iconst_0
      StackMap locals:
      StackMap stack: int
        51: istore 14 /* islast */
        start local 14 // boolean islast
        52: .line 584
            getstatic android.text.DynamicLayout.sLock:[Ljava/lang/Object;
            dup
            astore 17
            monitorenter
        53: .line 585
            getstatic android.text.DynamicLayout.sStaticLayout:Landroid/text/StaticLayout;
            astore 15 /* reflowed */
        start local 15 // android.text.StaticLayout reflowed
        54: .line 586
            getstatic android.text.DynamicLayout.sBuilder:Landroid/text/StaticLayout$Builder;
            astore 16 /* b */
        start local 16 // android.text.StaticLayout$Builder b
        55: .line 587
            aconst_null
            putstatic android.text.DynamicLayout.sStaticLayout:Landroid/text/StaticLayout;
        56: .line 588
            aconst_null
            putstatic android.text.DynamicLayout.sBuilder:Landroid/text/StaticLayout$Builder;
        57: .line 584
            aload 17
            monitorexit
        58: goto 61
        end local 16 // android.text.StaticLayout$Builder b
        end local 15 // android.text.StaticLayout reflowed
      StackMap locals: android.text.DynamicLayout java.lang.CharSequence int int int java.lang.CharSequence int int int int int int int int int top top java.lang.Object[]
      StackMap stack: java.lang.Throwable
        59: aload 17
            monitorexit
        60: athrow
        start local 15 // android.text.StaticLayout reflowed
        start local 16 // android.text.StaticLayout$Builder b
        61: .line 591
      StackMap locals: android.text.DynamicLayout java.lang.CharSequence int int int java.lang.CharSequence int int int int int int int int int android.text.StaticLayout android.text.StaticLayout$Builder
      StackMap stack:
            aload 15 /* reflowed */
            ifnonnull 64
        62: .line 592
            new android.text.StaticLayout
            dup
            aconst_null
            invokespecial android.text.StaticLayout.<init>:(Ljava/lang/CharSequence;)V
            astore 15 /* reflowed */
        63: .line 593
            aload 5 /* text */
            iload 2 /* where */
            iload 2 /* where */
            iload 4 /* after */
            iadd
            aload 0 /* this */
            invokevirtual android.text.DynamicLayout.getPaint:()Landroid/text/TextPaint;
            aload 0 /* this */
            invokevirtual android.text.DynamicLayout.getWidth:()I
            invokestatic android.text.StaticLayout$Builder.obtain:(Ljava/lang/CharSequence;IILandroid/text/TextPaint;I)Landroid/text/StaticLayout$Builder;
            astore 16 /* b */
        64: .line 596
      StackMap locals:
      StackMap stack:
            aload 16 /* b */
            aload 5 /* text */
            iload 2 /* where */
            iload 2 /* where */
            iload 4 /* after */
            iadd
            invokevirtual android.text.StaticLayout$Builder.setText:(Ljava/lang/CharSequence;II)Landroid/text/StaticLayout$Builder;
        65: .line 597
            aload 0 /* this */
            invokevirtual android.text.DynamicLayout.getPaint:()Landroid/text/TextPaint;
            invokevirtual android.text.StaticLayout$Builder.setPaint:(Landroid/text/TextPaint;)Landroid/text/StaticLayout$Builder;
        66: .line 598
            aload 0 /* this */
            invokevirtual android.text.DynamicLayout.getWidth:()I
            invokevirtual android.text.StaticLayout$Builder.setWidth:(I)Landroid/text/StaticLayout$Builder;
        67: .line 599
            aload 0 /* this */
            invokevirtual android.text.DynamicLayout.getTextDirectionHeuristic:()Landroid/text/TextDirectionHeuristic;
            invokevirtual android.text.StaticLayout$Builder.setTextDirection:(Landroid/text/TextDirectionHeuristic;)Landroid/text/StaticLayout$Builder;
        68: .line 600
            aload 0 /* this */
            invokevirtual android.text.DynamicLayout.getSpacingAdd:()F
            aload 0 /* this */
            invokevirtual android.text.DynamicLayout.getSpacingMultiplier:()F
            invokevirtual android.text.StaticLayout$Builder.setLineSpacing:(FF)Landroid/text/StaticLayout$Builder;
        69: .line 601
            aload 0 /* this */
            getfield android.text.DynamicLayout.mFallbackLineSpacing:Z
            invokevirtual android.text.StaticLayout$Builder.setUseLineSpacingFromFallbacks:(Z)Landroid/text/StaticLayout$Builder;
        70: .line 602
            aload 0 /* this */
            getfield android.text.DynamicLayout.mEllipsizedWidth:I
            invokevirtual android.text.StaticLayout$Builder.setEllipsizedWidth:(I)Landroid/text/StaticLayout$Builder;
        71: .line 603
            aload 0 /* this */
            getfield android.text.DynamicLayout.mEllipsizeAt:Landroid/text/TextUtils$TruncateAt;
            invokevirtual android.text.StaticLayout$Builder.setEllipsize:(Landroid/text/TextUtils$TruncateAt;)Landroid/text/StaticLayout$Builder;
        72: .line 604
            aload 0 /* this */
            getfield android.text.DynamicLayout.mBreakStrategy:I
            invokevirtual android.text.StaticLayout$Builder.setBreakStrategy:(I)Landroid/text/StaticLayout$Builder;
        73: .line 605
            aload 0 /* this */
            getfield android.text.DynamicLayout.mHyphenationFrequency:I
            invokevirtual android.text.StaticLayout$Builder.setHyphenationFrequency:(I)Landroid/text/StaticLayout$Builder;
        74: .line 606
            aload 0 /* this */
            getfield android.text.DynamicLayout.mJustificationMode:I
            invokevirtual android.text.StaticLayout$Builder.setJustificationMode:(I)Landroid/text/StaticLayout$Builder;
        75: .line 607
            iload 14 /* islast */
            ifeq 76
            iconst_0
            goto 77
      StackMap locals:
      StackMap stack: android.text.StaticLayout$Builder
        76: iconst_1
      StackMap locals: android.text.DynamicLayout java.lang.CharSequence int int int java.lang.CharSequence int int int int int int int int int android.text.StaticLayout android.text.StaticLayout$Builder
      StackMap stack: android.text.StaticLayout$Builder int
        77: invokevirtual android.text.StaticLayout$Builder.setAddLastLineLineSpacing:(Z)Landroid/text/StaticLayout$Builder;
            pop
        78: .line 609
            aload 15 /* reflowed */
            aload 16 /* b */
            iconst_0
            iconst_1
            invokevirtual android.text.StaticLayout.generate:(Landroid/text/StaticLayout$Builder;ZZ)V
        79: .line 610
            aload 15 /* reflowed */
            invokevirtual android.text.StaticLayout.getLineCount:()I
            istore 17 /* n */
        start local 17 // int n
        80: .line 615
            iload 2 /* where */
            iload 4 /* after */
            iadd
            iload 6 /* len */
            if_icmpeq 82
            aload 15 /* reflowed */
            iload 17 /* n */
            iconst_1
            isub
            invokevirtual android.text.StaticLayout.getLineStart:(I)I
            iload 2 /* where */
            iload 4 /* after */
            iadd
            if_icmpne 82
        81: .line 616
            iinc 17 /* n */ -1
        82: .line 619
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.text.DynamicLayout.mInts:Landroid/text/PackedIntVector;
            iload 10 /* startline */
            iload 12 /* endline */
            iload 10 /* startline */
            isub
            invokevirtual android.text.PackedIntVector.deleteAt:(II)V
        83: .line 620
            aload 0 /* this */
            getfield android.text.DynamicLayout.mObjects:Landroid/text/PackedObjectVector;
            iload 10 /* startline */
            iload 12 /* endline */
            iload 10 /* startline */
            isub
            invokevirtual android.text.PackedObjectVector.deleteAt:(II)V
        84: .line 624
            aload 15 /* reflowed */
            iload 17 /* n */
            invokevirtual android.text.StaticLayout.getLineTop:(I)I
            istore 18 /* ht */
        start local 18 // int ht
        85: .line 625
            iconst_0
            istore 19 /* toppad */
        start local 19 // int toppad
        86: iconst_0
            istore 20 /* botpad */
        start local 20 // int botpad
        87: .line 627
            aload 0 /* this */
            getfield android.text.DynamicLayout.mIncludePad:Z
            ifeq 91
            iload 10 /* startline */
            ifne 91
        88: .line 628
            aload 15 /* reflowed */
            invokevirtual android.text.StaticLayout.getTopPadding:()I
            istore 19 /* toppad */
        89: .line 629
            aload 0 /* this */
            iload 19 /* toppad */
            putfield android.text.DynamicLayout.mTopPadding:I
        90: .line 630
            iload 18 /* ht */
            iload 19 /* toppad */
            isub
            istore 18 /* ht */
        91: .line 632
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            getfield android.text.DynamicLayout.mIncludePad:Z
            ifeq 95
            iload 14 /* islast */
            ifeq 95
        92: .line 633
            aload 15 /* reflowed */
            invokevirtual android.text.StaticLayout.getBottomPadding:()I
            istore 20 /* botpad */
        93: .line 634
            aload 0 /* this */
            iload 20 /* botpad */
            putfield android.text.DynamicLayout.mBottomPadding:I
        94: .line 635
            iload 18 /* ht */
            iload 20 /* botpad */
            iadd
            istore 18 /* ht */
        95: .line 638
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.text.DynamicLayout.mInts:Landroid/text/PackedIntVector;
            iload 10 /* startline */
            iconst_0
            iload 4 /* after */
            iload 3 /* before */
            isub
            invokevirtual android.text.PackedIntVector.adjustValuesBelow:(III)V
        96: .line 639
            aload 0 /* this */
            getfield android.text.DynamicLayout.mInts:Landroid/text/PackedIntVector;
            iload 10 /* startline */
            iconst_1
            iload 11 /* startv */
            iload 13 /* endv */
            isub
            iload 18 /* ht */
            iadd
            invokevirtual android.text.PackedIntVector.adjustValuesBelow:(III)V
        97: .line 645
            aload 0 /* this */
            getfield android.text.DynamicLayout.mEllipsize:Z
            ifeq 101
        98: .line 646
            bipush 7
            newarray 10
            astore 21 /* ints */
        start local 21 // int[] ints
        99: .line 647
            aload 21 /* ints */
            iconst_5
            ldc -2147483648
            iastore
       100: .line 648
            goto 102
        end local 21 // int[] ints
       101: .line 649
      StackMap locals:
      StackMap stack:
            iconst_5
            newarray 10
            astore 21 /* ints */
        start local 21 // int[] ints
       102: .line 652
      StackMap locals: int[]
      StackMap stack:
            iconst_1
            anewarray android.text.Layout$Directions
            astore 22 /* objects */
        start local 22 // android.text.Layout$Directions[] objects
       103: .line 654
            iconst_0
            istore 23 /* i */
        start local 23 // int i
       104: goto 136
       105: .line 655
      StackMap locals: android.text.Layout$Directions[] int
      StackMap stack:
            aload 15 /* reflowed */
            iload 23 /* i */
            invokevirtual android.text.StaticLayout.getLineStart:(I)I
            istore 24 /* start */
        start local 24 // int start
       106: .line 656
            aload 21 /* ints */
            iconst_0
            iload 24 /* start */
            iastore
       107: .line 657
            aload 21 /* ints */
            iconst_0
            dup2
            iaload
            aload 15 /* reflowed */
            iload 23 /* i */
            invokevirtual android.text.StaticLayout.getParagraphDirection:(I)I
            bipush 30
            ishl
            ior
            iastore
       108: .line 658
            aload 21 /* ints */
            iconst_0
            dup2
            iaload
            aload 15 /* reflowed */
            iload 23 /* i */
            invokevirtual android.text.StaticLayout.getLineContainsTab:(I)Z
            ifeq 109
            ldc 536870912
            goto 110
      StackMap locals: android.text.DynamicLayout java.lang.CharSequence int int int java.lang.CharSequence int int int int int int int int int android.text.StaticLayout android.text.StaticLayout$Builder int int int int int[] android.text.Layout$Directions[] int int
      StackMap stack: int[] int int
       109: iconst_0
      StackMap locals: android.text.DynamicLayout java.lang.CharSequence int int int java.lang.CharSequence int int int int int int int int int android.text.StaticLayout android.text.StaticLayout$Builder int int int int int[] android.text.Layout$Directions[] int int
      StackMap stack: int[] int int int
       110: ior
            iastore
       111: .line 660
            aload 15 /* reflowed */
            iload 23 /* i */
            invokevirtual android.text.StaticLayout.getLineTop:(I)I
            iload 11 /* startv */
            iadd
            istore 25 /* top */
        start local 25 // int top
       112: .line 661
            iload 23 /* i */
            ifle 114
       113: .line 662
            iload 25 /* top */
            iload 19 /* toppad */
            isub
            istore 25 /* top */
       114: .line 663
      StackMap locals: int
      StackMap stack:
            aload 21 /* ints */
            iconst_1
            iload 25 /* top */
            iastore
       115: .line 665
            aload 15 /* reflowed */
            iload 23 /* i */
            invokevirtual android.text.StaticLayout.getLineDescent:(I)I
            istore 26 /* desc */
        start local 26 // int desc
       116: .line 666
            iload 23 /* i */
            iload 17 /* n */
            iconst_1
            isub
            if_icmpne 118
       117: .line 667
            iload 26 /* desc */
            iload 20 /* botpad */
            iadd
            istore 26 /* desc */
       118: .line 669
      StackMap locals: int
      StackMap stack:
            aload 21 /* ints */
            iconst_2
            iload 26 /* desc */
            iastore
       119: .line 670
            aload 21 /* ints */
            iconst_3
            aload 15 /* reflowed */
            iload 23 /* i */
            invokevirtual android.text.StaticLayout.getLineExtra:(I)I
            iastore
       120: .line 671
            aload 22 /* objects */
            iconst_0
            aload 15 /* reflowed */
            iload 23 /* i */
            invokevirtual android.text.StaticLayout.getLineDirections:(I)Landroid/text/Layout$Directions;
            aastore
       121: .line 673
            iload 23 /* i */
            iload 17 /* n */
            iconst_1
            isub
            if_icmpne 122
            iload 2 /* where */
            iload 4 /* after */
            iadd
            goto 123
      StackMap locals:
      StackMap stack:
       122: aload 15 /* reflowed */
            iload 23 /* i */
            iconst_1
            iadd
            invokevirtual android.text.StaticLayout.getLineStart:(I)I
      StackMap locals:
      StackMap stack: int
       123: istore 27 /* end */
        start local 27 // int end
       124: .line 674
            aload 21 /* ints */
            iconst_4
            aload 15 /* reflowed */
            iload 23 /* i */
            invokevirtual android.text.StaticLayout.getHyphen:(I)I
            sipush 255
            iand
            iastore
       125: .line 675
            aload 21 /* ints */
            iconst_4
            dup2
            iaload
       126: .line 676
            aload 0 /* this */
            aload 5 /* text */
            iload 24 /* start */
            iload 27 /* end */
            invokevirtual android.text.DynamicLayout.contentMayProtrudeFromLineTopOrBottom:(Ljava/lang/CharSequence;II)Z
            ifeq 128
       127: .line 677
            sipush 256
            goto 129
      StackMap locals: android.text.DynamicLayout java.lang.CharSequence int int int java.lang.CharSequence int int int int int int int int int android.text.StaticLayout android.text.StaticLayout$Builder int int int int int[] android.text.Layout$Directions[] int int int int int
      StackMap stack: int[] int int
       128: iconst_0
       129: .line 675
      StackMap locals: android.text.DynamicLayout java.lang.CharSequence int int int java.lang.CharSequence int int int int int int int int int android.text.StaticLayout android.text.StaticLayout$Builder int int int int int[] android.text.Layout$Directions[] int int int int int
      StackMap stack: int[] int int int
            ior
            iastore
       130: .line 679
            aload 0 /* this */
            getfield android.text.DynamicLayout.mEllipsize:Z
            ifeq 133
       131: .line 680
            aload 21 /* ints */
            iconst_5
            aload 15 /* reflowed */
            iload 23 /* i */
            invokevirtual android.text.StaticLayout.getEllipsisStart:(I)I
            iastore
       132: .line 681
            aload 21 /* ints */
            bipush 6
            aload 15 /* reflowed */
            iload 23 /* i */
            invokevirtual android.text.StaticLayout.getEllipsisCount:(I)I
            iastore
       133: .line 684
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.text.DynamicLayout.mInts:Landroid/text/PackedIntVector;
            iload 10 /* startline */
            iload 23 /* i */
            iadd
            aload 21 /* ints */
            invokevirtual android.text.PackedIntVector.insertAt:(I[I)V
       134: .line 685
            aload 0 /* this */
            getfield android.text.DynamicLayout.mObjects:Landroid/text/PackedObjectVector;
            iload 10 /* startline */
            iload 23 /* i */
            iadd
            aload 22 /* objects */
            invokevirtual android.text.PackedObjectVector.insertAt:(I[Ljava/lang/Object;)V
        end local 27 // int end
        end local 26 // int desc
        end local 25 // int top
        end local 24 // int start
       135: .line 654
            iinc 23 /* i */ 1
      StackMap locals: android.text.DynamicLayout java.lang.CharSequence int int int java.lang.CharSequence int int int int int int int int int android.text.StaticLayout android.text.StaticLayout$Builder int int int int int[] android.text.Layout$Directions[] int
      StackMap stack:
       136: iload 23 /* i */
            iload 17 /* n */
            if_icmplt 105
        end local 23 // int i
       137: .line 688
            aload 0 /* this */
            iload 10 /* startline */
            iload 12 /* endline */
            iconst_1
            isub
            iload 17 /* n */
            invokevirtual android.text.DynamicLayout.updateBlocks:(III)V
       138: .line 690
            aload 16 /* b */
            invokevirtual android.text.StaticLayout$Builder.finish:()V
       139: .line 691
            getstatic android.text.DynamicLayout.sLock:[Ljava/lang/Object;
            dup
            astore 23
            monitorenter
       140: .line 692
            aload 15 /* reflowed */
            putstatic android.text.DynamicLayout.sStaticLayout:Landroid/text/StaticLayout;
       141: .line 693
            aload 16 /* b */
            putstatic android.text.DynamicLayout.sBuilder:Landroid/text/StaticLayout$Builder;
       142: .line 691
            aload 23
            monitorexit
       143: goto 146
      StackMap locals: android.text.DynamicLayout java.lang.CharSequence int int int java.lang.CharSequence int int int int int int int int int android.text.StaticLayout android.text.StaticLayout$Builder int int int int int[] android.text.Layout$Directions[] java.lang.Object[]
      StackMap stack: java.lang.Throwable
       144: aload 23
            monitorexit
       145: athrow
       146: .line 695
      StackMap locals:
      StackMap stack:
            return
        end local 22 // android.text.Layout$Directions[] objects
        end local 21 // int[] ints
        end local 20 // int botpad
        end local 19 // int toppad
        end local 18 // int ht
        end local 17 // int n
        end local 16 // android.text.StaticLayout$Builder b
        end local 15 // android.text.StaticLayout reflowed
        end local 14 // boolean islast
        end local 13 // int endv
        end local 12 // int endline
        end local 11 // int startv
        end local 10 // int startline
        end local 9 // int change
        end local 8 // int look
        end local 7 // int find
        end local 6 // int len
        end local 5 // java.lang.CharSequence text
        end local 4 // int after
        end local 3 // int before
        end local 2 // int where
        end local 1 // java.lang.CharSequence s
        end local 0 // android.text.DynamicLayout this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0  147     0       this  Landroid/text/DynamicLayout;
            0  147     1          s  Ljava/lang/CharSequence;
            0  147     2      where  I
            0  147     3     before  I
            0  147     4      after  I
            3  147     5       text  Ljava/lang/CharSequence;
            4  147     6        len  I
            5  147     7       find  I
            9   12     8       diff  I
           13  147     8       look  I
           17  147     9     change  I
           21   43    10         sp  Landroid/text/Spanned;
           22   43    11      again  Z
           25   42    12      force  [Ljava/lang/Object;
           26   42    13          i  I
           28   40    14         st  I
           29   40    15         en  I
           32   35    16       diff  I
           38   40    16       diff  I
           44  147    10  startline  I
           45  147    11     startv  I
           46  147    12    endline  I
           49  147    13       endv  I
           52  147    14     islast  Z
           54   59    15   reflowed  Landroid/text/StaticLayout;
           61  147    15   reflowed  Landroid/text/StaticLayout;
           55   59    16          b  Landroid/text/StaticLayout$Builder;
           61  147    16          b  Landroid/text/StaticLayout$Builder;
           80  147    17          n  I
           85  147    18         ht  I
           86  147    19     toppad  I
           87  147    20     botpad  I
           99  101    21       ints  [I
          102  147    21       ints  [I
          103  147    22    objects  [Landroid/text/Layout$Directions;
          104  137    23          i  I
          106  135    24      start  I
          112  135    25        top  I
          116  135    26       desc  I
          124  135    27        end  I
      Exception table:
        from    to  target  type
          53    58      59  any
          59    60      59  any
         140   143     144  any
         144   145     144  any
    RuntimeInvisibleAnnotations: 
      com.android.internal.annotations.VisibleForTesting(visibility = com.android.internal.annotations.VisibleForTesting$Visibility.PACKAGE:Lcom/android/internal/annotations/VisibleForTesting$Visibility;)
    MethodParameters:
        Name  Flags
      s       
      where   
      before  
      after   

  private boolean contentMayProtrudeFromLineTopOrBottom(java.lang.CharSequence, int, int);
    descriptor: (Ljava/lang/CharSequence;II)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // android.text.DynamicLayout this
        start local 1 // java.lang.CharSequence text
        start local 2 // int start
        start local 3 // int end
         0: .line 698
            aload 1 /* text */
            instanceof android.text.Spanned
            ifeq 4
         1: .line 699
            aload 1 /* text */
            checkcast android.text.Spanned
            astore 4 /* spanned */
        start local 4 // android.text.Spanned spanned
         2: .line 700
            aload 4 /* spanned */
            iload 2 /* start */
            iload 3 /* end */
            ldc Landroid/text/style/ReplacementSpan;
            invokeinterface android.text.Spanned.getSpans:(IILjava/lang/Class;)[Ljava/lang/Object;
            checkcast android.text.style.ReplacementSpan[]
            arraylength
            ifle 4
         3: .line 701
            iconst_1
            ireturn
        end local 4 // android.text.Spanned spanned
         4: .line 706
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.text.DynamicLayout.getPaint:()Landroid/text/TextPaint;
            astore 4 /* paint */
        start local 4 // android.graphics.Paint paint
         5: .line 707
            aload 1 /* text */
            instanceof android.text.PrecomputedText
            ifeq 9
         6: .line 708
            aload 1 /* text */
            checkcast android.text.PrecomputedText
            astore 5 /* precomputed */
        start local 5 // android.text.PrecomputedText precomputed
         7: .line 709
            aload 5 /* precomputed */
            iload 2 /* start */
            iload 3 /* end */
            aload 0 /* this */
            getfield android.text.DynamicLayout.mTempRect:Landroid/graphics/Rect;
            invokevirtual android.text.PrecomputedText.getBounds:(IILandroid/graphics/Rect;)V
        end local 5 // android.text.PrecomputedText precomputed
         8: .line 710
            goto 10
         9: .line 711
      StackMap locals: android.graphics.Paint
      StackMap stack:
            aload 4 /* paint */
            aload 1 /* text */
            iload 2 /* start */
            iload 3 /* end */
            aload 0 /* this */
            getfield android.text.DynamicLayout.mTempRect:Landroid/graphics/Rect;
            invokevirtual android.graphics.Paint.getTextBounds:(Ljava/lang/CharSequence;IILandroid/graphics/Rect;)V
        10: .line 713
      StackMap locals:
      StackMap stack:
            aload 4 /* paint */
            invokevirtual android.graphics.Paint.getFontMetricsInt:()Landroid/graphics/Paint$FontMetricsInt;
            astore 5 /* fm */
        start local 5 // android.graphics.Paint$FontMetricsInt fm
        11: .line 714
            aload 0 /* this */
            getfield android.text.DynamicLayout.mTempRect:Landroid/graphics/Rect;
            getfield android.graphics.Rect.top:I
            aload 5 /* fm */
            getfield android.graphics.Paint$FontMetricsInt.top:I
            if_icmplt 12
            aload 0 /* this */
            getfield android.text.DynamicLayout.mTempRect:Landroid/graphics/Rect;
            getfield android.graphics.Rect.bottom:I
            aload 5 /* fm */
            getfield android.graphics.Paint$FontMetricsInt.bottom:I
            if_icmpgt 12
            iconst_0
            ireturn
      StackMap locals: android.graphics.Paint$FontMetricsInt
      StackMap stack:
        12: iconst_1
            ireturn
        end local 5 // android.graphics.Paint$FontMetricsInt fm
        end local 4 // android.graphics.Paint paint
        end local 3 // int end
        end local 2 // int start
        end local 1 // java.lang.CharSequence text
        end local 0 // android.text.DynamicLayout this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   13     0         this  Landroid/text/DynamicLayout;
            0   13     1         text  Ljava/lang/CharSequence;
            0   13     2        start  I
            0   13     3          end  I
            2    4     4      spanned  Landroid/text/Spanned;
            5   13     4        paint  Landroid/graphics/Paint;
            7    8     5  precomputed  Landroid/text/PrecomputedText;
           11   13     5           fm  Landroid/graphics/Paint$FontMetricsInt;
    MethodParameters:
       Name  Flags
      text   
      start  
      end    

  private void createBlocks();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // android.text.DynamicLayout this
         0: .line 722
            sipush 400
            istore 1 /* offset */
        start local 1 // int offset
         1: .line 723
            aload 0 /* this */
            iconst_0
            putfield android.text.DynamicLayout.mNumberOfBlocks:I
         2: .line 724
            aload 0 /* this */
            getfield android.text.DynamicLayout.mDisplay:Ljava/lang/CharSequence;
            astore 2 /* text */
        start local 2 // java.lang.CharSequence text
         3: .line 727
      StackMap locals: int java.lang.CharSequence
      StackMap stack:
            aload 2 /* text */
            bipush 10
            iload 1 /* offset */
            invokestatic android.text.TextUtils.indexOf:(Ljava/lang/CharSequence;CI)I
            istore 1 /* offset */
         4: .line 728
            iload 1 /* offset */
            ifge 7
         5: .line 729
            aload 0 /* this */
            aload 2 /* text */
            invokeinterface java.lang.CharSequence.length:()I
            invokevirtual android.text.DynamicLayout.addBlockAtOffset:(I)V
         6: .line 730
            goto 10
         7: .line 732
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* offset */
            invokevirtual android.text.DynamicLayout.addBlockAtOffset:(I)V
         8: .line 733
            iinc 1 /* offset */ 400
         9: .line 726
            goto 3
        10: .line 738
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield android.text.DynamicLayout.mBlockEndLines:[I
            arraylength
            newarray 10
            putfield android.text.DynamicLayout.mBlockIndices:[I
        11: .line 739
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        12: goto 15
        13: .line 740
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.text.DynamicLayout.mBlockIndices:[I
            iload 3 /* i */
            iconst_m1
            iastore
        14: .line 739
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 3 /* i */
            aload 0 /* this */
            getfield android.text.DynamicLayout.mBlockEndLines:[I
            arraylength
            if_icmplt 13
        end local 3 // int i
        16: .line 742
            return
        end local 2 // java.lang.CharSequence text
        end local 1 // int offset
        end local 0 // android.text.DynamicLayout this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   17     0    this  Landroid/text/DynamicLayout;
            1   17     1  offset  I
            3   17     2    text  Ljava/lang/CharSequence;
           12   16     3       i  I

  public android.util.ArraySet<java.lang.Integer> getBlocksAlwaysNeedToBeRedrawn();
    descriptor: ()Landroid/util/ArraySet;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.text.DynamicLayout this
         0: .line 748
            aload 0 /* this */
            getfield android.text.DynamicLayout.mBlocksAlwaysNeedToBeRedrawn:Landroid/util/ArraySet;
            areturn
        end local 0 // android.text.DynamicLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/text/DynamicLayout;
    Signature: ()Landroid/util/ArraySet<Ljava/lang/Integer;>;

  private void updateAlwaysNeedsToBeRedrawn(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // android.text.DynamicLayout this
        start local 1 // int blockIndex
         0: .line 752
            iload 1 /* blockIndex */
            ifne 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield android.text.DynamicLayout.mBlockEndLines:[I
            iload 1 /* blockIndex */
            iconst_1
            isub
            iaload
            iconst_1
            iadd
      StackMap locals:
      StackMap stack: int
         2: istore 2 /* startLine */
        start local 2 // int startLine
         3: .line 753
            aload 0 /* this */
            getfield android.text.DynamicLayout.mBlockEndLines:[I
            iload 1 /* blockIndex */
            iaload
            istore 3 /* endLine */
        start local 3 // int endLine
         4: .line 754
            iload 2 /* startLine */
            istore 4 /* i */
        start local 4 // int i
         5: goto 12
         6: .line 755
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            iload 4 /* i */
            invokevirtual android.text.DynamicLayout.getContentMayProtrudeFromTopOrBottom:(I)Z
            ifeq 11
         7: .line 756
            aload 0 /* this */
            getfield android.text.DynamicLayout.mBlocksAlwaysNeedToBeRedrawn:Landroid/util/ArraySet;
            ifnonnull 9
         8: .line 757
            aload 0 /* this */
            new android.util.ArraySet
            dup
            invokespecial android.util.ArraySet.<init>:()V
            putfield android.text.DynamicLayout.mBlocksAlwaysNeedToBeRedrawn:Landroid/util/ArraySet;
         9: .line 759
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.text.DynamicLayout.mBlocksAlwaysNeedToBeRedrawn:Landroid/util/ArraySet;
            iload 1 /* blockIndex */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual android.util.ArraySet.add:(Ljava/lang/Object;)Z
            pop
        10: .line 760
            return
        11: .line 754
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 4 /* i */
            iload 3 /* endLine */
            if_icmple 6
        end local 4 // int i
        13: .line 763
            aload 0 /* this */
            getfield android.text.DynamicLayout.mBlocksAlwaysNeedToBeRedrawn:Landroid/util/ArraySet;
            ifnull 15
        14: .line 764
            aload 0 /* this */
            getfield android.text.DynamicLayout.mBlocksAlwaysNeedToBeRedrawn:Landroid/util/ArraySet;
            iload 1 /* blockIndex */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual android.util.ArraySet.remove:(Ljava/lang/Object;)Z
            pop
        15: .line 766
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int endLine
        end local 2 // int startLine
        end local 1 // int blockIndex
        end local 0 // android.text.DynamicLayout this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   16     0        this  Landroid/text/DynamicLayout;
            0   16     1  blockIndex  I
            3   16     2   startLine  I
            4   16     3     endLine  I
            5   13     4           i  I
    MethodParameters:
            Name  Flags
      blockIndex  

  private void addBlockAtOffset(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // android.text.DynamicLayout this
        start local 1 // int offset
         0: .line 774
            aload 0 /* this */
            iload 1 /* offset */
            invokevirtual android.text.DynamicLayout.getLineForOffset:(I)I
            istore 2 /* line */
        start local 2 // int line
         1: .line 775
            aload 0 /* this */
            getfield android.text.DynamicLayout.mBlockEndLines:[I
            ifnonnull 7
         2: .line 777
            aload 0 /* this */
            iconst_1
            invokestatic com.android.internal.util.ArrayUtils.newUnpaddedIntArray:(I)[I
            putfield android.text.DynamicLayout.mBlockEndLines:[I
         3: .line 778
            aload 0 /* this */
            getfield android.text.DynamicLayout.mBlockEndLines:[I
            aload 0 /* this */
            getfield android.text.DynamicLayout.mNumberOfBlocks:I
            iload 2 /* line */
            iastore
         4: .line 779
            aload 0 /* this */
            aload 0 /* this */
            getfield android.text.DynamicLayout.mNumberOfBlocks:I
            invokevirtual android.text.DynamicLayout.updateAlwaysNeedsToBeRedrawn:(I)V
         5: .line 780
            aload 0 /* this */
            dup
            getfield android.text.DynamicLayout.mNumberOfBlocks:I
            iconst_1
            iadd
            putfield android.text.DynamicLayout.mNumberOfBlocks:I
         6: .line 781
            return
         7: .line 784
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.text.DynamicLayout.mBlockEndLines:[I
            aload 0 /* this */
            getfield android.text.DynamicLayout.mNumberOfBlocks:I
            iconst_1
            isub
            iaload
            istore 3 /* previousBlockEndLine */
        start local 3 // int previousBlockEndLine
         8: .line 785
            iload 2 /* line */
            iload 3 /* previousBlockEndLine */
            if_icmple 12
         9: .line 786
            aload 0 /* this */
            aload 0 /* this */
            getfield android.text.DynamicLayout.mBlockEndLines:[I
            aload 0 /* this */
            getfield android.text.DynamicLayout.mNumberOfBlocks:I
            iload 2 /* line */
            invokestatic com.android.internal.util.GrowingArrayUtils.append:([III)[I
            putfield android.text.DynamicLayout.mBlockEndLines:[I
        10: .line 787
            aload 0 /* this */
            aload 0 /* this */
            getfield android.text.DynamicLayout.mNumberOfBlocks:I
            invokevirtual android.text.DynamicLayout.updateAlwaysNeedsToBeRedrawn:(I)V
        11: .line 788
            aload 0 /* this */
            dup
            getfield android.text.DynamicLayout.mNumberOfBlocks:I
            iconst_1
            iadd
            putfield android.text.DynamicLayout.mNumberOfBlocks:I
        12: .line 790
      StackMap locals: int
      StackMap stack:
            return
        end local 3 // int previousBlockEndLine
        end local 2 // int line
        end local 1 // int offset
        end local 0 // android.text.DynamicLayout this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   13     0                  this  Landroid/text/DynamicLayout;
            0   13     1                offset  I
            1   13     2                  line  I
            8   13     3  previousBlockEndLine  I
    MethodParameters:
        Name  Flags
      offset  

  public void updateBlocks(int, int, int);
    descriptor: (III)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=17, args_size=4
        start local 0 // android.text.DynamicLayout this
        start local 1 // int startLine
        start local 2 // int endLine
        start local 3 // int newLineCount
         0: .line 811
            aload 0 /* this */
            getfield android.text.DynamicLayout.mBlockEndLines:[I
            ifnonnull 3
         1: .line 812
            aload 0 /* this */
            invokevirtual android.text.DynamicLayout.createBlocks:()V
         2: .line 813
            return
         3: .line 816
      StackMap locals:
      StackMap stack:
            iconst_m1
            istore 4 /* firstBlock */
        start local 4 // int firstBlock
         4: .line 817
            iconst_m1
            istore 5 /* lastBlock */
        start local 5 // int lastBlock
         5: .line 818
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         6: goto 11
         7: .line 819
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            getfield android.text.DynamicLayout.mBlockEndLines:[I
            iload 6 /* i */
            iaload
            iload 1 /* startLine */
            if_icmplt 10
         8: .line 820
            iload 6 /* i */
            istore 4 /* firstBlock */
         9: .line 821
            goto 12
        10: .line 818
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 6 /* i */
            aload 0 /* this */
            getfield android.text.DynamicLayout.mNumberOfBlocks:I
            if_icmplt 7
        end local 6 // int i
        12: .line 824
      StackMap locals:
      StackMap stack:
            iload 4 /* firstBlock */
            istore 6 /* i */
        start local 6 // int i
        13: goto 18
        14: .line 825
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.text.DynamicLayout.mBlockEndLines:[I
            iload 6 /* i */
            iaload
            iload 2 /* endLine */
            if_icmplt 17
        15: .line 826
            iload 6 /* i */
            istore 5 /* lastBlock */
        16: .line 827
            goto 19
        17: .line 824
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 6 /* i */
            aload 0 /* this */
            getfield android.text.DynamicLayout.mNumberOfBlocks:I
            if_icmplt 14
        end local 6 // int i
        19: .line 830
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.text.DynamicLayout.mBlockEndLines:[I
            iload 5 /* lastBlock */
            iaload
            istore 6 /* lastBlockEndLine */
        start local 6 // int lastBlockEndLine
        20: .line 832
            iload 1 /* startLine */
            iload 4 /* firstBlock */
            ifne 21
            iconst_0
            goto 22
        21: .line 833
      StackMap locals: android.text.DynamicLayout int int int int int int
      StackMap stack: int
            aload 0 /* this */
            getfield android.text.DynamicLayout.mBlockEndLines:[I
            iload 4 /* firstBlock */
            iconst_1
            isub
            iaload
            iconst_1
            iadd
        22: .line 832
      StackMap locals: android.text.DynamicLayout int int int int int int
      StackMap stack: int int
            if_icmple 23
            iconst_1
            goto 24
      StackMap locals:
      StackMap stack:
        23: iconst_0
      StackMap locals:
      StackMap stack: int
        24: istore 7 /* createBlockBefore */
        start local 7 // boolean createBlockBefore
        25: .line 834
            iload 3 /* newLineCount */
            ifle 26
            iconst_1
            goto 27
      StackMap locals: int
      StackMap stack:
        26: iconst_0
      StackMap locals:
      StackMap stack: int
        27: istore 8 /* createBlock */
        start local 8 // boolean createBlock
        28: .line 835
            iload 2 /* endLine */
            aload 0 /* this */
            getfield android.text.DynamicLayout.mBlockEndLines:[I
            iload 5 /* lastBlock */
            iaload
            if_icmpge 29
            iconst_1
            goto 30
      StackMap locals: int
      StackMap stack:
        29: iconst_0
      StackMap locals:
      StackMap stack: int
        30: istore 9 /* createBlockAfter */
        start local 9 // boolean createBlockAfter
        31: .line 837
            iconst_0
            istore 10 /* numAddedBlocks */
        start local 10 // int numAddedBlocks
        32: .line 838
            iload 7 /* createBlockBefore */
            ifeq 33
            iinc 10 /* numAddedBlocks */ 1
        33: .line 839
      StackMap locals: int int
      StackMap stack:
            iload 8 /* createBlock */
            ifeq 34
            iinc 10 /* numAddedBlocks */ 1
        34: .line 840
      StackMap locals:
      StackMap stack:
            iload 9 /* createBlockAfter */
            ifeq 35
            iinc 10 /* numAddedBlocks */ 1
        35: .line 842
      StackMap locals:
      StackMap stack:
            iload 5 /* lastBlock */
            iload 4 /* firstBlock */
            isub
            iconst_1
            iadd
            istore 11 /* numRemovedBlocks */
        start local 11 // int numRemovedBlocks
        36: .line 843
            aload 0 /* this */
            getfield android.text.DynamicLayout.mNumberOfBlocks:I
            iload 10 /* numAddedBlocks */
            iadd
            iload 11 /* numRemovedBlocks */
            isub
            istore 12 /* newNumberOfBlocks */
        start local 12 // int newNumberOfBlocks
        37: .line 845
            iload 12 /* newNumberOfBlocks */
            ifne 42
        38: .line 847
            aload 0 /* this */
            getfield android.text.DynamicLayout.mBlockEndLines:[I
            iconst_0
            iconst_0
            iastore
        39: .line 848
            aload 0 /* this */
            getfield android.text.DynamicLayout.mBlockIndices:[I
            iconst_0
            iconst_m1
            iastore
        40: .line 849
            aload 0 /* this */
            iconst_1
            putfield android.text.DynamicLayout.mNumberOfBlocks:I
        41: .line 850
            return
        42: .line 853
      StackMap locals: int int
      StackMap stack:
            iload 12 /* newNumberOfBlocks */
            aload 0 /* this */
            getfield android.text.DynamicLayout.mBlockEndLines:[I
            arraylength
            if_icmple 57
        43: .line 855
            aload 0 /* this */
            getfield android.text.DynamicLayout.mBlockEndLines:[I
            arraylength
            iconst_2
            imul
            iload 12 /* newNumberOfBlocks */
            invokestatic java.lang.Math.max:(II)I
        44: .line 854
            invokestatic com.android.internal.util.ArrayUtils.newUnpaddedIntArray:(I)[I
            astore 13 /* blockEndLines */
        start local 13 // int[] blockEndLines
        45: .line 856
            aload 13 /* blockEndLines */
            arraylength
            newarray 10
            astore 14 /* blockIndices */
        start local 14 // int[] blockIndices
        46: .line 857
            aload 0 /* this */
            getfield android.text.DynamicLayout.mBlockEndLines:[I
            iconst_0
            aload 13 /* blockEndLines */
            iconst_0
            iload 4 /* firstBlock */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        47: .line 858
            aload 0 /* this */
            getfield android.text.DynamicLayout.mBlockIndices:[I
            iconst_0
            aload 14 /* blockIndices */
            iconst_0
            iload 4 /* firstBlock */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        48: .line 859
            aload 0 /* this */
            getfield android.text.DynamicLayout.mBlockEndLines:[I
            iload 5 /* lastBlock */
            iconst_1
            iadd
        49: .line 860
            aload 13 /* blockEndLines */
            iload 4 /* firstBlock */
            iload 10 /* numAddedBlocks */
            iadd
            aload 0 /* this */
            getfield android.text.DynamicLayout.mNumberOfBlocks:I
            iload 5 /* lastBlock */
            isub
            iconst_1
            isub
        50: .line 859
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        51: .line 861
            aload 0 /* this */
            getfield android.text.DynamicLayout.mBlockIndices:[I
            iload 5 /* lastBlock */
            iconst_1
            iadd
        52: .line 862
            aload 14 /* blockIndices */
            iload 4 /* firstBlock */
            iload 10 /* numAddedBlocks */
            iadd
            aload 0 /* this */
            getfield android.text.DynamicLayout.mNumberOfBlocks:I
            iload 5 /* lastBlock */
            isub
            iconst_1
            isub
        53: .line 861
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        54: .line 863
            aload 0 /* this */
            aload 13 /* blockEndLines */
            putfield android.text.DynamicLayout.mBlockEndLines:[I
        55: .line 864
            aload 0 /* this */
            aload 14 /* blockIndices */
            putfield android.text.DynamicLayout.mBlockIndices:[I
        end local 14 // int[] blockIndices
        end local 13 // int[] blockEndLines
        56: .line 865
            goto 64
      StackMap locals:
      StackMap stack:
        57: iload 10 /* numAddedBlocks */
            iload 11 /* numRemovedBlocks */
            iadd
            ifeq 64
        58: .line 866
            aload 0 /* this */
            getfield android.text.DynamicLayout.mBlockEndLines:[I
            iload 5 /* lastBlock */
            iconst_1
            iadd
        59: .line 867
            aload 0 /* this */
            getfield android.text.DynamicLayout.mBlockEndLines:[I
            iload 4 /* firstBlock */
            iload 10 /* numAddedBlocks */
            iadd
            aload 0 /* this */
            getfield android.text.DynamicLayout.mNumberOfBlocks:I
            iload 5 /* lastBlock */
            isub
            iconst_1
            isub
        60: .line 866
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        61: .line 868
            aload 0 /* this */
            getfield android.text.DynamicLayout.mBlockIndices:[I
            iload 5 /* lastBlock */
            iconst_1
            iadd
        62: .line 869
            aload 0 /* this */
            getfield android.text.DynamicLayout.mBlockIndices:[I
            iload 4 /* firstBlock */
            iload 10 /* numAddedBlocks */
            iadd
            aload 0 /* this */
            getfield android.text.DynamicLayout.mNumberOfBlocks:I
            iload 5 /* lastBlock */
            isub
            iconst_1
            isub
        63: .line 868
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        64: .line 872
      StackMap locals:
      StackMap stack:
            iload 10 /* numAddedBlocks */
            iload 11 /* numRemovedBlocks */
            iadd
            ifeq 78
            aload 0 /* this */
            getfield android.text.DynamicLayout.mBlocksAlwaysNeedToBeRedrawn:Landroid/util/ArraySet;
            ifnull 78
        65: .line 873
            new android.util.ArraySet
            dup
            invokespecial android.util.ArraySet.<init>:()V
            astore 13 /* set */
        start local 13 // android.util.ArraySet set
        66: .line 874
            iload 10 /* numAddedBlocks */
            iload 11 /* numRemovedBlocks */
            isub
            istore 14 /* changedBlockCount */
        start local 14 // int changedBlockCount
        67: .line 875
            iconst_0
            istore 15 /* i */
        start local 15 // int i
        68: goto 76
        69: .line 876
      StackMap locals: android.util.ArraySet int int
      StackMap stack:
            aload 0 /* this */
            getfield android.text.DynamicLayout.mBlocksAlwaysNeedToBeRedrawn:Landroid/util/ArraySet;
            iload 15 /* i */
            invokevirtual android.util.ArraySet.valueAt:(I)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 16 /* block */
        start local 16 // java.lang.Integer block
        70: .line 877
            aload 16 /* block */
            invokevirtual java.lang.Integer.intValue:()I
            iload 4 /* firstBlock */
            if_icmpge 72
        71: .line 879
            aload 13 /* set */
            aload 16 /* block */
            invokevirtual android.util.ArraySet.add:(Ljava/lang/Object;)Z
            pop
        72: .line 881
      StackMap locals: java.lang.Integer
      StackMap stack:
            aload 16 /* block */
            invokevirtual java.lang.Integer.intValue:()I
            iload 5 /* lastBlock */
            if_icmple 75
        73: .line 883
            aload 16 /* block */
            invokevirtual java.lang.Integer.intValue:()I
            iload 14 /* changedBlockCount */
            iadd
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            astore 16 /* block */
        74: .line 884
            aload 13 /* set */
            aload 16 /* block */
            invokevirtual android.util.ArraySet.add:(Ljava/lang/Object;)Z
            pop
        end local 16 // java.lang.Integer block
        75: .line 875
      StackMap locals:
      StackMap stack:
            iinc 15 /* i */ 1
      StackMap locals:
      StackMap stack:
        76: iload 15 /* i */
            aload 0 /* this */
            getfield android.text.DynamicLayout.mBlocksAlwaysNeedToBeRedrawn:Landroid/util/ArraySet;
            invokevirtual android.util.ArraySet.size:()I
            if_icmplt 69
        end local 15 // int i
        77: .line 887
            aload 0 /* this */
            aload 13 /* set */
            putfield android.text.DynamicLayout.mBlocksAlwaysNeedToBeRedrawn:Landroid/util/ArraySet;
        end local 14 // int changedBlockCount
        end local 13 // android.util.ArraySet set
        78: .line 890
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 12 /* newNumberOfBlocks */
            putfield android.text.DynamicLayout.mNumberOfBlocks:I
        79: .line 892
            iload 3 /* newLineCount */
            iload 2 /* endLine */
            iload 1 /* startLine */
            isub
            iconst_1
            iadd
            isub
            istore 14 /* deltaLines */
        start local 14 // int deltaLines
        80: .line 893
            iload 14 /* deltaLines */
            ifeq 88
        81: .line 896
            iload 4 /* firstBlock */
            iload 10 /* numAddedBlocks */
            iadd
            istore 13 /* newFirstChangedBlock */
        start local 13 // int newFirstChangedBlock
        82: .line 897
            iload 13 /* newFirstChangedBlock */
            istore 15 /* i */
        start local 15 // int i
        83: goto 86
        84: .line 898
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            getfield android.text.DynamicLayout.mBlockEndLines:[I
            iload 15 /* i */
            dup2
            iaload
            iload 14 /* deltaLines */
            iadd
            iastore
        85: .line 897
            iinc 15 /* i */ 1
      StackMap locals:
      StackMap stack:
        86: iload 15 /* i */
            aload 0 /* this */
            getfield android.text.DynamicLayout.mNumberOfBlocks:I
            if_icmplt 84
        end local 15 // int i
        87: .line 900
            goto 89
        end local 13 // int newFirstChangedBlock
        88: .line 901
      StackMap locals: android.text.DynamicLayout int int int int int int int int int int int int top int
      StackMap stack:
            aload 0 /* this */
            getfield android.text.DynamicLayout.mNumberOfBlocks:I
            istore 13 /* newFirstChangedBlock */
        start local 13 // int newFirstChangedBlock
        89: .line 903
      StackMap locals: android.text.DynamicLayout int int int int int int int int int int int int int int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield android.text.DynamicLayout.mIndexFirstChangedBlock:I
            iload 13 /* newFirstChangedBlock */
            invokestatic java.lang.Math.min:(II)I
            putfield android.text.DynamicLayout.mIndexFirstChangedBlock:I
        90: .line 905
            iload 4 /* firstBlock */
            istore 15 /* blockIndex */
        start local 15 // int blockIndex
        91: .line 906
            iload 7 /* createBlockBefore */
            ifeq 96
        92: .line 907
            aload 0 /* this */
            getfield android.text.DynamicLayout.mBlockEndLines:[I
            iload 15 /* blockIndex */
            iload 1 /* startLine */
            iconst_1
            isub
            iastore
        93: .line 908
            aload 0 /* this */
            iload 15 /* blockIndex */
            invokevirtual android.text.DynamicLayout.updateAlwaysNeedsToBeRedrawn:(I)V
        94: .line 909
            aload 0 /* this */
            getfield android.text.DynamicLayout.mBlockIndices:[I
            iload 15 /* blockIndex */
            iconst_m1
            iastore
        95: .line 910
            iinc 15 /* blockIndex */ 1
        96: .line 913
      StackMap locals: int
      StackMap stack:
            iload 8 /* createBlock */
            ifeq 101
        97: .line 914
            aload 0 /* this */
            getfield android.text.DynamicLayout.mBlockEndLines:[I
            iload 15 /* blockIndex */
            iload 1 /* startLine */
            iload 3 /* newLineCount */
            iadd
            iconst_1
            isub
            iastore
        98: .line 915
            aload 0 /* this */
            iload 15 /* blockIndex */
            invokevirtual android.text.DynamicLayout.updateAlwaysNeedsToBeRedrawn:(I)V
        99: .line 916
            aload 0 /* this */
            getfield android.text.DynamicLayout.mBlockIndices:[I
            iload 15 /* blockIndex */
            iconst_m1
            iastore
       100: .line 917
            iinc 15 /* blockIndex */ 1
       101: .line 920
      StackMap locals:
      StackMap stack:
            iload 9 /* createBlockAfter */
            ifeq 105
       102: .line 921
            aload 0 /* this */
            getfield android.text.DynamicLayout.mBlockEndLines:[I
            iload 15 /* blockIndex */
            iload 6 /* lastBlockEndLine */
            iload 14 /* deltaLines */
            iadd
            iastore
       103: .line 922
            aload 0 /* this */
            iload 15 /* blockIndex */
            invokevirtual android.text.DynamicLayout.updateAlwaysNeedsToBeRedrawn:(I)V
       104: .line 923
            aload 0 /* this */
            getfield android.text.DynamicLayout.mBlockIndices:[I
            iload 15 /* blockIndex */
            iconst_m1
            iastore
       105: .line 925
      StackMap locals:
      StackMap stack:
            return
        end local 15 // int blockIndex
        end local 14 // int deltaLines
        end local 13 // int newFirstChangedBlock
        end local 12 // int newNumberOfBlocks
        end local 11 // int numRemovedBlocks
        end local 10 // int numAddedBlocks
        end local 9 // boolean createBlockAfter
        end local 8 // boolean createBlock
        end local 7 // boolean createBlockBefore
        end local 6 // int lastBlockEndLine
        end local 5 // int lastBlock
        end local 4 // int firstBlock
        end local 3 // int newLineCount
        end local 2 // int endLine
        end local 1 // int startLine
        end local 0 // android.text.DynamicLayout this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0  106     0                  this  Landroid/text/DynamicLayout;
            0  106     1             startLine  I
            0  106     2               endLine  I
            0  106     3          newLineCount  I
            4  106     4            firstBlock  I
            5  106     5             lastBlock  I
            6   12     6                     i  I
           13   19     6                     i  I
           20  106     6      lastBlockEndLine  I
           25  106     7     createBlockBefore  Z
           28  106     8           createBlock  Z
           31  106     9      createBlockAfter  Z
           32  106    10        numAddedBlocks  I
           36  106    11      numRemovedBlocks  I
           37  106    12     newNumberOfBlocks  I
           45   56    13         blockEndLines  [I
           46   56    14          blockIndices  [I
           66   78    13                   set  Landroid/util/ArraySet<Ljava/lang/Integer;>;
           67   78    14     changedBlockCount  I
           68   77    15                     i  I
           70   75    16                 block  Ljava/lang/Integer;
           82   88    13  newFirstChangedBlock  I
           89  106    13  newFirstChangedBlock  I
           80  106    14            deltaLines  I
           83   87    15                     i  I
           91  106    15            blockIndex  I
    RuntimeInvisibleAnnotations: 
      com.android.internal.annotations.VisibleForTesting(visibility = com.android.internal.annotations.VisibleForTesting$Visibility.PACKAGE:Lcom/android/internal/annotations/VisibleForTesting$Visibility;)
    MethodParameters:
              Name  Flags
      startLine     
      endLine       
      newLineCount  

  public void setBlocksDataForTest(int[], int[], int, int);
    descriptor: ([I[III)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // android.text.DynamicLayout this
        start local 1 // int[] blockEndLines
        start local 2 // int[] blockIndices
        start local 3 // int numberOfBlocks
        start local 4 // int totalLines
         0: .line 934
            aload 0 /* this */
            aload 1 /* blockEndLines */
            arraylength
            newarray 10
            putfield android.text.DynamicLayout.mBlockEndLines:[I
         1: .line 935
            aload 0 /* this */
            aload 2 /* blockIndices */
            arraylength
            newarray 10
            putfield android.text.DynamicLayout.mBlockIndices:[I
         2: .line 936
            aload 1 /* blockEndLines */
            iconst_0
            aload 0 /* this */
            getfield android.text.DynamicLayout.mBlockEndLines:[I
            iconst_0
            aload 1 /* blockEndLines */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         3: .line 937
            aload 2 /* blockIndices */
            iconst_0
            aload 0 /* this */
            getfield android.text.DynamicLayout.mBlockIndices:[I
            iconst_0
            aload 2 /* blockIndices */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         4: .line 938
            aload 0 /* this */
            iload 3 /* numberOfBlocks */
            putfield android.text.DynamicLayout.mNumberOfBlocks:I
         5: .line 939
            goto 7
         6: .line 940
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.text.DynamicLayout.mInts:Landroid/text/PackedIntVector;
            aload 0 /* this */
            getfield android.text.DynamicLayout.mInts:Landroid/text/PackedIntVector;
            invokevirtual android.text.PackedIntVector.size:()I
            iconst_5
            newarray 10
            invokevirtual android.text.PackedIntVector.insertAt:(I[I)V
         7: .line 939
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.text.DynamicLayout.mInts:Landroid/text/PackedIntVector;
            invokevirtual android.text.PackedIntVector.size:()I
            iload 4 /* totalLines */
            if_icmplt 6
         8: .line 942
            return
        end local 4 // int totalLines
        end local 3 // int numberOfBlocks
        end local 2 // int[] blockIndices
        end local 1 // int[] blockEndLines
        end local 0 // android.text.DynamicLayout this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0            this  Landroid/text/DynamicLayout;
            0    9     1   blockEndLines  [I
            0    9     2    blockIndices  [I
            0    9     3  numberOfBlocks  I
            0    9     4      totalLines  I
    RuntimeInvisibleAnnotations: 
      com.android.internal.annotations.VisibleForTesting(visibility = com.android.internal.annotations.VisibleForTesting$Visibility.PACKAGE:Lcom/android/internal/annotations/VisibleForTesting$Visibility;)
    MethodParameters:
                Name  Flags
      blockEndLines   
      blockIndices    
      numberOfBlocks  
      totalLines      

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

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

  public int getBlockIndex(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.text.DynamicLayout this
        start local 1 // int index
         0: .line 962
            aload 0 /* this */
            getfield android.text.DynamicLayout.mBlockIndices:[I
            iload 1 /* index */
            iaload
            ireturn
        end local 1 // int index
        end local 0 // android.text.DynamicLayout this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Landroid/text/DynamicLayout;
            0    1     1  index  I
    MethodParameters:
       Name  Flags
      index  

  public void setBlockIndex(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.text.DynamicLayout this
        start local 1 // int index
        start local 2 // int blockIndex
         0: .line 970
            aload 0 /* this */
            getfield android.text.DynamicLayout.mBlockIndices:[I
            iload 1 /* index */
            iload 2 /* blockIndex */
            iastore
         1: .line 971
            return
        end local 2 // int blockIndex
        end local 1 // int index
        end local 0 // android.text.DynamicLayout this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Landroid/text/DynamicLayout;
            0    2     1       index  I
            0    2     2  blockIndex  I
    MethodParameters:
            Name  Flags
      index       
      blockIndex  

  public int getNumberOfBlocks();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.text.DynamicLayout this
         0: .line 977
            aload 0 /* this */
            getfield android.text.DynamicLayout.mNumberOfBlocks:I
            ireturn
        end local 0 // android.text.DynamicLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/text/DynamicLayout;

  public int getIndexFirstChangedBlock();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.text.DynamicLayout this
         0: .line 984
            aload 0 /* this */
            getfield android.text.DynamicLayout.mIndexFirstChangedBlock:I
            ireturn
        end local 0 // android.text.DynamicLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/text/DynamicLayout;

  public void setIndexFirstChangedBlock(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.text.DynamicLayout this
        start local 1 // int i
         0: .line 991
            aload 0 /* this */
            iload 1 /* i */
            putfield android.text.DynamicLayout.mIndexFirstChangedBlock:I
         1: .line 992
            return
        end local 1 // int i
        end local 0 // android.text.DynamicLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/text/DynamicLayout;
            0    2     1     i  I
    MethodParameters:
      Name  Flags
      i     

  public int getLineCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.text.DynamicLayout this
         0: .line 996
            aload 0 /* this */
            getfield android.text.DynamicLayout.mInts:Landroid/text/PackedIntVector;
            invokevirtual android.text.PackedIntVector.size:()I
            iconst_1
            isub
            ireturn
        end local 0 // android.text.DynamicLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/text/DynamicLayout;

  public int getLineTop(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.text.DynamicLayout this
        start local 1 // int line
         0: .line 1001
            aload 0 /* this */
            getfield android.text.DynamicLayout.mInts:Landroid/text/PackedIntVector;
            iload 1 /* line */
            iconst_1
            invokevirtual android.text.PackedIntVector.getValue:(II)I
            ireturn
        end local 1 // int line
        end local 0 // android.text.DynamicLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/text/DynamicLayout;
            0    1     1  line  I
    MethodParameters:
      Name  Flags
      line  

  public int getLineDescent(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.text.DynamicLayout this
        start local 1 // int line
         0: .line 1006
            aload 0 /* this */
            getfield android.text.DynamicLayout.mInts:Landroid/text/PackedIntVector;
            iload 1 /* line */
            iconst_2
            invokevirtual android.text.PackedIntVector.getValue:(II)I
            ireturn
        end local 1 // int line
        end local 0 // android.text.DynamicLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/text/DynamicLayout;
            0    1     1  line  I
    MethodParameters:
      Name  Flags
      line  

  public int getLineExtra(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.text.DynamicLayout this
        start local 1 // int line
         0: .line 1014
            aload 0 /* this */
            getfield android.text.DynamicLayout.mInts:Landroid/text/PackedIntVector;
            iload 1 /* line */
            iconst_3
            invokevirtual android.text.PackedIntVector.getValue:(II)I
            ireturn
        end local 1 // int line
        end local 0 // android.text.DynamicLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/text/DynamicLayout;
            0    1     1  line  I
    MethodParameters:
      Name  Flags
      line  

  public int getLineStart(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.text.DynamicLayout this
        start local 1 // int line
         0: .line 1019
            aload 0 /* this */
            getfield android.text.DynamicLayout.mInts:Landroid/text/PackedIntVector;
            iload 1 /* line */
            iconst_0
            invokevirtual android.text.PackedIntVector.getValue:(II)I
            ldc 536870911
            iand
            ireturn
        end local 1 // int line
        end local 0 // android.text.DynamicLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/text/DynamicLayout;
            0    1     1  line  I
    MethodParameters:
      Name  Flags
      line  

  public boolean getLineContainsTab(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.text.DynamicLayout this
        start local 1 // int line
         0: .line 1024
            aload 0 /* this */
            getfield android.text.DynamicLayout.mInts:Landroid/text/PackedIntVector;
            iload 1 /* line */
            iconst_0
            invokevirtual android.text.PackedIntVector.getValue:(II)I
            ldc 536870912
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // int line
        end local 0 // android.text.DynamicLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/text/DynamicLayout;
            0    2     1  line  I
    MethodParameters:
      Name  Flags
      line  

  public int getParagraphDirection(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.text.DynamicLayout this
        start local 1 // int line
         0: .line 1029
            aload 0 /* this */
            getfield android.text.DynamicLayout.mInts:Landroid/text/PackedIntVector;
            iload 1 /* line */
            iconst_0
            invokevirtual android.text.PackedIntVector.getValue:(II)I
            bipush 30
            ishr
            ireturn
        end local 1 // int line
        end local 0 // android.text.DynamicLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/text/DynamicLayout;
            0    1     1  line  I
    MethodParameters:
      Name  Flags
      line  

  public final android.text.Layout$Directions getLineDirections(int);
    descriptor: (I)Landroid/text/Layout$Directions;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.text.DynamicLayout this
        start local 1 // int line
         0: .line 1034
            aload 0 /* this */
            getfield android.text.DynamicLayout.mObjects:Landroid/text/PackedObjectVector;
            iload 1 /* line */
            iconst_0
            invokevirtual android.text.PackedObjectVector.getValue:(II)Ljava/lang/Object;
            checkcast android.text.Layout$Directions
            areturn
        end local 1 // int line
        end local 0 // android.text.DynamicLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/text/DynamicLayout;
            0    1     1  line  I
    MethodParameters:
      Name  Flags
      line  

  public int getTopPadding();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.text.DynamicLayout this
         0: .line 1039
            aload 0 /* this */
            getfield android.text.DynamicLayout.mTopPadding:I
            ireturn
        end local 0 // android.text.DynamicLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/text/DynamicLayout;

  public int getBottomPadding();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.text.DynamicLayout this
         0: .line 1044
            aload 0 /* this */
            getfield android.text.DynamicLayout.mBottomPadding:I
            ireturn
        end local 0 // android.text.DynamicLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/text/DynamicLayout;

  public int getHyphen(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.text.DynamicLayout this
        start local 1 // int line
         0: .line 1052
            aload 0 /* this */
            getfield android.text.DynamicLayout.mInts:Landroid/text/PackedIntVector;
            iload 1 /* line */
            iconst_4
            invokevirtual android.text.PackedIntVector.getValue:(II)I
            sipush 255
            iand
            ireturn
        end local 1 // int line
        end local 0 // android.text.DynamicLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/text/DynamicLayout;
            0    1     1  line  I
    MethodParameters:
      Name  Flags
      line  

  private boolean getContentMayProtrudeFromTopOrBottom(int);
    descriptor: (I)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.text.DynamicLayout this
        start local 1 // int line
         0: .line 1056
            aload 0 /* this */
            getfield android.text.DynamicLayout.mInts:Landroid/text/PackedIntVector;
            iload 1 /* line */
            iconst_4
            invokevirtual android.text.PackedIntVector.getValue:(II)I
         1: .line 1057
            sipush 256
         2: .line 1056
            iand
            ifeq 3
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 1 // int line
        end local 0 // android.text.DynamicLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/text/DynamicLayout;
            0    4     1  line  I
    MethodParameters:
      Name  Flags
      line  

  public int getEllipsizedWidth();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.text.DynamicLayout this
         0: .line 1062
            aload 0 /* this */
            getfield android.text.DynamicLayout.mEllipsizedWidth:I
            ireturn
        end local 0 // android.text.DynamicLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/text/DynamicLayout;

  public int getEllipsisStart(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.text.DynamicLayout this
        start local 1 // int line
         0: .line 1119
            aload 0 /* this */
            getfield android.text.DynamicLayout.mEllipsizeAt:Landroid/text/TextUtils$TruncateAt;
            ifnonnull 2
         1: .line 1120
            iconst_0
            ireturn
         2: .line 1123
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.text.DynamicLayout.mInts:Landroid/text/PackedIntVector;
            iload 1 /* line */
            iconst_5
            invokevirtual android.text.PackedIntVector.getValue:(II)I
            ireturn
        end local 1 // int line
        end local 0 // android.text.DynamicLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/text/DynamicLayout;
            0    3     1  line  I
    MethodParameters:
      Name  Flags
      line  

  public int getEllipsisCount(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.text.DynamicLayout this
        start local 1 // int line
         0: .line 1128
            aload 0 /* this */
            getfield android.text.DynamicLayout.mEllipsizeAt:Landroid/text/TextUtils$TruncateAt;
            ifnonnull 2
         1: .line 1129
            iconst_0
            ireturn
         2: .line 1132
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.text.DynamicLayout.mInts:Landroid/text/PackedIntVector;
            iload 1 /* line */
            bipush 6
            invokevirtual android.text.PackedIntVector.getValue:(II)I
            ireturn
        end local 1 // int line
        end local 0 // android.text.DynamicLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/text/DynamicLayout;
            0    3     1  line  I
    MethodParameters:
      Name  Flags
      line  
}
SourceFile: "DynamicLayout.java"
NestMembers:
  android.text.DynamicLayout$Builder  android.text.DynamicLayout$ChangeWatcher
InnerClasses:
  public FontMetricsInt = android.graphics.Paint$FontMetricsInt of android.graphics.Paint
  public final Builder = android.text.DynamicLayout$Builder of android.text.DynamicLayout
  private ChangeWatcher = android.text.DynamicLayout$ChangeWatcher of android.text.DynamicLayout
  public final Alignment = android.text.Layout$Alignment of android.text.Layout
  public Directions = android.text.Layout$Directions of android.text.Layout
  Ellipsizer = android.text.Layout$Ellipsizer of android.text.Layout
  SpannedEllipsizer = android.text.Layout$SpannedEllipsizer of android.text.Layout
  public final Builder = android.text.StaticLayout$Builder of android.text.StaticLayout
  public final TruncateAt = android.text.TextUtils$TruncateAt of android.text.TextUtils
  public final Visibility = com.android.internal.annotations.VisibleForTesting$Visibility of com.android.internal.annotations.VisibleForTesting