public class android.text.BoringLayout extends android.text.Layout implements android.text.TextUtils$EllipsizeCallback
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.text.BoringLayout
  super_class: android.text.Layout
{
  private java.lang.String mDirect;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private android.graphics.Paint mPaint;
    descriptor: Landroid/graphics/Paint;
    flags: (0x0002) ACC_PRIVATE

  int mBottom;
    descriptor: I
    flags: (0x0000) 

  int mDesc;
    descriptor: I
    flags: (0x0000) 

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

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

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

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

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

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

  public static android.text.BoringLayout make(java.lang.CharSequence, android.text.TextPaint, int, android.text.Layout$Alignment, float, float, android.text.BoringLayout$Metrics, boolean);
    descriptor: (Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFLandroid/text/BoringLayout$Metrics;Z)Landroid/text/BoringLayout;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=10, locals=8, args_size=8
        start local 0 // java.lang.CharSequence source
        start local 1 // android.text.TextPaint paint
        start local 2 // int outerWidth
        start local 3 // android.text.Layout$Alignment align
        start local 4 // float spacingMult
        start local 5 // float spacingAdd
        start local 6 // android.text.BoringLayout$Metrics metrics
        start local 7 // boolean includePad
         0: .line 56
            new android.text.BoringLayout
            dup
            aload 0 /* source */
            aload 1 /* paint */
            iload 2 /* outerWidth */
            aload 3 /* align */
            fload 4 /* spacingMult */
            fload 5 /* spacingAdd */
            aload 6 /* metrics */
         1: .line 57
            iload 7 /* includePad */
         2: .line 56
            invokespecial android.text.BoringLayout.<init>:(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFLandroid/text/BoringLayout$Metrics;Z)V
            areturn
        end local 7 // boolean includePad
        end local 6 // android.text.BoringLayout$Metrics metrics
        end local 5 // float spacingAdd
        end local 4 // float spacingMult
        end local 3 // android.text.Layout$Alignment align
        end local 2 // int outerWidth
        end local 1 // android.text.TextPaint paint
        end local 0 // java.lang.CharSequence source
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0       source  Ljava/lang/CharSequence;
            0    3     1        paint  Landroid/text/TextPaint;
            0    3     2   outerWidth  I
            0    3     3        align  Landroid/text/Layout$Alignment;
            0    3     4  spacingMult  F
            0    3     5   spacingAdd  F
            0    3     6      metrics  Landroid/text/BoringLayout$Metrics;
            0    3     7   includePad  Z
    MethodParameters:
             Name  Flags
      source       
      paint        
      outerWidth   
      align        
      spacingMult  
      spacingAdd   
      metrics      
      includePad   

  public static android.text.BoringLayout make(java.lang.CharSequence, android.text.TextPaint, int, android.text.Layout$Alignment, float, float, android.text.BoringLayout$Metrics, boolean, android.text.TextUtils$TruncateAt, int);
    descriptor: (Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFLandroid/text/BoringLayout$Metrics;ZLandroid/text/TextUtils$TruncateAt;I)Landroid/text/BoringLayout;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=12, locals=10, args_size=10
        start local 0 // java.lang.CharSequence source
        start local 1 // android.text.TextPaint paint
        start local 2 // int outerWidth
        start local 3 // android.text.Layout$Alignment align
        start local 4 // float spacingmult
        start local 5 // float spacingadd
        start local 6 // android.text.BoringLayout$Metrics metrics
        start local 7 // boolean includePad
        start local 8 // android.text.TextUtils$TruncateAt ellipsize
        start local 9 // int ellipsizedWidth
         0: .line 82
            new android.text.BoringLayout
            dup
            aload 0 /* source */
            aload 1 /* paint */
            iload 2 /* outerWidth */
            aload 3 /* align */
            fload 4 /* spacingmult */
            fload 5 /* spacingadd */
            aload 6 /* metrics */
         1: .line 83
            iload 7 /* includePad */
            aload 8 /* ellipsize */
            iload 9 /* ellipsizedWidth */
         2: .line 82
            invokespecial android.text.BoringLayout.<init>:(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFLandroid/text/BoringLayout$Metrics;ZLandroid/text/TextUtils$TruncateAt;I)V
            areturn
        end local 9 // int ellipsizedWidth
        end local 8 // android.text.TextUtils$TruncateAt ellipsize
        end local 7 // boolean includePad
        end local 6 // android.text.BoringLayout$Metrics metrics
        end local 5 // float spacingadd
        end local 4 // float spacingmult
        end local 3 // android.text.Layout$Alignment align
        end local 2 // int outerWidth
        end local 1 // android.text.TextPaint paint
        end local 0 // java.lang.CharSequence source
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0           source  Ljava/lang/CharSequence;
            0    3     1            paint  Landroid/text/TextPaint;
            0    3     2       outerWidth  I
            0    3     3            align  Landroid/text/Layout$Alignment;
            0    3     4      spacingmult  F
            0    3     5       spacingadd  F
            0    3     6          metrics  Landroid/text/BoringLayout$Metrics;
            0    3     7       includePad  Z
            0    3     8        ellipsize  Landroid/text/TextUtils$TruncateAt;
            0    3     9  ellipsizedWidth  I
    MethodParameters:
                 Name  Flags
      source           
      paint            
      outerWidth       
      align            
      spacingmult      
      spacingadd       
      metrics          
      includePad       
      ellipsize        
      ellipsizedWidth  

  public android.text.BoringLayout replaceOrMake(java.lang.CharSequence, android.text.TextPaint, int, android.text.Layout$Alignment, float, float, android.text.BoringLayout$Metrics, boolean);
    descriptor: (Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFLandroid/text/BoringLayout$Metrics;Z)Landroid/text/BoringLayout;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=9, args_size=9
        start local 0 // android.text.BoringLayout this
        start local 1 // java.lang.CharSequence source
        start local 2 // android.text.TextPaint paint
        start local 3 // int outerwidth
        start local 4 // android.text.Layout$Alignment align
        start local 5 // float spacingMult
        start local 6 // float spacingAdd
        start local 7 // android.text.BoringLayout$Metrics metrics
        start local 8 // boolean includePad
         0: .line 105
            aload 0 /* this */
            aload 1 /* source */
            aload 2 /* paint */
            iload 3 /* outerwidth */
            aload 4 /* align */
            fload 5 /* spacingMult */
            fload 6 /* spacingAdd */
            invokevirtual android.text.BoringLayout.replaceWith:(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FF)V
         1: .line 107
            aload 0 /* this */
            iload 3 /* outerwidth */
            putfield android.text.BoringLayout.mEllipsizedWidth:I
         2: .line 108
            aload 0 /* this */
            iconst_0
            putfield android.text.BoringLayout.mEllipsizedStart:I
         3: .line 109
            aload 0 /* this */
            iconst_0
            putfield android.text.BoringLayout.mEllipsizedCount:I
         4: .line 111
            aload 0 /* this */
            aload 1 /* source */
            aload 2 /* paint */
            aload 4 /* align */
            aload 7 /* metrics */
            iload 8 /* includePad */
            iconst_1
            invokevirtual android.text.BoringLayout.init:(Ljava/lang/CharSequence;Landroid/text/TextPaint;Landroid/text/Layout$Alignment;Landroid/text/BoringLayout$Metrics;ZZ)V
         5: .line 112
            aload 0 /* this */
            areturn
        end local 8 // boolean includePad
        end local 7 // android.text.BoringLayout$Metrics metrics
        end local 6 // float spacingAdd
        end local 5 // float spacingMult
        end local 4 // android.text.Layout$Alignment align
        end local 3 // int outerwidth
        end local 2 // android.text.TextPaint paint
        end local 1 // java.lang.CharSequence source
        end local 0 // android.text.BoringLayout this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Landroid/text/BoringLayout;
            0    6     1       source  Ljava/lang/CharSequence;
            0    6     2        paint  Landroid/text/TextPaint;
            0    6     3   outerwidth  I
            0    6     4        align  Landroid/text/Layout$Alignment;
            0    6     5  spacingMult  F
            0    6     6   spacingAdd  F
            0    6     7      metrics  Landroid/text/BoringLayout$Metrics;
            0    6     8   includePad  Z
    MethodParameters:
             Name  Flags
      source       
      paint        
      outerwidth   
      align        
      spacingMult  
      spacingAdd   
      metrics      
      includePad   

  public android.text.BoringLayout replaceOrMake(java.lang.CharSequence, android.text.TextPaint, int, android.text.Layout$Alignment, float, float, android.text.BoringLayout$Metrics, boolean, android.text.TextUtils$TruncateAt, int);
    descriptor: (Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFLandroid/text/BoringLayout$Metrics;ZLandroid/text/TextUtils$TruncateAt;I)Landroid/text/BoringLayout;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=12, args_size=11
        start local 0 // android.text.BoringLayout this
        start local 1 // java.lang.CharSequence source
        start local 2 // android.text.TextPaint paint
        start local 3 // int outerWidth
        start local 4 // android.text.Layout$Alignment align
        start local 5 // float spacingMult
        start local 6 // float spacingAdd
        start local 7 // android.text.BoringLayout$Metrics metrics
        start local 8 // boolean includePad
        start local 9 // android.text.TextUtils$TruncateAt ellipsize
        start local 10 // int ellipsizedWidth
         0: .line 141
            aload 9 /* ellipsize */
            ifnull 1
            aload 9 /* ellipsize */
            getstatic android.text.TextUtils$TruncateAt.MARQUEE:Landroid/text/TextUtils$TruncateAt;
            if_acmpne 7
         1: .line 142
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* source */
            aload 2 /* paint */
            iload 3 /* outerWidth */
            aload 4 /* align */
            fload 5 /* spacingMult */
            fload 6 /* spacingAdd */
            invokevirtual android.text.BoringLayout.replaceWith:(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FF)V
         2: .line 144
            aload 0 /* this */
            iload 3 /* outerWidth */
            putfield android.text.BoringLayout.mEllipsizedWidth:I
         3: .line 145
            aload 0 /* this */
            iconst_0
            putfield android.text.BoringLayout.mEllipsizedStart:I
         4: .line 146
            aload 0 /* this */
            iconst_0
            putfield android.text.BoringLayout.mEllipsizedCount:I
         5: .line 147
            iconst_1
            istore 11 /* trust */
        start local 11 // boolean trust
         6: .line 148
            goto 12
        end local 11 // boolean trust
         7: .line 149
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* source */
            aload 2 /* paint */
            iload 10 /* ellipsizedWidth */
            i2f
            aload 9 /* ellipsize */
            iconst_1
            aload 0 /* this */
            invokestatic android.text.TextUtils.ellipsize:(Ljava/lang/CharSequence;Landroid/text/TextPaint;FLandroid/text/TextUtils$TruncateAt;ZLandroid/text/TextUtils$EllipsizeCallback;)Ljava/lang/CharSequence;
         8: .line 150
            aload 2 /* paint */
            iload 3 /* outerWidth */
            aload 4 /* align */
            fload 5 /* spacingMult */
            fload 6 /* spacingAdd */
         9: .line 149
            invokevirtual android.text.BoringLayout.replaceWith:(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FF)V
        10: .line 152
            aload 0 /* this */
            iload 10 /* ellipsizedWidth */
            putfield android.text.BoringLayout.mEllipsizedWidth:I
        11: .line 153
            iconst_0
            istore 11 /* trust */
        start local 11 // boolean trust
        12: .line 156
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual android.text.BoringLayout.getText:()Ljava/lang/CharSequence;
            aload 2 /* paint */
            aload 4 /* align */
            aload 7 /* metrics */
            iload 8 /* includePad */
            iload 11 /* trust */
            invokevirtual android.text.BoringLayout.init:(Ljava/lang/CharSequence;Landroid/text/TextPaint;Landroid/text/Layout$Alignment;Landroid/text/BoringLayout$Metrics;ZZ)V
        13: .line 157
            aload 0 /* this */
            areturn
        end local 11 // boolean trust
        end local 10 // int ellipsizedWidth
        end local 9 // android.text.TextUtils$TruncateAt ellipsize
        end local 8 // boolean includePad
        end local 7 // android.text.BoringLayout$Metrics metrics
        end local 6 // float spacingAdd
        end local 5 // float spacingMult
        end local 4 // android.text.Layout$Alignment align
        end local 3 // int outerWidth
        end local 2 // android.text.TextPaint paint
        end local 1 // java.lang.CharSequence source
        end local 0 // android.text.BoringLayout this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   14     0             this  Landroid/text/BoringLayout;
            0   14     1           source  Ljava/lang/CharSequence;
            0   14     2            paint  Landroid/text/TextPaint;
            0   14     3       outerWidth  I
            0   14     4            align  Landroid/text/Layout$Alignment;
            0   14     5      spacingMult  F
            0   14     6       spacingAdd  F
            0   14     7          metrics  Landroid/text/BoringLayout$Metrics;
            0   14     8       includePad  Z
            0   14     9        ellipsize  Landroid/text/TextUtils$TruncateAt;
            0   14    10  ellipsizedWidth  I
            6    7    11            trust  Z
           12   14    11            trust  Z
    MethodParameters:
                 Name  Flags
      source           
      paint            
      outerWidth       
      align            
      spacingMult      
      spacingAdd       
      metrics          
      includePad       
      ellipsize        
      ellipsizedWidth  

  public void <init>(java.lang.CharSequence, android.text.TextPaint, int, android.text.Layout$Alignment, float, float, android.text.BoringLayout$Metrics, boolean);
    descriptor: (Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFLandroid/text/BoringLayout$Metrics;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=9, args_size=9
        start local 0 // android.text.BoringLayout this
        start local 1 // java.lang.CharSequence source
        start local 2 // android.text.TextPaint paint
        start local 3 // int outerwidth
        start local 4 // android.text.Layout$Alignment align
        start local 5 // float spacingMult
        start local 6 // float spacingAdd
        start local 7 // android.text.BoringLayout$Metrics metrics
        start local 8 // boolean includePad
         0: .line 174
            aload 0 /* this */
            aload 1 /* source */
            aload 2 /* paint */
            iload 3 /* outerwidth */
            aload 4 /* align */
            fload 5 /* spacingMult */
            fload 6 /* spacingAdd */
            invokespecial android.text.Layout.<init>:(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FF)V
         1: .line 176
            aload 0 /* this */
            iload 3 /* outerwidth */
            putfield android.text.BoringLayout.mEllipsizedWidth:I
         2: .line 177
            aload 0 /* this */
            iconst_0
            putfield android.text.BoringLayout.mEllipsizedStart:I
         3: .line 178
            aload 0 /* this */
            iconst_0
            putfield android.text.BoringLayout.mEllipsizedCount:I
         4: .line 180
            aload 0 /* this */
            aload 1 /* source */
            aload 2 /* paint */
            aload 4 /* align */
            aload 7 /* metrics */
            iload 8 /* includePad */
            iconst_1
            invokevirtual android.text.BoringLayout.init:(Ljava/lang/CharSequence;Landroid/text/TextPaint;Landroid/text/Layout$Alignment;Landroid/text/BoringLayout$Metrics;ZZ)V
         5: .line 181
            return
        end local 8 // boolean includePad
        end local 7 // android.text.BoringLayout$Metrics metrics
        end local 6 // float spacingAdd
        end local 5 // float spacingMult
        end local 4 // android.text.Layout$Alignment align
        end local 3 // int outerwidth
        end local 2 // android.text.TextPaint paint
        end local 1 // java.lang.CharSequence source
        end local 0 // android.text.BoringLayout this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Landroid/text/BoringLayout;
            0    6     1       source  Ljava/lang/CharSequence;
            0    6     2        paint  Landroid/text/TextPaint;
            0    6     3   outerwidth  I
            0    6     4        align  Landroid/text/Layout$Alignment;
            0    6     5  spacingMult  F
            0    6     6   spacingAdd  F
            0    6     7      metrics  Landroid/text/BoringLayout$Metrics;
            0    6     8   includePad  Z
    MethodParameters:
             Name  Flags
      source       
      paint        
      outerwidth   
      align        
      spacingMult  
      spacingAdd   
      metrics      
      includePad   

  public void <init>(java.lang.CharSequence, android.text.TextPaint, int, android.text.Layout$Alignment, float, float, android.text.BoringLayout$Metrics, boolean, android.text.TextUtils$TruncateAt, int);
    descriptor: (Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFLandroid/text/BoringLayout$Metrics;ZLandroid/text/TextUtils$TruncateAt;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=12, args_size=11
        start local 0 // android.text.BoringLayout this
        start local 1 // java.lang.CharSequence source
        start local 2 // android.text.TextPaint paint
        start local 3 // int outerWidth
        start local 4 // android.text.Layout$Alignment align
        start local 5 // float spacingMult
        start local 6 // float spacingAdd
        start local 7 // android.text.BoringLayout$Metrics metrics
        start local 8 // boolean includePad
        start local 9 // android.text.TextUtils$TruncateAt ellipsize
        start local 10 // int ellipsizedWidth
         0: .line 209
            aload 0 /* this */
            aload 1 /* source */
            aload 2 /* paint */
            iload 3 /* outerWidth */
            aload 4 /* align */
            fload 5 /* spacingMult */
            fload 6 /* spacingAdd */
            invokespecial android.text.Layout.<init>:(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FF)V
         1: .line 213
            aload 9 /* ellipsize */
            ifnull 2
            aload 9 /* ellipsize */
            getstatic android.text.TextUtils$TruncateAt.MARQUEE:Landroid/text/TextUtils$TruncateAt;
            if_acmpne 7
         2: .line 214
      StackMap locals: android.text.BoringLayout java.lang.CharSequence android.text.TextPaint int android.text.Layout$Alignment float float android.text.BoringLayout$Metrics int android.text.TextUtils$TruncateAt int
      StackMap stack:
            aload 0 /* this */
            iload 3 /* outerWidth */
            putfield android.text.BoringLayout.mEllipsizedWidth:I
         3: .line 215
            aload 0 /* this */
            iconst_0
            putfield android.text.BoringLayout.mEllipsizedStart:I
         4: .line 216
            aload 0 /* this */
            iconst_0
            putfield android.text.BoringLayout.mEllipsizedCount:I
         5: .line 217
            iconst_1
            istore 11 /* trust */
        start local 11 // boolean trust
         6: .line 218
            goto 12
        end local 11 // boolean trust
         7: .line 219
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* source */
            aload 2 /* paint */
            iload 10 /* ellipsizedWidth */
            i2f
            aload 9 /* ellipsize */
            iconst_1
            aload 0 /* this */
            invokestatic android.text.TextUtils.ellipsize:(Ljava/lang/CharSequence;Landroid/text/TextPaint;FLandroid/text/TextUtils$TruncateAt;ZLandroid/text/TextUtils$EllipsizeCallback;)Ljava/lang/CharSequence;
         8: .line 220
            aload 2 /* paint */
            iload 3 /* outerWidth */
            aload 4 /* align */
            fload 5 /* spacingMult */
            fload 6 /* spacingAdd */
         9: .line 219
            invokevirtual android.text.BoringLayout.replaceWith:(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FF)V
        10: .line 222
            aload 0 /* this */
            iload 10 /* ellipsizedWidth */
            putfield android.text.BoringLayout.mEllipsizedWidth:I
        11: .line 223
            iconst_0
            istore 11 /* trust */
        start local 11 // boolean trust
        12: .line 226
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual android.text.BoringLayout.getText:()Ljava/lang/CharSequence;
            aload 2 /* paint */
            aload 4 /* align */
            aload 7 /* metrics */
            iload 8 /* includePad */
            iload 11 /* trust */
            invokevirtual android.text.BoringLayout.init:(Ljava/lang/CharSequence;Landroid/text/TextPaint;Landroid/text/Layout$Alignment;Landroid/text/BoringLayout$Metrics;ZZ)V
        13: .line 227
            return
        end local 11 // boolean trust
        end local 10 // int ellipsizedWidth
        end local 9 // android.text.TextUtils$TruncateAt ellipsize
        end local 8 // boolean includePad
        end local 7 // android.text.BoringLayout$Metrics metrics
        end local 6 // float spacingAdd
        end local 5 // float spacingMult
        end local 4 // android.text.Layout$Alignment align
        end local 3 // int outerWidth
        end local 2 // android.text.TextPaint paint
        end local 1 // java.lang.CharSequence source
        end local 0 // android.text.BoringLayout this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   14     0             this  Landroid/text/BoringLayout;
            0   14     1           source  Ljava/lang/CharSequence;
            0   14     2            paint  Landroid/text/TextPaint;
            0   14     3       outerWidth  I
            0   14     4            align  Landroid/text/Layout$Alignment;
            0   14     5      spacingMult  F
            0   14     6       spacingAdd  F
            0   14     7          metrics  Landroid/text/BoringLayout$Metrics;
            0   14     8       includePad  Z
            0   14     9        ellipsize  Landroid/text/TextUtils$TruncateAt;
            0   14    10  ellipsizedWidth  I
            6    7    11            trust  Z
           12   14    11            trust  Z
    MethodParameters:
                 Name  Flags
      source           
      paint            
      outerWidth       
      align            
      spacingMult      
      spacingAdd       
      metrics          
      includePad       
      ellipsize        
      ellipsizedWidth  

  void init(java.lang.CharSequence, android.text.TextPaint, android.text.Layout$Alignment, android.text.BoringLayout$Metrics, boolean, boolean);
    descriptor: (Ljava/lang/CharSequence;Landroid/text/TextPaint;Landroid/text/Layout$Alignment;Landroid/text/BoringLayout$Metrics;ZZ)V
    flags: (0x0000) 
    Code:
      stack=9, locals=9, args_size=7
        start local 0 // android.text.BoringLayout this
        start local 1 // java.lang.CharSequence source
        start local 2 // android.text.TextPaint paint
        start local 3 // android.text.Layout$Alignment align
        start local 4 // android.text.BoringLayout$Metrics metrics
        start local 5 // boolean includePad
        start local 6 // boolean trustWidth
         0: .line 233
            aload 1 /* source */
            instanceof java.lang.String
            ifeq 3
            aload 3 /* align */
            getstatic android.text.Layout$Alignment.ALIGN_NORMAL:Landroid/text/Layout$Alignment;
            if_acmpne 3
         1: .line 234
            aload 0 /* this */
            aload 1 /* source */
            invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
            putfield android.text.BoringLayout.mDirect:Ljava/lang/String;
         2: .line 235
            goto 4
         3: .line 236
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield android.text.BoringLayout.mDirect:Ljava/lang/String;
         4: .line 239
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* paint */
            putfield android.text.BoringLayout.mPaint:Landroid/graphics/Paint;
         5: .line 241
            iload 5 /* includePad */
            ifeq 9
         6: .line 242
            aload 4 /* metrics */
            getfield android.text.BoringLayout$Metrics.bottom:I
            aload 4 /* metrics */
            getfield android.text.BoringLayout$Metrics.top:I
            isub
            istore 7 /* spacing */
        start local 7 // int spacing
         7: .line 243
            aload 0 /* this */
            aload 4 /* metrics */
            getfield android.text.BoringLayout$Metrics.bottom:I
            putfield android.text.BoringLayout.mDesc:I
         8: .line 244
            goto 11
        end local 7 // int spacing
         9: .line 245
      StackMap locals:
      StackMap stack:
            aload 4 /* metrics */
            getfield android.text.BoringLayout$Metrics.descent:I
            aload 4 /* metrics */
            getfield android.text.BoringLayout$Metrics.ascent:I
            isub
            istore 7 /* spacing */
        start local 7 // int spacing
        10: .line 246
            aload 0 /* this */
            aload 4 /* metrics */
            getfield android.text.BoringLayout$Metrics.descent:I
            putfield android.text.BoringLayout.mDesc:I
        11: .line 249
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 7 /* spacing */
            putfield android.text.BoringLayout.mBottom:I
        12: .line 251
            iload 6 /* trustWidth */
            ifeq 15
        13: .line 252
            aload 0 /* this */
            aload 4 /* metrics */
            getfield android.text.BoringLayout$Metrics.width:I
            i2f
            putfield android.text.BoringLayout.mMax:F
        14: .line 253
            goto 21
        15: .line 259
      StackMap locals:
      StackMap stack:
            invokestatic android.text.TextLine.obtain:()Landroid/text/TextLine;
            astore 8 /* line */
        start local 8 // android.text.TextLine line
        16: .line 260
            aload 8 /* line */
            aload 2 /* paint */
            aload 1 /* source */
            iconst_0
            aload 1 /* source */
            invokeinterface java.lang.CharSequence.length:()I
            iconst_1
        17: .line 261
            getstatic android.text.Layout.DIRS_ALL_LEFT_TO_RIGHT:Landroid/text/Layout$Directions;
            iconst_0
            aconst_null
        18: .line 260
            invokevirtual android.text.TextLine.set:(Landroid/text/TextPaint;Ljava/lang/CharSequence;IIILandroid/text/Layout$Directions;ZLandroid/text/Layout$TabStops;)V
        19: .line 262
            aload 0 /* this */
            aload 8 /* line */
            aconst_null
            invokevirtual android.text.TextLine.metrics:(Landroid/graphics/Paint$FontMetricsInt;)F
            f2d
            invokestatic java.lang.Math.ceil:(D)D
            d2i
            i2f
            putfield android.text.BoringLayout.mMax:F
        20: .line 263
            aload 8 /* line */
            invokestatic android.text.TextLine.recycle:(Landroid/text/TextLine;)Landroid/text/TextLine;
            pop
        end local 8 // android.text.TextLine line
        21: .line 266
      StackMap locals:
      StackMap stack:
            iload 5 /* includePad */
            ifeq 24
        22: .line 267
            aload 0 /* this */
            aload 4 /* metrics */
            getfield android.text.BoringLayout$Metrics.top:I
            aload 4 /* metrics */
            getfield android.text.BoringLayout$Metrics.ascent:I
            isub
            putfield android.text.BoringLayout.mTopPadding:I
        23: .line 268
            aload 0 /* this */
            aload 4 /* metrics */
            getfield android.text.BoringLayout$Metrics.bottom:I
            aload 4 /* metrics */
            getfield android.text.BoringLayout$Metrics.descent:I
            isub
            putfield android.text.BoringLayout.mBottomPadding:I
        24: .line 270
      StackMap locals:
      StackMap stack:
            return
        end local 7 // int spacing
        end local 6 // boolean trustWidth
        end local 5 // boolean includePad
        end local 4 // android.text.BoringLayout$Metrics metrics
        end local 3 // android.text.Layout$Alignment align
        end local 2 // android.text.TextPaint paint
        end local 1 // java.lang.CharSequence source
        end local 0 // android.text.BoringLayout this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   25     0        this  Landroid/text/BoringLayout;
            0   25     1      source  Ljava/lang/CharSequence;
            0   25     2       paint  Landroid/text/TextPaint;
            0   25     3       align  Landroid/text/Layout$Alignment;
            0   25     4     metrics  Landroid/text/BoringLayout$Metrics;
            0   25     5  includePad  Z
            0   25     6  trustWidth  Z
            7    9     7     spacing  I
           10   25     7     spacing  I
           16   21     8        line  Landroid/text/TextLine;
    MethodParameters:
            Name  Flags
      source      
      paint       
      align       
      metrics     
      includePad  
      trustWidth  

  public static android.text.BoringLayout$Metrics isBoring(java.lang.CharSequence, android.text.TextPaint);
    descriptor: (Ljava/lang/CharSequence;Landroid/text/TextPaint;)Landroid/text/BoringLayout$Metrics;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.CharSequence text
        start local 1 // android.text.TextPaint paint
         0: .line 276
            aload 0 /* text */
            aload 1 /* paint */
            getstatic android.text.TextDirectionHeuristics.FIRSTSTRONG_LTR:Landroid/text/TextDirectionHeuristic;
            aconst_null
            invokestatic android.text.BoringLayout.isBoring:(Ljava/lang/CharSequence;Landroid/text/TextPaint;Landroid/text/TextDirectionHeuristic;Landroid/text/BoringLayout$Metrics;)Landroid/text/BoringLayout$Metrics;
            areturn
        end local 1 // android.text.TextPaint paint
        end local 0 // java.lang.CharSequence text
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   text  Ljava/lang/CharSequence;
            0    1     1  paint  Landroid/text/TextPaint;
    MethodParameters:
       Name  Flags
      text   
      paint  

  public static android.text.BoringLayout$Metrics isBoring(java.lang.CharSequence, android.text.TextPaint, android.text.BoringLayout$Metrics);
    descriptor: (Ljava/lang/CharSequence;Landroid/text/TextPaint;Landroid/text/BoringLayout$Metrics;)Landroid/text/BoringLayout$Metrics;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.lang.CharSequence text
        start local 1 // android.text.TextPaint paint
        start local 2 // android.text.BoringLayout$Metrics metrics
         0: .line 285
            aload 0 /* text */
            aload 1 /* paint */
            getstatic android.text.TextDirectionHeuristics.FIRSTSTRONG_LTR:Landroid/text/TextDirectionHeuristic;
            aload 2 /* metrics */
            invokestatic android.text.BoringLayout.isBoring:(Ljava/lang/CharSequence;Landroid/text/TextPaint;Landroid/text/TextDirectionHeuristic;Landroid/text/BoringLayout$Metrics;)Landroid/text/BoringLayout$Metrics;
            areturn
        end local 2 // android.text.BoringLayout$Metrics metrics
        end local 1 // android.text.TextPaint paint
        end local 0 // java.lang.CharSequence text
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     text  Ljava/lang/CharSequence;
            0    1     1    paint  Landroid/text/TextPaint;
            0    1     2  metrics  Landroid/text/BoringLayout$Metrics;
    MethodParameters:
         Name  Flags
      text     
      paint    
      metrics  

  private static boolean hasAnyInterestingChars(java.lang.CharSequence, int);
    descriptor: (Ljava/lang/CharSequence;I)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // java.lang.CharSequence text
        start local 1 // int textLength
         0: .line 294
            sipush 500
            invokestatic android.text.TextUtils.obtain:(I)[C
            astore 2 /* buffer */
        start local 2 // char[] buffer
         1: .line 296
            iconst_0
            istore 3 /* start */
        start local 3 // int start
         2: goto 15
         3: .line 297
      StackMap locals: char[] int
      StackMap stack:
            iload 3 /* start */
            sipush 500
            iadd
            iload 1 /* textLength */
            invokestatic java.lang.Math.min:(II)I
            istore 4 /* end */
        start local 4 // int end
         4: .line 301
            aload 0 /* text */
            iload 3 /* start */
            iload 4 /* end */
            aload 2 /* buffer */
            iconst_0
            invokestatic android.text.TextUtils.getChars:(Ljava/lang/CharSequence;II[CI)V
         5: .line 303
            iload 4 /* end */
            iload 3 /* start */
            isub
            istore 5 /* len */
        start local 5 // int len
         6: .line 304
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         7: goto 13
         8: .line 305
      StackMap locals: int int int
      StackMap stack:
            aload 2 /* buffer */
            iload 6 /* i */
            caload
            istore 7 /* c */
        start local 7 // char c
         9: .line 306
            iload 7 /* c */
            bipush 10
            if_icmpeq 10
            iload 7 /* c */
            bipush 9
            if_icmpeq 10
            iload 7 /* c */
            invokestatic android.text.TextUtils.couldAffectRtl:(C)Z
            ifeq 12
        10: .line 313
      StackMap locals: int
      StackMap stack:
            aload 2 /* buffer */
            invokestatic android.text.TextUtils.recycle:([C)V
        11: .line 307
            iconst_1
            ireturn
        end local 7 // char c
        12: .line 304
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 6 /* i */
            iload 5 /* len */
            if_icmplt 8
        end local 6 // int i
        end local 5 // int len
        end local 4 // int end
        14: .line 296
            iinc 3 /* start */ 500
      StackMap locals:
      StackMap stack:
        15: iload 3 /* start */
            iload 1 /* textLength */
            if_icmplt 3
        end local 3 // int start
        16: .line 313
            aload 2 /* buffer */
            invokestatic android.text.TextUtils.recycle:([C)V
        17: .line 311
            iconst_0
            ireturn
        18: .line 312
      StackMap locals: java.lang.CharSequence int char[]
      StackMap stack: java.lang.Throwable
            astore 8
        19: .line 313
            aload 2 /* buffer */
            invokestatic android.text.TextUtils.recycle:([C)V
        20: .line 314
            aload 8
            athrow
        end local 2 // char[] buffer
        end local 1 // int textLength
        end local 0 // java.lang.CharSequence text
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   21     0        text  Ljava/lang/CharSequence;
            0   21     1  textLength  I
            1   21     2      buffer  [C
            2   16     3       start  I
            4   14     4         end  I
            6   14     5         len  I
            7   14     6           i  I
            9   12     7           c  C
      Exception table:
        from    to  target  type
           1    10      18  any
          12    16      18  any
    MethodParameters:
            Name  Flags
      text        
      textLength  

  public static android.text.BoringLayout$Metrics isBoring(java.lang.CharSequence, android.text.TextPaint, android.text.TextDirectionHeuristic, android.text.BoringLayout$Metrics);
    descriptor: (Ljava/lang/CharSequence;Landroid/text/TextPaint;Landroid/text/TextDirectionHeuristic;Landroid/text/BoringLayout$Metrics;)Landroid/text/BoringLayout$Metrics;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=9, locals=7, args_size=4
        start local 0 // java.lang.CharSequence text
        start local 1 // android.text.TextPaint paint
        start local 2 // android.text.TextDirectionHeuristic textDir
        start local 3 // android.text.BoringLayout$Metrics metrics
         0: .line 325
            aload 0 /* text */
            invokeinterface java.lang.CharSequence.length:()I
            istore 4 /* textLength */
        start local 4 // int textLength
         1: .line 326
            aload 0 /* text */
            iload 4 /* textLength */
            invokestatic android.text.BoringLayout.hasAnyInterestingChars:(Ljava/lang/CharSequence;I)Z
            ifeq 3
         2: .line 327
            aconst_null
            areturn
         3: .line 329
      StackMap locals: int
      StackMap stack:
            aload 2 /* textDir */
            ifnull 5
            aload 2 /* textDir */
            aload 0 /* text */
            iconst_0
            iload 4 /* textLength */
            invokeinterface android.text.TextDirectionHeuristic.isRtl:(Ljava/lang/CharSequence;II)Z
            ifeq 5
         4: .line 330
            aconst_null
            areturn
         5: .line 332
      StackMap locals:
      StackMap stack:
            aload 0 /* text */
            instanceof android.text.Spanned
            ifeq 10
         6: .line 333
            aload 0 /* text */
            checkcast android.text.Spanned
            astore 5 /* sp */
        start local 5 // android.text.Spanned sp
         7: .line 334
            aload 5 /* sp */
            iconst_0
            iload 4 /* textLength */
            ldc Landroid/text/style/ParagraphStyle;
            invokeinterface android.text.Spanned.getSpans:(IILjava/lang/Class;)[Ljava/lang/Object;
            astore 6 /* styles */
        start local 6 // java.lang.Object[] styles
         8: .line 335
            aload 6 /* styles */
            arraylength
            ifle 10
         9: .line 336
            aconst_null
            areturn
        end local 6 // java.lang.Object[] styles
        end local 5 // android.text.Spanned sp
        10: .line 340
      StackMap locals:
      StackMap stack:
            aload 3 /* metrics */
            astore 5 /* fm */
        start local 5 // android.text.BoringLayout$Metrics fm
        11: .line 341
            aload 5 /* fm */
            ifnonnull 14
        12: .line 342
            new android.text.BoringLayout$Metrics
            dup
            invokespecial android.text.BoringLayout$Metrics.<init>:()V
            astore 5 /* fm */
        13: .line 343
            goto 15
        14: .line 344
      StackMap locals: android.text.BoringLayout$Metrics
      StackMap stack:
            aload 5 /* fm */
            invokevirtual android.text.BoringLayout$Metrics.reset:()V
        15: .line 347
      StackMap locals:
      StackMap stack:
            invokestatic android.text.TextLine.obtain:()Landroid/text/TextLine;
            astore 6 /* line */
        start local 6 // android.text.TextLine line
        16: .line 348
            aload 6 /* line */
            aload 1 /* paint */
            aload 0 /* text */
            iconst_0
            iload 4 /* textLength */
            iconst_1
        17: .line 349
            getstatic android.text.Layout.DIRS_ALL_LEFT_TO_RIGHT:Landroid/text/Layout$Directions;
            iconst_0
            aconst_null
        18: .line 348
            invokevirtual android.text.TextLine.set:(Landroid/text/TextPaint;Ljava/lang/CharSequence;IIILandroid/text/Layout$Directions;ZLandroid/text/Layout$TabStops;)V
        19: .line 350
            aload 5 /* fm */
            aload 6 /* line */
            aload 5 /* fm */
            invokevirtual android.text.TextLine.metrics:(Landroid/graphics/Paint$FontMetricsInt;)F
            f2d
            invokestatic java.lang.Math.ceil:(D)D
            d2i
            putfield android.text.BoringLayout$Metrics.width:I
        20: .line 351
            aload 6 /* line */
            invokestatic android.text.TextLine.recycle:(Landroid/text/TextLine;)Landroid/text/TextLine;
            pop
        21: .line 353
            aload 5 /* fm */
            areturn
        end local 6 // android.text.TextLine line
        end local 5 // android.text.BoringLayout$Metrics fm
        end local 4 // int textLength
        end local 3 // android.text.BoringLayout$Metrics metrics
        end local 2 // android.text.TextDirectionHeuristic textDir
        end local 1 // android.text.TextPaint paint
        end local 0 // java.lang.CharSequence text
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   22     0        text  Ljava/lang/CharSequence;
            0   22     1       paint  Landroid/text/TextPaint;
            0   22     2     textDir  Landroid/text/TextDirectionHeuristic;
            0   22     3     metrics  Landroid/text/BoringLayout$Metrics;
            1   22     4  textLength  I
            7   10     5          sp  Landroid/text/Spanned;
            8   10     6      styles  [Ljava/lang/Object;
           11   22     5          fm  Landroid/text/BoringLayout$Metrics;
           16   22     6        line  Landroid/text/TextLine;
    MethodParameters:
         Name  Flags
      text     
      paint    
      textDir  
      metrics  

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

  public int getLineCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.text.BoringLayout this
         0: .line 363
            iconst_1
            ireturn
        end local 0 // android.text.BoringLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/text/BoringLayout;

  public int getLineTop(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // android.text.BoringLayout this
        start local 1 // int line
         0: .line 368
            iload 1 /* line */
            ifne 2
         1: .line 369
            iconst_0
            ireturn
         2: .line 371
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.text.BoringLayout.mBottom:I
            ireturn
        end local 1 // int line
        end local 0 // android.text.BoringLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/text/BoringLayout;
            0    3     1  line  I
    MethodParameters:
      Name  Flags
      line  

  public int getLineDescent(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // android.text.BoringLayout this
        start local 1 // int line
         0: .line 376
            aload 0 /* this */
            getfield android.text.BoringLayout.mDesc:I
            ireturn
        end local 1 // int line
        end local 0 // android.text.BoringLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/text/BoringLayout;
            0    1     1  line  I
    MethodParameters:
      Name  Flags
      line  

  public int getLineStart(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // android.text.BoringLayout this
        start local 1 // int line
         0: .line 381
            iload 1 /* line */
            ifne 2
         1: .line 382
            iconst_0
            ireturn
         2: .line 384
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual android.text.BoringLayout.getText:()Ljava/lang/CharSequence;
            invokeinterface java.lang.CharSequence.length:()I
            ireturn
        end local 1 // int line
        end local 0 // android.text.BoringLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/text/BoringLayout;
            0    3     1  line  I
    MethodParameters:
      Name  Flags
      line  

  public int getParagraphDirection(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // android.text.BoringLayout this
        start local 1 // int line
         0: .line 389
            iconst_1
            ireturn
        end local 1 // int line
        end local 0 // android.text.BoringLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/text/BoringLayout;
            0    1     1  line  I
    MethodParameters:
      Name  Flags
      line  

  public boolean getLineContainsTab(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // android.text.BoringLayout this
        start local 1 // int line
         0: .line 394
            iconst_0
            ireturn
        end local 1 // int line
        end local 0 // android.text.BoringLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/text/BoringLayout;
            0    1     1  line  I
    MethodParameters:
      Name  Flags
      line  

  public float getLineMax(int);
    descriptor: (I)F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // android.text.BoringLayout this
        start local 1 // int line
         0: .line 399
            aload 0 /* this */
            getfield android.text.BoringLayout.mMax:F
            freturn
        end local 1 // int line
        end local 0 // android.text.BoringLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/text/BoringLayout;
            0    1     1  line  I
    MethodParameters:
      Name  Flags
      line  

  public float getLineWidth(int);
    descriptor: (I)F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // android.text.BoringLayout this
        start local 1 // int line
         0: .line 404
            iload 1 /* line */
            ifne 1
            aload 0 /* this */
            getfield android.text.BoringLayout.mMax:F
            goto 2
      StackMap locals:
      StackMap stack:
         1: fconst_0
      StackMap locals:
      StackMap stack: float
         2: freturn
        end local 1 // int line
        end local 0 // android.text.BoringLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/text/BoringLayout;
            0    3     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=1, locals=2, args_size=2
        start local 0 // android.text.BoringLayout this
        start local 1 // int line
         0: .line 409
            getstatic android.text.Layout.DIRS_ALL_LEFT_TO_RIGHT:Landroid/text/Layout$Directions;
            areturn
        end local 1 // int line
        end local 0 // android.text.BoringLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/text/BoringLayout;
            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.BoringLayout this
         0: .line 414
            aload 0 /* this */
            getfield android.text.BoringLayout.mTopPadding:I
            ireturn
        end local 0 // android.text.BoringLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/text/BoringLayout;

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

  public int getEllipsisCount(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // android.text.BoringLayout this
        start local 1 // int line
         0: .line 424
            aload 0 /* this */
            getfield android.text.BoringLayout.mEllipsizedCount:I
            ireturn
        end local 1 // int line
        end local 0 // android.text.BoringLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/text/BoringLayout;
            0    1     1  line  I
    MethodParameters:
      Name  Flags
      line  

  public int getEllipsisStart(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // android.text.BoringLayout this
        start local 1 // int line
         0: .line 429
            aload 0 /* this */
            getfield android.text.BoringLayout.mEllipsizedStart:I
            ireturn
        end local 1 // int line
        end local 0 // android.text.BoringLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/text/BoringLayout;
            0    1     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.BoringLayout this
         0: .line 434
            aload 0 /* this */
            getfield android.text.BoringLayout.mEllipsizedWidth:I
            ireturn
        end local 0 // android.text.BoringLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/text/BoringLayout;

  public void draw(android.graphics.Canvas, android.graphics.Path, android.graphics.Paint, int);
    descriptor: (Landroid/graphics/Canvas;Landroid/graphics/Path;Landroid/graphics/Paint;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // android.text.BoringLayout this
        start local 1 // android.graphics.Canvas c
        start local 2 // android.graphics.Path highlight
        start local 3 // android.graphics.Paint highlightpaint
        start local 4 // int cursorOffset
         0: .line 441
            aload 0 /* this */
            getfield android.text.BoringLayout.mDirect:Ljava/lang/String;
            ifnull 3
            aload 2 /* highlight */
            ifnonnull 3
         1: .line 442
            aload 1 /* c */
            aload 0 /* this */
            getfield android.text.BoringLayout.mDirect:Ljava/lang/String;
            fconst_0
            aload 0 /* this */
            getfield android.text.BoringLayout.mBottom:I
            aload 0 /* this */
            getfield android.text.BoringLayout.mDesc:I
            isub
            i2f
            aload 0 /* this */
            getfield android.text.BoringLayout.mPaint:Landroid/graphics/Paint;
            invokevirtual android.graphics.Canvas.drawText:(Ljava/lang/String;FFLandroid/graphics/Paint;)V
         2: .line 443
            goto 4
         3: .line 444
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* c */
            aload 2 /* highlight */
            aload 3 /* highlightpaint */
            iload 4 /* cursorOffset */
            invokespecial android.text.Layout.draw:(Landroid/graphics/Canvas;Landroid/graphics/Path;Landroid/graphics/Paint;I)V
         4: .line 446
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int cursorOffset
        end local 3 // android.graphics.Paint highlightpaint
        end local 2 // android.graphics.Path highlight
        end local 1 // android.graphics.Canvas c
        end local 0 // android.text.BoringLayout this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Landroid/text/BoringLayout;
            0    5     1               c  Landroid/graphics/Canvas;
            0    5     2       highlight  Landroid/graphics/Path;
            0    5     3  highlightpaint  Landroid/graphics/Paint;
            0    5     4    cursorOffset  I
    MethodParameters:
                Name  Flags
      c               
      highlight       
      highlightpaint  
      cursorOffset    

  public void ellipsized(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.text.BoringLayout this
        start local 1 // int start
        start local 2 // int end
         0: .line 452
            aload 0 /* this */
            iload 1 /* start */
            putfield android.text.BoringLayout.mEllipsizedStart:I
         1: .line 453
            aload 0 /* this */
            iload 2 /* end */
            iload 1 /* start */
            isub
            putfield android.text.BoringLayout.mEllipsizedCount:I
         2: .line 454
            return
        end local 2 // int end
        end local 1 // int start
        end local 0 // android.text.BoringLayout this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Landroid/text/BoringLayout;
            0    3     1  start  I
            0    3     2    end  I
    MethodParameters:
       Name  Flags
      start  
      end    
}
SourceFile: "BoringLayout.java"
NestMembers:
  android.text.BoringLayout$Metrics
InnerClasses:
  public FontMetricsInt = android.graphics.Paint$FontMetricsInt of android.graphics.Paint
  public Metrics = android.text.BoringLayout$Metrics of android.text.BoringLayout
  public final Alignment = android.text.Layout$Alignment of android.text.Layout
  public Directions = android.text.Layout$Directions of android.text.Layout
  TabStops = android.text.Layout$TabStops of android.text.Layout
  public abstract EllipsizeCallback = android.text.TextUtils$EllipsizeCallback of android.text.TextUtils
  public final TruncateAt = android.text.TextUtils$TruncateAt of android.text.TextUtils