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: aconst_null
putstatic android.text.DynamicLayout.sStaticLayout:Landroid/text/StaticLayout;
1: aconst_null
putstatic android.text.DynamicLayout.sBuilder:Landroid/text/StaticLayout$Builder;
2: iconst_0
anewarray java.lang.Object
putstatic android.text.DynamicLayout.sLock:[Ljava/lang/Object;
3: 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 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 0
aload 1
aload 1
aload 2
iload 3
aload 4
fload 5
fload 6
1: iload 7
invokespecial android.text.DynamicLayout.<init>:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFZ)V
2: return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: aload 0
aload 1
aload 2
aload 3
iload 4
aload 5
fload 6
fload 7
1: iload 8
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: return
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 start local 10 0: aload 0
aload 1
aload 2
aload 3
iload 4
aload 5
getstatic android.text.TextDirectionHeuristics.FIRSTSTRONG_LTR:Landroid/text/TextDirectionHeuristic;
1: fload 6
fload 7
iload 8
2: iconst_0
iconst_0
3: iconst_0
aload 9
iload 10
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: return
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 start local 10 start local 11 start local 12 start local 13 start local 14 0: aload 0
aload 13
aload 2
invokestatic android.text.DynamicLayout.createEllipsizer:(Landroid/text/TextUtils$TruncateAt;Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
1: aload 3
iload 4
aload 5
aload 6
fload 7
fload 8
invokespecial android.text.Layout.<init>:(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;Landroid/text/TextDirectionHeuristic;FF)V
2: aload 0
new android.graphics.Rect
dup
invokespecial android.graphics.Rect.<init>:()V
putfield android.text.DynamicLayout.mTempRect:Landroid/graphics/Rect;
3: aload 1
aload 3
iload 4
invokestatic android.text.DynamicLayout$Builder.obtain:(Ljava/lang/CharSequence;Landroid/text/TextPaint;I)Landroid/text/DynamicLayout$Builder;
4: aload 5
invokevirtual android.text.DynamicLayout$Builder.setAlignment:(Landroid/text/Layout$Alignment;)Landroid/text/DynamicLayout$Builder;
5: aload 6
invokevirtual android.text.DynamicLayout$Builder.setTextDirection:(Landroid/text/TextDirectionHeuristic;)Landroid/text/DynamicLayout$Builder;
6: fload 8
fload 7
invokevirtual android.text.DynamicLayout$Builder.setLineSpacing:(FF)Landroid/text/DynamicLayout$Builder;
7: iload 14
invokevirtual android.text.DynamicLayout$Builder.setEllipsizedWidth:(I)Landroid/text/DynamicLayout$Builder;
8: aload 13
invokevirtual android.text.DynamicLayout$Builder.setEllipsize:(Landroid/text/TextUtils$TruncateAt;)Landroid/text/DynamicLayout$Builder;
9: astore 15
start local 15 10: aload 0
aload 2
putfield android.text.DynamicLayout.mDisplay:Ljava/lang/CharSequence;
11: aload 0
iload 9
putfield android.text.DynamicLayout.mIncludePad:Z
12: aload 0
iload 10
putfield android.text.DynamicLayout.mBreakStrategy:I
13: aload 0
iload 12
putfield android.text.DynamicLayout.mJustificationMode:I
14: aload 0
iload 11
putfield android.text.DynamicLayout.mHyphenationFrequency:I
15: aload 0
aload 15
invokevirtual android.text.DynamicLayout.generate:(Landroid/text/DynamicLayout$Builder;)V
16: aload 15
invokestatic android.text.DynamicLayout$Builder.recycle:(Landroid/text/DynamicLayout$Builder;)V
17: return
end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 0: aload 0
aload 1
getfield android.text.DynamicLayout$Builder.mEllipsize:Landroid/text/TextUtils$TruncateAt;
aload 1
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: aload 1
getfield android.text.DynamicLayout$Builder.mPaint:Landroid/text/TextPaint;
aload 1
getfield android.text.DynamicLayout$Builder.mWidth:I
aload 1
getfield android.text.DynamicLayout$Builder.mAlignment:Landroid/text/Layout$Alignment;
aload 1
getfield android.text.DynamicLayout$Builder.mTextDir:Landroid/text/TextDirectionHeuristic;
aload 1
getfield android.text.DynamicLayout$Builder.mSpacingMult:F
aload 1
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: aload 0
new android.graphics.Rect
dup
invokespecial android.graphics.Rect.<init>:()V
putfield android.text.DynamicLayout.mTempRect:Landroid/graphics/Rect;
3: aload 0
aload 1
getfield android.text.DynamicLayout$Builder.mDisplay:Ljava/lang/CharSequence;
putfield android.text.DynamicLayout.mDisplay:Ljava/lang/CharSequence;
4: aload 0
aload 1
getfield android.text.DynamicLayout$Builder.mIncludePad:Z
putfield android.text.DynamicLayout.mIncludePad:Z
5: aload 0
aload 1
getfield android.text.DynamicLayout$Builder.mBreakStrategy:I
putfield android.text.DynamicLayout.mBreakStrategy:I
6: aload 0
aload 1
getfield android.text.DynamicLayout$Builder.mJustificationMode:I
putfield android.text.DynamicLayout.mJustificationMode:I
7: aload 0
aload 1
getfield android.text.DynamicLayout$Builder.mHyphenationFrequency:I
putfield android.text.DynamicLayout.mHyphenationFrequency:I
8: aload 0
aload 1
invokevirtual android.text.DynamicLayout.generate:(Landroid/text/DynamicLayout$Builder;)V
9: return
end local 1 end local 0 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 start local 1 0: aload 0
ifnonnull 2
1: aload 1
areturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof android.text.Spanned
ifeq 4
3: new android.text.Layout$SpannedEllipsizer
dup
aload 1
invokespecial android.text.Layout$SpannedEllipsizer.<init>:(Ljava/lang/CharSequence;)V
areturn
4: StackMap locals:
StackMap stack:
new android.text.Layout$Ellipsizer
dup
aload 1
invokespecial android.text.Layout$Ellipsizer.<init>:(Ljava/lang/CharSequence;)V
areturn
end local 1 end local 0 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 start local 1 0: aload 0
aload 1
getfield android.text.DynamicLayout$Builder.mBase:Ljava/lang/CharSequence;
putfield android.text.DynamicLayout.mBase:Ljava/lang/CharSequence;
1: aload 0
aload 1
getfield android.text.DynamicLayout$Builder.mFallbackLineSpacing:Z
putfield android.text.DynamicLayout.mFallbackLineSpacing:Z
2: aload 1
getfield android.text.DynamicLayout$Builder.mEllipsize:Landroid/text/TextUtils$TruncateAt;
ifnull 12
3: aload 0
new android.text.PackedIntVector
dup
bipush 7
invokespecial android.text.PackedIntVector.<init>:(I)V
putfield android.text.DynamicLayout.mInts:Landroid/text/PackedIntVector;
4: aload 0
aload 1
getfield android.text.DynamicLayout$Builder.mEllipsizedWidth:I
putfield android.text.DynamicLayout.mEllipsizedWidth:I
5: aload 0
aload 1
getfield android.text.DynamicLayout$Builder.mEllipsize:Landroid/text/TextUtils$TruncateAt;
putfield android.text.DynamicLayout.mEllipsizeAt:Landroid/text/TextUtils$TruncateAt;
6: aload 0
invokevirtual android.text.DynamicLayout.getText:()Ljava/lang/CharSequence;
checkcast android.text.Layout$Ellipsizer
astore 2
start local 2 7: aload 2
aload 0
putfield android.text.Layout$Ellipsizer.mLayout:Landroid/text/Layout;
8: aload 2
aload 1
getfield android.text.DynamicLayout$Builder.mEllipsizedWidth:I
putfield android.text.Layout$Ellipsizer.mWidth:I
9: aload 2
aload 1
getfield android.text.DynamicLayout$Builder.mEllipsize:Landroid/text/TextUtils$TruncateAt;
putfield android.text.Layout$Ellipsizer.mMethod:Landroid/text/TextUtils$TruncateAt;
10: aload 0
iconst_1
putfield android.text.DynamicLayout.mEllipsize:Z
end local 2 11: goto 15
12: StackMap locals:
StackMap stack:
aload 0
new android.text.PackedIntVector
dup
iconst_5
invokespecial android.text.PackedIntVector.<init>:(I)V
putfield android.text.DynamicLayout.mInts:Landroid/text/PackedIntVector;
13: aload 0
aload 1
getfield android.text.DynamicLayout$Builder.mWidth:I
putfield android.text.DynamicLayout.mEllipsizedWidth:I
14: aload 0
aconst_null
putfield android.text.DynamicLayout.mEllipsizeAt:Landroid/text/TextUtils$TruncateAt;
15: StackMap locals:
StackMap stack:
aload 0
new android.text.PackedObjectVector
dup
iconst_1
invokespecial android.text.PackedObjectVector.<init>:(I)V
putfield android.text.DynamicLayout.mObjects:Landroid/text/PackedObjectVector;
16: aload 1
getfield android.text.DynamicLayout$Builder.mEllipsize:Landroid/text/TextUtils$TruncateAt;
ifnull 20
17: bipush 7
newarray 10
astore 2
start local 2 18: aload 2
iconst_5
ldc -2147483648
iastore
19: goto 21
end local 2 20: StackMap locals:
StackMap stack:
iconst_5
newarray 10
astore 2
start local 2 21: 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
start local 3 22: aload 1
getfield android.text.DynamicLayout$Builder.mFontMetricsInt:Landroid/graphics/Paint$FontMetricsInt;
astore 4
start local 4 23: aload 1
getfield android.text.DynamicLayout$Builder.mPaint:Landroid/text/TextPaint;
aload 4
invokevirtual android.text.TextPaint.getFontMetricsInt:(Landroid/graphics/Paint$FontMetricsInt;)I
pop
24: aload 4
getfield android.graphics.Paint$FontMetricsInt.ascent:I
istore 5
start local 5 25: aload 4
getfield android.graphics.Paint$FontMetricsInt.descent:I
istore 6
start local 6 26: aload 2
iconst_0
ldc 1073741824
iastore
27: aload 2
iconst_1
iconst_0
iastore
28: aload 2
iconst_2
iload 6
iastore
29: aload 0
getfield android.text.DynamicLayout.mInts:Landroid/text/PackedIntVector;
iconst_0
aload 2
invokevirtual android.text.PackedIntVector.insertAt:(I[I)V
30: aload 2
iconst_1
iload 6
iload 5
isub
iastore
31: aload 0
getfield android.text.DynamicLayout.mInts:Landroid/text/PackedIntVector;
iconst_1
aload 2
invokevirtual android.text.PackedIntVector.insertAt:(I[I)V
32: aload 0
getfield android.text.DynamicLayout.mObjects:Landroid/text/PackedObjectVector;
iconst_0
aload 3
invokevirtual android.text.PackedObjectVector.insertAt:(I[Ljava/lang/Object;)V
33: aload 0
getfield android.text.DynamicLayout.mBase:Ljava/lang/CharSequence;
invokeinterface java.lang.CharSequence.length:()I
istore 7
start local 7 34: aload 0
aload 0
getfield android.text.DynamicLayout.mBase:Ljava/lang/CharSequence;
iconst_0
iconst_0
iload 7
invokevirtual android.text.DynamicLayout.reflow:(Ljava/lang/CharSequence;III)V
35: aload 0
getfield android.text.DynamicLayout.mBase:Ljava/lang/CharSequence;
instanceof android.text.Spannable
ifeq 48
36: aload 0
getfield android.text.DynamicLayout.mWatcher:Landroid/text/DynamicLayout$ChangeWatcher;
ifnonnull 38
37: aload 0
new android.text.DynamicLayout$ChangeWatcher
dup
aload 0
invokespecial android.text.DynamicLayout$ChangeWatcher.<init>:(Landroid/text/DynamicLayout;)V
putfield android.text.DynamicLayout.mWatcher:Landroid/text/DynamicLayout$ChangeWatcher;
38: 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
getfield android.text.DynamicLayout.mBase:Ljava/lang/CharSequence;
checkcast android.text.Spannable
astore 8
start local 8 39: aload 8
iconst_0
iload 7
ldc Landroid/text/DynamicLayout$ChangeWatcher;
invokeinterface android.text.Spannable.getSpans:(IILjava/lang/Class;)[Ljava/lang/Object;
checkcast android.text.DynamicLayout$ChangeWatcher[]
astore 9
start local 9 40: iconst_0
istore 10
start local 10 41: goto 44
42: StackMap locals: android.text.Spannable android.text.DynamicLayout$ChangeWatcher[] int
StackMap stack:
aload 8
aload 9
iload 10
aaload
invokeinterface android.text.Spannable.removeSpan:(Ljava/lang/Object;)V
43: iinc 10 1
StackMap locals:
StackMap stack:
44: iload 10
aload 9
arraylength
if_icmplt 42
end local 10 45: aload 8
aload 0
getfield android.text.DynamicLayout.mWatcher:Landroid/text/DynamicLayout$ChangeWatcher;
iconst_0
iload 7
46: ldc 8388626
47: invokeinterface android.text.Spannable.setSpan:(Ljava/lang/Object;III)V
end local 9 end local 8 48: StackMap locals:
StackMap stack:
return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 start local 4 0: aload 1
aload 0
getfield android.text.DynamicLayout.mBase:Ljava/lang/CharSequence;
if_acmpeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield android.text.DynamicLayout.mDisplay:Ljava/lang/CharSequence;
astore 5
start local 5 3: aload 5
invokeinterface java.lang.CharSequence.length:()I
istore 6
start local 6 4: aload 5
bipush 10
iload 2
iconst_1
isub
invokestatic android.text.TextUtils.lastIndexOf:(Ljava/lang/CharSequence;CI)I
istore 7
start local 7 5: iload 7
ifge 7
6: iconst_0
istore 7
goto 8
7: StackMap locals: java.lang.CharSequence int int
StackMap stack:
iinc 7 1
8: StackMap locals:
StackMap stack:
iload 2
iload 7
isub
istore 8
start local 8 9: iload 3
iload 8
iadd
istore 3
10: iload 4
iload 8
iadd
istore 4
11: iload 2
iload 8
isub
istore 2
end local 8 12: aload 5
bipush 10
iload 2
iload 4
iadd
invokestatic android.text.TextUtils.indexOf:(Ljava/lang/CharSequence;CI)I
istore 8
start local 8 13: iload 8
ifge 15
14: iload 6
istore 8
goto 16
15: StackMap locals: int
StackMap stack:
iinc 8 1
16: StackMap locals:
StackMap stack:
iload 8
iload 2
iload 4
iadd
isub
istore 9
start local 9 17: iload 3
iload 9
iadd
istore 3
18: iload 4
iload 9
iadd
istore 4
19: aload 5
instanceof android.text.Spanned
ifeq 43
20: aload 5
checkcast android.text.Spanned
astore 10
start local 10 21: StackMap locals: int android.text.Spanned
StackMap stack:
iconst_0
istore 11
start local 11 22: aload 10
iload 2
iload 2
iload 4
iadd
23: ldc Landroid/text/style/WrapTogetherSpan;
24: invokeinterface android.text.Spanned.getSpans:(IILjava/lang/Class;)[Ljava/lang/Object;
astore 12
start local 12 25: iconst_0
istore 13
start local 13 26: goto 41
27: StackMap locals: int java.lang.Object[] int
StackMap stack:
aload 10
aload 12
iload 13
aaload
invokeinterface android.text.Spanned.getSpanStart:(Ljava/lang/Object;)I
istore 14
start local 14 28: aload 10
aload 12
iload 13
aaload
invokeinterface android.text.Spanned.getSpanEnd:(Ljava/lang/Object;)I
istore 15
start local 15 29: iload 14
iload 2
if_icmpge 35
30: iconst_1
istore 11
31: iload 2
iload 14
isub
istore 16
start local 16 32: iload 3
iload 16
iadd
istore 3
33: iload 4
iload 16
iadd
istore 4
34: iload 2
iload 16
isub
istore 2
end local 16 35: StackMap locals: int int
StackMap stack:
iload 15
iload 2
iload 4
iadd
if_icmple 40
36: iconst_1
istore 11
37: iload 15
iload 2
iload 4
iadd
isub
istore 16
start local 16 38: iload 3
iload 16
iadd
istore 3
39: iload 4
iload 16
iadd
istore 4
end local 16 end local 15 end local 14 40: StackMap locals:
StackMap stack:
iinc 13 1
StackMap locals:
StackMap stack:
41: iload 13
aload 12
arraylength
if_icmplt 27
end local 13 end local 12 42: iload 11
ifne 21
end local 11 end local 10 43: StackMap locals: android.text.DynamicLayout java.lang.CharSequence int int int java.lang.CharSequence int int int int
StackMap stack:
aload 0
iload 2
invokevirtual android.text.DynamicLayout.getLineForOffset:(I)I
istore 10
start local 10 44: aload 0
iload 10
invokevirtual android.text.DynamicLayout.getLineTop:(I)I
istore 11
start local 11 45: aload 0
iload 2
iload 3
iadd
invokevirtual android.text.DynamicLayout.getLineForOffset:(I)I
istore 12
start local 12 46: iload 2
iload 4
iadd
iload 6
if_icmpne 48
47: aload 0
invokevirtual android.text.DynamicLayout.getLineCount:()I
istore 12
48: StackMap locals: int int int
StackMap stack:
aload 0
iload 12
invokevirtual android.text.DynamicLayout.getLineTop:(I)I
istore 13
start local 13 49: iload 12
aload 0
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
start local 14 52: getstatic android.text.DynamicLayout.sLock:[Ljava/lang/Object;
dup
astore 17
monitorenter
53: getstatic android.text.DynamicLayout.sStaticLayout:Landroid/text/StaticLayout;
astore 15
start local 15 54: getstatic android.text.DynamicLayout.sBuilder:Landroid/text/StaticLayout$Builder;
astore 16
start local 16 55: aconst_null
putstatic android.text.DynamicLayout.sStaticLayout:Landroid/text/StaticLayout;
56: aconst_null
putstatic android.text.DynamicLayout.sBuilder:Landroid/text/StaticLayout$Builder;
57: aload 17
monitorexit
58: goto 61
end local 16 end local 15 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 start local 16 61: 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
ifnonnull 64
62: new android.text.StaticLayout
dup
aconst_null
invokespecial android.text.StaticLayout.<init>:(Ljava/lang/CharSequence;)V
astore 15
63: aload 5
iload 2
iload 2
iload 4
iadd
aload 0
invokevirtual android.text.DynamicLayout.getPaint:()Landroid/text/TextPaint;
aload 0
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
64: StackMap locals:
StackMap stack:
aload 16
aload 5
iload 2
iload 2
iload 4
iadd
invokevirtual android.text.StaticLayout$Builder.setText:(Ljava/lang/CharSequence;II)Landroid/text/StaticLayout$Builder;
65: aload 0
invokevirtual android.text.DynamicLayout.getPaint:()Landroid/text/TextPaint;
invokevirtual android.text.StaticLayout$Builder.setPaint:(Landroid/text/TextPaint;)Landroid/text/StaticLayout$Builder;
66: aload 0
invokevirtual android.text.DynamicLayout.getWidth:()I
invokevirtual android.text.StaticLayout$Builder.setWidth:(I)Landroid/text/StaticLayout$Builder;
67: aload 0
invokevirtual android.text.DynamicLayout.getTextDirectionHeuristic:()Landroid/text/TextDirectionHeuristic;
invokevirtual android.text.StaticLayout$Builder.setTextDirection:(Landroid/text/TextDirectionHeuristic;)Landroid/text/StaticLayout$Builder;
68: aload 0
invokevirtual android.text.DynamicLayout.getSpacingAdd:()F
aload 0
invokevirtual android.text.DynamicLayout.getSpacingMultiplier:()F
invokevirtual android.text.StaticLayout$Builder.setLineSpacing:(FF)Landroid/text/StaticLayout$Builder;
69: aload 0
getfield android.text.DynamicLayout.mFallbackLineSpacing:Z
invokevirtual android.text.StaticLayout$Builder.setUseLineSpacingFromFallbacks:(Z)Landroid/text/StaticLayout$Builder;
70: aload 0
getfield android.text.DynamicLayout.mEllipsizedWidth:I
invokevirtual android.text.StaticLayout$Builder.setEllipsizedWidth:(I)Landroid/text/StaticLayout$Builder;
71: aload 0
getfield android.text.DynamicLayout.mEllipsizeAt:Landroid/text/TextUtils$TruncateAt;
invokevirtual android.text.StaticLayout$Builder.setEllipsize:(Landroid/text/TextUtils$TruncateAt;)Landroid/text/StaticLayout$Builder;
72: aload 0
getfield android.text.DynamicLayout.mBreakStrategy:I
invokevirtual android.text.StaticLayout$Builder.setBreakStrategy:(I)Landroid/text/StaticLayout$Builder;
73: aload 0
getfield android.text.DynamicLayout.mHyphenationFrequency:I
invokevirtual android.text.StaticLayout$Builder.setHyphenationFrequency:(I)Landroid/text/StaticLayout$Builder;
74: aload 0
getfield android.text.DynamicLayout.mJustificationMode:I
invokevirtual android.text.StaticLayout$Builder.setJustificationMode:(I)Landroid/text/StaticLayout$Builder;
75: iload 14
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: aload 15
aload 16
iconst_0
iconst_1
invokevirtual android.text.StaticLayout.generate:(Landroid/text/StaticLayout$Builder;ZZ)V
79: aload 15
invokevirtual android.text.StaticLayout.getLineCount:()I
istore 17
start local 17 80: iload 2
iload 4
iadd
iload 6
if_icmpeq 82
aload 15
iload 17
iconst_1
isub
invokevirtual android.text.StaticLayout.getLineStart:(I)I
iload 2
iload 4
iadd
if_icmpne 82
81: iinc 17 -1
82: StackMap locals: int
StackMap stack:
aload 0
getfield android.text.DynamicLayout.mInts:Landroid/text/PackedIntVector;
iload 10
iload 12
iload 10
isub
invokevirtual android.text.PackedIntVector.deleteAt:(II)V
83: aload 0
getfield android.text.DynamicLayout.mObjects:Landroid/text/PackedObjectVector;
iload 10
iload 12
iload 10
isub
invokevirtual android.text.PackedObjectVector.deleteAt:(II)V
84: aload 15
iload 17
invokevirtual android.text.StaticLayout.getLineTop:(I)I
istore 18
start local 18 85: iconst_0
istore 19
start local 19 86: iconst_0
istore 20
start local 20 87: aload 0
getfield android.text.DynamicLayout.mIncludePad:Z
ifeq 91
iload 10
ifne 91
88: aload 15
invokevirtual android.text.StaticLayout.getTopPadding:()I
istore 19
89: aload 0
iload 19
putfield android.text.DynamicLayout.mTopPadding:I
90: iload 18
iload 19
isub
istore 18
91: StackMap locals: int int int
StackMap stack:
aload 0
getfield android.text.DynamicLayout.mIncludePad:Z
ifeq 95
iload 14
ifeq 95
92: aload 15
invokevirtual android.text.StaticLayout.getBottomPadding:()I
istore 20
93: aload 0
iload 20
putfield android.text.DynamicLayout.mBottomPadding:I
94: iload 18
iload 20
iadd
istore 18
95: StackMap locals:
StackMap stack:
aload 0
getfield android.text.DynamicLayout.mInts:Landroid/text/PackedIntVector;
iload 10
iconst_0
iload 4
iload 3
isub
invokevirtual android.text.PackedIntVector.adjustValuesBelow:(III)V
96: aload 0
getfield android.text.DynamicLayout.mInts:Landroid/text/PackedIntVector;
iload 10
iconst_1
iload 11
iload 13
isub
iload 18
iadd
invokevirtual android.text.PackedIntVector.adjustValuesBelow:(III)V
97: aload 0
getfield android.text.DynamicLayout.mEllipsize:Z
ifeq 101
98: bipush 7
newarray 10
astore 21
start local 21 99: aload 21
iconst_5
ldc -2147483648
iastore
100: goto 102
end local 21 101: StackMap locals:
StackMap stack:
iconst_5
newarray 10
astore 21
start local 21 102: StackMap locals: int[]
StackMap stack:
iconst_1
anewarray android.text.Layout$Directions
astore 22
start local 22 103: iconst_0
istore 23
start local 23 104: goto 136
105: StackMap locals: android.text.Layout$Directions[] int
StackMap stack:
aload 15
iload 23
invokevirtual android.text.StaticLayout.getLineStart:(I)I
istore 24
start local 24 106: aload 21
iconst_0
iload 24
iastore
107: aload 21
iconst_0
dup2
iaload
aload 15
iload 23
invokevirtual android.text.StaticLayout.getParagraphDirection:(I)I
bipush 30
ishl
ior
iastore
108: aload 21
iconst_0
dup2
iaload
aload 15
iload 23
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: aload 15
iload 23
invokevirtual android.text.StaticLayout.getLineTop:(I)I
iload 11
iadd
istore 25
start local 25 112: iload 23
ifle 114
113: iload 25
iload 19
isub
istore 25
114: StackMap locals: int
StackMap stack:
aload 21
iconst_1
iload 25
iastore
115: aload 15
iload 23
invokevirtual android.text.StaticLayout.getLineDescent:(I)I
istore 26
start local 26 116: iload 23
iload 17
iconst_1
isub
if_icmpne 118
117: iload 26
iload 20
iadd
istore 26
118: StackMap locals: int
StackMap stack:
aload 21
iconst_2
iload 26
iastore
119: aload 21
iconst_3
aload 15
iload 23
invokevirtual android.text.StaticLayout.getLineExtra:(I)I
iastore
120: aload 22
iconst_0
aload 15
iload 23
invokevirtual android.text.StaticLayout.getLineDirections:(I)Landroid/text/Layout$Directions;
aastore
121: iload 23
iload 17
iconst_1
isub
if_icmpne 122
iload 2
iload 4
iadd
goto 123
StackMap locals:
StackMap stack:
122: aload 15
iload 23
iconst_1
iadd
invokevirtual android.text.StaticLayout.getLineStart:(I)I
StackMap locals:
StackMap stack: int
123: istore 27
start local 27 124: aload 21
iconst_4
aload 15
iload 23
invokevirtual android.text.StaticLayout.getHyphen:(I)I
sipush 255
iand
iastore
125: aload 21
iconst_4
dup2
iaload
126: aload 0
aload 5
iload 24
iload 27
invokevirtual android.text.DynamicLayout.contentMayProtrudeFromLineTopOrBottom:(Ljava/lang/CharSequence;II)Z
ifeq 128
127: 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: 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: aload 0
getfield android.text.DynamicLayout.mEllipsize:Z
ifeq 133
131: aload 21
iconst_5
aload 15
iload 23
invokevirtual android.text.StaticLayout.getEllipsisStart:(I)I
iastore
132: aload 21
bipush 6
aload 15
iload 23
invokevirtual android.text.StaticLayout.getEllipsisCount:(I)I
iastore
133: StackMap locals:
StackMap stack:
aload 0
getfield android.text.DynamicLayout.mInts:Landroid/text/PackedIntVector;
iload 10
iload 23
iadd
aload 21
invokevirtual android.text.PackedIntVector.insertAt:(I[I)V
134: aload 0
getfield android.text.DynamicLayout.mObjects:Landroid/text/PackedObjectVector;
iload 10
iload 23
iadd
aload 22
invokevirtual android.text.PackedObjectVector.insertAt:(I[Ljava/lang/Object;)V
end local 27 end local 26 end local 25 end local 24 135: iinc 23 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
iload 17
if_icmplt 105
end local 23 137: aload 0
iload 10
iload 12
iconst_1
isub
iload 17
invokevirtual android.text.DynamicLayout.updateBlocks:(III)V
138: aload 16
invokevirtual android.text.StaticLayout$Builder.finish:()V
139: getstatic android.text.DynamicLayout.sLock:[Ljava/lang/Object;
dup
astore 23
monitorenter
140: aload 15
putstatic android.text.DynamicLayout.sStaticLayout:Landroid/text/StaticLayout;
141: aload 16
putstatic android.text.DynamicLayout.sBuilder:Landroid/text/StaticLayout$Builder;
142: 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: StackMap locals:
StackMap stack:
return
end local 22 end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 0: aload 1
instanceof android.text.Spanned
ifeq 4
1: aload 1
checkcast android.text.Spanned
astore 4
start local 4 2: aload 4
iload 2
iload 3
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: iconst_1
ireturn
end local 4 4: StackMap locals:
StackMap stack:
aload 0
invokevirtual android.text.DynamicLayout.getPaint:()Landroid/text/TextPaint;
astore 4
start local 4 5: aload 1
instanceof android.text.PrecomputedText
ifeq 9
6: aload 1
checkcast android.text.PrecomputedText
astore 5
start local 5 7: aload 5
iload 2
iload 3
aload 0
getfield android.text.DynamicLayout.mTempRect:Landroid/graphics/Rect;
invokevirtual android.text.PrecomputedText.getBounds:(IILandroid/graphics/Rect;)V
end local 5 8: goto 10
9: StackMap locals: android.graphics.Paint
StackMap stack:
aload 4
aload 1
iload 2
iload 3
aload 0
getfield android.text.DynamicLayout.mTempRect:Landroid/graphics/Rect;
invokevirtual android.graphics.Paint.getTextBounds:(Ljava/lang/CharSequence;IILandroid/graphics/Rect;)V
10: StackMap locals:
StackMap stack:
aload 4
invokevirtual android.graphics.Paint.getFontMetricsInt:()Landroid/graphics/Paint$FontMetricsInt;
astore 5
start local 5 11: aload 0
getfield android.text.DynamicLayout.mTempRect:Landroid/graphics/Rect;
getfield android.graphics.Rect.top:I
aload 5
getfield android.graphics.Paint$FontMetricsInt.top:I
if_icmplt 12
aload 0
getfield android.text.DynamicLayout.mTempRect:Landroid/graphics/Rect;
getfield android.graphics.Rect.bottom:I
aload 5
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 end local 4 end local 3 end local 2 end local 1 end local 0 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 0: sipush 400
istore 1
start local 1 1: aload 0
iconst_0
putfield android.text.DynamicLayout.mNumberOfBlocks:I
2: aload 0
getfield android.text.DynamicLayout.mDisplay:Ljava/lang/CharSequence;
astore 2
start local 2 3: StackMap locals: int java.lang.CharSequence
StackMap stack:
aload 2
bipush 10
iload 1
invokestatic android.text.TextUtils.indexOf:(Ljava/lang/CharSequence;CI)I
istore 1
4: iload 1
ifge 7
5: aload 0
aload 2
invokeinterface java.lang.CharSequence.length:()I
invokevirtual android.text.DynamicLayout.addBlockAtOffset:(I)V
6: goto 10
7: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual android.text.DynamicLayout.addBlockAtOffset:(I)V
8: iinc 1 400
9: goto 3
10: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield android.text.DynamicLayout.mBlockEndLines:[I
arraylength
newarray 10
putfield android.text.DynamicLayout.mBlockIndices:[I
11: iconst_0
istore 3
start local 3 12: goto 15
13: StackMap locals: int
StackMap stack:
aload 0
getfield android.text.DynamicLayout.mBlockIndices:[I
iload 3
iconst_m1
iastore
14: iinc 3 1
StackMap locals:
StackMap stack:
15: iload 3
aload 0
getfield android.text.DynamicLayout.mBlockEndLines:[I
arraylength
if_icmplt 13
end local 3 16: return
end local 2 end local 1 end local 0 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 0: aload 0
getfield android.text.DynamicLayout.mBlocksAlwaysNeedToBeRedrawn:Landroid/util/ArraySet;
areturn
end local 0 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 start local 1 0: iload 1
ifne 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: aload 0
getfield android.text.DynamicLayout.mBlockEndLines:[I
iload 1
iconst_1
isub
iaload
iconst_1
iadd
StackMap locals:
StackMap stack: int
2: istore 2
start local 2 3: aload 0
getfield android.text.DynamicLayout.mBlockEndLines:[I
iload 1
iaload
istore 3
start local 3 4: iload 2
istore 4
start local 4 5: goto 12
6: StackMap locals: int int int
StackMap stack:
aload 0
iload 4
invokevirtual android.text.DynamicLayout.getContentMayProtrudeFromTopOrBottom:(I)Z
ifeq 11
7: aload 0
getfield android.text.DynamicLayout.mBlocksAlwaysNeedToBeRedrawn:Landroid/util/ArraySet;
ifnonnull 9
8: aload 0
new android.util.ArraySet
dup
invokespecial android.util.ArraySet.<init>:()V
putfield android.text.DynamicLayout.mBlocksAlwaysNeedToBeRedrawn:Landroid/util/ArraySet;
9: StackMap locals:
StackMap stack:
aload 0
getfield android.text.DynamicLayout.mBlocksAlwaysNeedToBeRedrawn:Landroid/util/ArraySet;
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual android.util.ArraySet.add:(Ljava/lang/Object;)Z
pop
10: return
11: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
12: iload 4
iload 3
if_icmple 6
end local 4 13: aload 0
getfield android.text.DynamicLayout.mBlocksAlwaysNeedToBeRedrawn:Landroid/util/ArraySet;
ifnull 15
14: aload 0
getfield android.text.DynamicLayout.mBlocksAlwaysNeedToBeRedrawn:Landroid/util/ArraySet;
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual android.util.ArraySet.remove:(Ljava/lang/Object;)Z
pop
15: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 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 start local 1 0: aload 0
iload 1
invokevirtual android.text.DynamicLayout.getLineForOffset:(I)I
istore 2
start local 2 1: aload 0
getfield android.text.DynamicLayout.mBlockEndLines:[I
ifnonnull 7
2: aload 0
iconst_1
invokestatic com.android.internal.util.ArrayUtils.newUnpaddedIntArray:(I)[I
putfield android.text.DynamicLayout.mBlockEndLines:[I
3: aload 0
getfield android.text.DynamicLayout.mBlockEndLines:[I
aload 0
getfield android.text.DynamicLayout.mNumberOfBlocks:I
iload 2
iastore
4: aload 0
aload 0
getfield android.text.DynamicLayout.mNumberOfBlocks:I
invokevirtual android.text.DynamicLayout.updateAlwaysNeedsToBeRedrawn:(I)V
5: aload 0
dup
getfield android.text.DynamicLayout.mNumberOfBlocks:I
iconst_1
iadd
putfield android.text.DynamicLayout.mNumberOfBlocks:I
6: return
7: StackMap locals: int
StackMap stack:
aload 0
getfield android.text.DynamicLayout.mBlockEndLines:[I
aload 0
getfield android.text.DynamicLayout.mNumberOfBlocks:I
iconst_1
isub
iaload
istore 3
start local 3 8: iload 2
iload 3
if_icmple 12
9: aload 0
aload 0
getfield android.text.DynamicLayout.mBlockEndLines:[I
aload 0
getfield android.text.DynamicLayout.mNumberOfBlocks:I
iload 2
invokestatic com.android.internal.util.GrowingArrayUtils.append:([III)[I
putfield android.text.DynamicLayout.mBlockEndLines:[I
10: aload 0
aload 0
getfield android.text.DynamicLayout.mNumberOfBlocks:I
invokevirtual android.text.DynamicLayout.updateAlwaysNeedsToBeRedrawn:(I)V
11: aload 0
dup
getfield android.text.DynamicLayout.mNumberOfBlocks:I
iconst_1
iadd
putfield android.text.DynamicLayout.mNumberOfBlocks:I
12: StackMap locals: int
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 0: aload 0
getfield android.text.DynamicLayout.mBlockEndLines:[I
ifnonnull 3
1: aload 0
invokevirtual android.text.DynamicLayout.createBlocks:()V
2: return
3: StackMap locals:
StackMap stack:
iconst_m1
istore 4
start local 4 4: iconst_m1
istore 5
start local 5 5: iconst_0
istore 6
start local 6 6: goto 11
7: StackMap locals: int int int
StackMap stack:
aload 0
getfield android.text.DynamicLayout.mBlockEndLines:[I
iload 6
iaload
iload 1
if_icmplt 10
8: iload 6
istore 4
9: goto 12
10: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
11: iload 6
aload 0
getfield android.text.DynamicLayout.mNumberOfBlocks:I
if_icmplt 7
end local 6 12: StackMap locals:
StackMap stack:
iload 4
istore 6
start local 6 13: goto 18
14: StackMap locals: int
StackMap stack:
aload 0
getfield android.text.DynamicLayout.mBlockEndLines:[I
iload 6
iaload
iload 2
if_icmplt 17
15: iload 6
istore 5
16: goto 19
17: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
18: iload 6
aload 0
getfield android.text.DynamicLayout.mNumberOfBlocks:I
if_icmplt 14
end local 6 19: StackMap locals:
StackMap stack:
aload 0
getfield android.text.DynamicLayout.mBlockEndLines:[I
iload 5
iaload
istore 6
start local 6 20: iload 1
iload 4
ifne 21
iconst_0
goto 22
21: StackMap locals: android.text.DynamicLayout int int int int int int
StackMap stack: int
aload 0
getfield android.text.DynamicLayout.mBlockEndLines:[I
iload 4
iconst_1
isub
iaload
iconst_1
iadd
22: 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
start local 7 25: iload 3
ifle 26
iconst_1
goto 27
StackMap locals: int
StackMap stack:
26: iconst_0
StackMap locals:
StackMap stack: int
27: istore 8
start local 8 28: iload 2
aload 0
getfield android.text.DynamicLayout.mBlockEndLines:[I
iload 5
iaload
if_icmpge 29
iconst_1
goto 30
StackMap locals: int
StackMap stack:
29: iconst_0
StackMap locals:
StackMap stack: int
30: istore 9
start local 9 31: iconst_0
istore 10
start local 10 32: iload 7
ifeq 33
iinc 10 1
33: StackMap locals: int int
StackMap stack:
iload 8
ifeq 34
iinc 10 1
34: StackMap locals:
StackMap stack:
iload 9
ifeq 35
iinc 10 1
35: StackMap locals:
StackMap stack:
iload 5
iload 4
isub
iconst_1
iadd
istore 11
start local 11 36: aload 0
getfield android.text.DynamicLayout.mNumberOfBlocks:I
iload 10
iadd
iload 11
isub
istore 12
start local 12 37: iload 12
ifne 42
38: aload 0
getfield android.text.DynamicLayout.mBlockEndLines:[I
iconst_0
iconst_0
iastore
39: aload 0
getfield android.text.DynamicLayout.mBlockIndices:[I
iconst_0
iconst_m1
iastore
40: aload 0
iconst_1
putfield android.text.DynamicLayout.mNumberOfBlocks:I
41: return
42: StackMap locals: int int
StackMap stack:
iload 12
aload 0
getfield android.text.DynamicLayout.mBlockEndLines:[I
arraylength
if_icmple 57
43: aload 0
getfield android.text.DynamicLayout.mBlockEndLines:[I
arraylength
iconst_2
imul
iload 12
invokestatic java.lang.Math.max:(II)I
44: invokestatic com.android.internal.util.ArrayUtils.newUnpaddedIntArray:(I)[I
astore 13
start local 13 45: aload 13
arraylength
newarray 10
astore 14
start local 14 46: aload 0
getfield android.text.DynamicLayout.mBlockEndLines:[I
iconst_0
aload 13
iconst_0
iload 4
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
47: aload 0
getfield android.text.DynamicLayout.mBlockIndices:[I
iconst_0
aload 14
iconst_0
iload 4
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
48: aload 0
getfield android.text.DynamicLayout.mBlockEndLines:[I
iload 5
iconst_1
iadd
49: aload 13
iload 4
iload 10
iadd
aload 0
getfield android.text.DynamicLayout.mNumberOfBlocks:I
iload 5
isub
iconst_1
isub
50: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
51: aload 0
getfield android.text.DynamicLayout.mBlockIndices:[I
iload 5
iconst_1
iadd
52: aload 14
iload 4
iload 10
iadd
aload 0
getfield android.text.DynamicLayout.mNumberOfBlocks:I
iload 5
isub
iconst_1
isub
53: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
54: aload 0
aload 13
putfield android.text.DynamicLayout.mBlockEndLines:[I
55: aload 0
aload 14
putfield android.text.DynamicLayout.mBlockIndices:[I
end local 14 end local 13 56: goto 64
StackMap locals:
StackMap stack:
57: iload 10
iload 11
iadd
ifeq 64
58: aload 0
getfield android.text.DynamicLayout.mBlockEndLines:[I
iload 5
iconst_1
iadd
59: aload 0
getfield android.text.DynamicLayout.mBlockEndLines:[I
iload 4
iload 10
iadd
aload 0
getfield android.text.DynamicLayout.mNumberOfBlocks:I
iload 5
isub
iconst_1
isub
60: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
61: aload 0
getfield android.text.DynamicLayout.mBlockIndices:[I
iload 5
iconst_1
iadd
62: aload 0
getfield android.text.DynamicLayout.mBlockIndices:[I
iload 4
iload 10
iadd
aload 0
getfield android.text.DynamicLayout.mNumberOfBlocks:I
iload 5
isub
iconst_1
isub
63: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
64: StackMap locals:
StackMap stack:
iload 10
iload 11
iadd
ifeq 78
aload 0
getfield android.text.DynamicLayout.mBlocksAlwaysNeedToBeRedrawn:Landroid/util/ArraySet;
ifnull 78
65: new android.util.ArraySet
dup
invokespecial android.util.ArraySet.<init>:()V
astore 13
start local 13 66: iload 10
iload 11
isub
istore 14
start local 14 67: iconst_0
istore 15
start local 15 68: goto 76
69: StackMap locals: android.util.ArraySet int int
StackMap stack:
aload 0
getfield android.text.DynamicLayout.mBlocksAlwaysNeedToBeRedrawn:Landroid/util/ArraySet;
iload 15
invokevirtual android.util.ArraySet.valueAt:(I)Ljava/lang/Object;
checkcast java.lang.Integer
astore 16
start local 16 70: aload 16
invokevirtual java.lang.Integer.intValue:()I
iload 4
if_icmpge 72
71: aload 13
aload 16
invokevirtual android.util.ArraySet.add:(Ljava/lang/Object;)Z
pop
72: StackMap locals: java.lang.Integer
StackMap stack:
aload 16
invokevirtual java.lang.Integer.intValue:()I
iload 5
if_icmple 75
73: aload 16
invokevirtual java.lang.Integer.intValue:()I
iload 14
iadd
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
astore 16
74: aload 13
aload 16
invokevirtual android.util.ArraySet.add:(Ljava/lang/Object;)Z
pop
end local 16 75: StackMap locals:
StackMap stack:
iinc 15 1
StackMap locals:
StackMap stack:
76: iload 15
aload 0
getfield android.text.DynamicLayout.mBlocksAlwaysNeedToBeRedrawn:Landroid/util/ArraySet;
invokevirtual android.util.ArraySet.size:()I
if_icmplt 69
end local 15 77: aload 0
aload 13
putfield android.text.DynamicLayout.mBlocksAlwaysNeedToBeRedrawn:Landroid/util/ArraySet;
end local 14 end local 13 78: StackMap locals:
StackMap stack:
aload 0
iload 12
putfield android.text.DynamicLayout.mNumberOfBlocks:I
79: iload 3
iload 2
iload 1
isub
iconst_1
iadd
isub
istore 14
start local 14 80: iload 14
ifeq 88
81: iload 4
iload 10
iadd
istore 13
start local 13 82: iload 13
istore 15
start local 15 83: goto 86
84: StackMap locals: int int int
StackMap stack:
aload 0
getfield android.text.DynamicLayout.mBlockEndLines:[I
iload 15
dup2
iaload
iload 14
iadd
iastore
85: iinc 15 1
StackMap locals:
StackMap stack:
86: iload 15
aload 0
getfield android.text.DynamicLayout.mNumberOfBlocks:I
if_icmplt 84
end local 15 87: goto 89
end local 13 88: StackMap locals: android.text.DynamicLayout int int int int int int int int int int int int top int
StackMap stack:
aload 0
getfield android.text.DynamicLayout.mNumberOfBlocks:I
istore 13
start local 13 89: StackMap locals: android.text.DynamicLayout int int int int int int int int int int int int int int
StackMap stack:
aload 0
aload 0
getfield android.text.DynamicLayout.mIndexFirstChangedBlock:I
iload 13
invokestatic java.lang.Math.min:(II)I
putfield android.text.DynamicLayout.mIndexFirstChangedBlock:I
90: iload 4
istore 15
start local 15 91: iload 7
ifeq 96
92: aload 0
getfield android.text.DynamicLayout.mBlockEndLines:[I
iload 15
iload 1
iconst_1
isub
iastore
93: aload 0
iload 15
invokevirtual android.text.DynamicLayout.updateAlwaysNeedsToBeRedrawn:(I)V
94: aload 0
getfield android.text.DynamicLayout.mBlockIndices:[I
iload 15
iconst_m1
iastore
95: iinc 15 1
96: StackMap locals: int
StackMap stack:
iload 8
ifeq 101
97: aload 0
getfield android.text.DynamicLayout.mBlockEndLines:[I
iload 15
iload 1
iload 3
iadd
iconst_1
isub
iastore
98: aload 0
iload 15
invokevirtual android.text.DynamicLayout.updateAlwaysNeedsToBeRedrawn:(I)V
99: aload 0
getfield android.text.DynamicLayout.mBlockIndices:[I
iload 15
iconst_m1
iastore
100: iinc 15 1
101: StackMap locals:
StackMap stack:
iload 9
ifeq 105
102: aload 0
getfield android.text.DynamicLayout.mBlockEndLines:[I
iload 15
iload 6
iload 14
iadd
iastore
103: aload 0
iload 15
invokevirtual android.text.DynamicLayout.updateAlwaysNeedsToBeRedrawn:(I)V
104: aload 0
getfield android.text.DynamicLayout.mBlockIndices:[I
iload 15
iconst_m1
iastore
105: StackMap locals:
StackMap stack:
return
end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
arraylength
newarray 10
putfield android.text.DynamicLayout.mBlockEndLines:[I
1: aload 0
aload 2
arraylength
newarray 10
putfield android.text.DynamicLayout.mBlockIndices:[I
2: aload 1
iconst_0
aload 0
getfield android.text.DynamicLayout.mBlockEndLines:[I
iconst_0
aload 1
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
3: aload 2
iconst_0
aload 0
getfield android.text.DynamicLayout.mBlockIndices:[I
iconst_0
aload 2
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
4: aload 0
iload 3
putfield android.text.DynamicLayout.mNumberOfBlocks:I
5: goto 7
6: StackMap locals:
StackMap stack:
aload 0
getfield android.text.DynamicLayout.mInts:Landroid/text/PackedIntVector;
aload 0
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: StackMap locals:
StackMap stack:
aload 0
getfield android.text.DynamicLayout.mInts:Landroid/text/PackedIntVector;
invokevirtual android.text.PackedIntVector.size:()I
iload 4
if_icmplt 6
8: return
end local 4 end local 3 end local 2 end local 1 end local 0 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 0: aload 0
getfield android.text.DynamicLayout.mBlockEndLines:[I
areturn
end local 0 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 0: aload 0
getfield android.text.DynamicLayout.mBlockIndices:[I
areturn
end local 0 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 start local 1 0: aload 0
getfield android.text.DynamicLayout.mBlockIndices:[I
iload 1
iaload
ireturn
end local 1 end local 0 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 start local 1 start local 2 0: aload 0
getfield android.text.DynamicLayout.mBlockIndices:[I
iload 1
iload 2
iastore
1: return
end local 2 end local 1 end local 0 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 0: aload 0
getfield android.text.DynamicLayout.mNumberOfBlocks:I
ireturn
end local 0 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 0: aload 0
getfield android.text.DynamicLayout.mIndexFirstChangedBlock:I
ireturn
end local 0 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 start local 1 0: aload 0
iload 1
putfield android.text.DynamicLayout.mIndexFirstChangedBlock:I
1: return
end local 1 end local 0 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 0: aload 0
getfield android.text.DynamicLayout.mInts:Landroid/text/PackedIntVector;
invokevirtual android.text.PackedIntVector.size:()I
iconst_1
isub
ireturn
end local 0 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 start local 1 0: aload 0
getfield android.text.DynamicLayout.mInts:Landroid/text/PackedIntVector;
iload 1
iconst_1
invokevirtual android.text.PackedIntVector.getValue:(II)I
ireturn
end local 1 end local 0 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 start local 1 0: aload 0
getfield android.text.DynamicLayout.mInts:Landroid/text/PackedIntVector;
iload 1
iconst_2
invokevirtual android.text.PackedIntVector.getValue:(II)I
ireturn
end local 1 end local 0 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 start local 1 0: aload 0
getfield android.text.DynamicLayout.mInts:Landroid/text/PackedIntVector;
iload 1
iconst_3
invokevirtual android.text.PackedIntVector.getValue:(II)I
ireturn
end local 1 end local 0 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 start local 1 0: aload 0
getfield android.text.DynamicLayout.mInts:Landroid/text/PackedIntVector;
iload 1
iconst_0
invokevirtual android.text.PackedIntVector.getValue:(II)I
ldc 536870911
iand
ireturn
end local 1 end local 0 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 start local 1 0: aload 0
getfield android.text.DynamicLayout.mInts:Landroid/text/PackedIntVector;
iload 1
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 end local 0 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 start local 1 0: aload 0
getfield android.text.DynamicLayout.mInts:Landroid/text/PackedIntVector;
iload 1
iconst_0
invokevirtual android.text.PackedIntVector.getValue:(II)I
bipush 30
ishr
ireturn
end local 1 end local 0 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 start local 1 0: aload 0
getfield android.text.DynamicLayout.mObjects:Landroid/text/PackedObjectVector;
iload 1
iconst_0
invokevirtual android.text.PackedObjectVector.getValue:(II)Ljava/lang/Object;
checkcast android.text.Layout$Directions
areturn
end local 1 end local 0 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 0: aload 0
getfield android.text.DynamicLayout.mTopPadding:I
ireturn
end local 0 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 0: aload 0
getfield android.text.DynamicLayout.mBottomPadding:I
ireturn
end local 0 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 start local 1 0: aload 0
getfield android.text.DynamicLayout.mInts:Landroid/text/PackedIntVector;
iload 1
iconst_4
invokevirtual android.text.PackedIntVector.getValue:(II)I
sipush 255
iand
ireturn
end local 1 end local 0 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 start local 1 0: aload 0
getfield android.text.DynamicLayout.mInts:Landroid/text/PackedIntVector;
iload 1
iconst_4
invokevirtual android.text.PackedIntVector.getValue:(II)I
1: sipush 256
2: iand
ifeq 3
iconst_1
ireturn
StackMap locals:
StackMap stack:
3: iconst_0
ireturn
end local 1 end local 0 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 0: aload 0
getfield android.text.DynamicLayout.mEllipsizedWidth:I
ireturn
end local 0 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 start local 1 0: aload 0
getfield android.text.DynamicLayout.mEllipsizeAt:Landroid/text/TextUtils$TruncateAt;
ifnonnull 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield android.text.DynamicLayout.mInts:Landroid/text/PackedIntVector;
iload 1
iconst_5
invokevirtual android.text.PackedIntVector.getValue:(II)I
ireturn
end local 1 end local 0 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 start local 1 0: aload 0
getfield android.text.DynamicLayout.mEllipsizeAt:Landroid/text/TextUtils$TruncateAt;
ifnonnull 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield android.text.DynamicLayout.mInts:Landroid/text/PackedIntVector;
iload 1
bipush 6
invokevirtual android.text.PackedIntVector.getValue:(II)I
ireturn
end local 1 end local 0 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