public class android.widget.LinearLayout extends android.view.ViewGroup
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: android.widget.LinearLayout
super_class: android.view.ViewGroup
{
public static final int HORIZONTAL;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 0
public static final int VERTICAL;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int SHOW_DIVIDER_NONE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 0
public static final int SHOW_DIVIDER_BEGINNING;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int SHOW_DIVIDER_MIDDLE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
public static final int SHOW_DIVIDER_END;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 4
private final boolean mAllowInconsistentMeasurement;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private boolean mBaselineAligned;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
android.view.ViewDebug$ExportedProperty(category = "layout")
private int mBaselineAlignedChildIndex;
descriptor: I
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
android.view.ViewDebug$ExportedProperty(category = "layout")
private int mBaselineChildTop;
descriptor: I
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
android.view.ViewDebug$ExportedProperty(category = "measurement")
private int mOrientation;
descriptor: I
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
android.view.ViewDebug$ExportedProperty(category = "measurement")
private int mGravity;
descriptor: I
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
android.view.ViewDebug$ExportedProperty(category = "measurement", flagMapping = {android.view.ViewDebug$FlagToString(mask = -1, equals = -1, name = "NONE"), android.view.ViewDebug$FlagToString(mask = 0, equals = 0, name = "NONE"), android.view.ViewDebug$FlagToString(mask = 48, equals = 48, name = "TOP"), android.view.ViewDebug$FlagToString(mask = 80, equals = 80, name = "BOTTOM"), android.view.ViewDebug$FlagToString(mask = 3, equals = 3, name = "LEFT"), android.view.ViewDebug$FlagToString(mask = 5, equals = 5, name = "RIGHT"), android.view.ViewDebug$FlagToString(mask = 8388611, equals = 8388611, name = "START"), android.view.ViewDebug$FlagToString(mask = 8388613, equals = 8388613, name = "END"), android.view.ViewDebug$FlagToString(mask = 16, equals = 16, name = "CENTER_VERTICAL"), android.view.ViewDebug$FlagToString(mask = 112, equals = 112, name = "FILL_VERTICAL"), android.view.ViewDebug$FlagToString(mask = 1, equals = 1, name = "CENTER_HORIZONTAL"), android.view.ViewDebug$FlagToString(mask = 7, equals = 7, name = "FILL_HORIZONTAL"), android.view.ViewDebug$FlagToString(mask = 17, equals = 17, name = "CENTER"), android.view.ViewDebug$FlagToString(mask = 119, equals = 119, name = "FILL"), android.view.ViewDebug$FlagToString(mask = 8388608, equals = 8388608, name = "RELATIVE")}, formatToHexString = true)
private int mTotalLength;
descriptor: I
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
android.view.ViewDebug$ExportedProperty(category = "measurement")
private float mWeightSum;
descriptor: F
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
android.view.ViewDebug$ExportedProperty(category = "layout")
private boolean mUseLargestChild;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
android.view.ViewDebug$ExportedProperty(category = "layout")
private int[] mMaxAscent;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private int[] mMaxDescent;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private static final int VERTICAL_GRAVITY_COUNT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4
private static final int INDEX_CENTER_VERTICAL;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int INDEX_TOP;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int INDEX_BOTTOM;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int INDEX_FILL;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private android.graphics.drawable.Drawable mDivider;
descriptor: Landroid/graphics/drawable/Drawable;
flags: (0x0002) ACC_PRIVATE
private int mDividerWidth;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int mDividerHeight;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int mShowDividers;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int mDividerPadding;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int mLayoutDirection;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private static boolean sCompatibilityDone;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static boolean sRemeasureWeightedChildren;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: iconst_0
putstatic android.widget.LinearLayout.sCompatibilityDone:Z
1: iconst_1
putstatic android.widget.LinearLayout.sRemeasureWeightedChildren:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(android.content.Context);
descriptor: (Landroid/content/Context;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
invokespecial android.widget.LinearLayout.<init>:(Landroid/content/Context;Landroid/util/AttributeSet;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/widget/LinearLayout;
0 2 1 context Landroid/content/Context;
MethodParameters:
Name Flags
context
public void <init>(android.content.Context, android.util.AttributeSet);
descriptor: (Landroid/content/Context;Landroid/util/AttributeSet;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
iconst_0
invokespecial android.widget.LinearLayout.<init>:(Landroid/content/Context;Landroid/util/AttributeSet;I)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/widget/LinearLayout;
0 2 1 context Landroid/content/Context;
0 2 2 attrs Landroid/util/AttributeSet;
MethodParameters:
Name Flags
context
attrs
public void <init>(android.content.Context, android.util.AttributeSet, int);
descriptor: (Landroid/content/Context;Landroid/util/AttributeSet;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
iload 3
iconst_0
invokespecial android.widget.LinearLayout.<init>:(Landroid/content/Context;Landroid/util/AttributeSet;II)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/widget/LinearLayout;
0 2 1 context Landroid/content/Context;
0 2 2 attrs Landroid/util/AttributeSet;
0 2 3 defStyleAttr I
MethodParameters:
Name Flags
context
attrs
defStyleAttr
public void <init>(android.content.Context, android.util.AttributeSet, int, int);
descriptor: (Landroid/content/Context;Landroid/util/AttributeSet;II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=5
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tThe import com.android.internal.R cannot be resolved\n\tcom.android.internal.R.styleable cannot be resolved to a variable\n\tcom.android.internal.R.styleable cannot be resolved to a variable\n\tcom.android.internal.R.styleable cannot be resolved to a variable\n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n\tcom.android.internal.R.styleable cannot be resolved to a variable\n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n\tcom.android.internal.R.styleable cannot be resolved to a variable\n\tcom.android.internal.R.styleable cannot be resolved to a variable\n\tcom.android.internal.R.styleable cannot be resolved to a variable\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/widget/LinearLayout;
MethodParameters:
Name Flags
context
attrs
defStyleAttr
defStyleRes
private boolean isShowingDividers();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.widget.LinearLayout.mShowDividers:I
ifeq 1
aload 0
getfield android.widget.LinearLayout.mDivider:Landroid/graphics/drawable/Drawable;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/widget/LinearLayout;
public void setShowDividers(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
aload 0
getfield android.widget.LinearLayout.mShowDividers:I
if_icmpne 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield android.widget.LinearLayout.mShowDividers:I
3: aload 0
aload 0
invokevirtual android.widget.LinearLayout.isShowingDividers:()Z
ifeq 4
iconst_0
goto 5
StackMap locals:
StackMap stack: android.widget.LinearLayout
4: iconst_1
StackMap locals: android.widget.LinearLayout int
StackMap stack: android.widget.LinearLayout int
5: invokevirtual android.widget.LinearLayout.setWillNotDraw:(Z)V
6: aload 0
invokevirtual android.widget.LinearLayout.requestLayout:()V
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Landroid/widget/LinearLayout;
0 8 1 showDividers I
MethodParameters:
Name Flags
showDividers
public boolean shouldDelayChildPressedState();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/widget/LinearLayout;
public int getShowDividers();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.widget.LinearLayout.mShowDividers:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/widget/LinearLayout;
public android.graphics.drawable.Drawable getDividerDrawable();
descriptor: ()Landroid/graphics/drawable/Drawable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.widget.LinearLayout.mDivider:Landroid/graphics/drawable/Drawable;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/widget/LinearLayout;
public void setDividerDrawable(android.graphics.drawable.Drawable);
descriptor: (Landroid/graphics/drawable/Drawable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield android.widget.LinearLayout.mDivider:Landroid/graphics/drawable/Drawable;
if_acmpne 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield android.widget.LinearLayout.mDivider:Landroid/graphics/drawable/Drawable;
3: aload 1
ifnull 7
4: aload 0
aload 1
invokevirtual android.graphics.drawable.Drawable.getIntrinsicWidth:()I
putfield android.widget.LinearLayout.mDividerWidth:I
5: aload 0
aload 1
invokevirtual android.graphics.drawable.Drawable.getIntrinsicHeight:()I
putfield android.widget.LinearLayout.mDividerHeight:I
6: goto 9
7: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield android.widget.LinearLayout.mDividerWidth:I
8: aload 0
iconst_0
putfield android.widget.LinearLayout.mDividerHeight:I
9: StackMap locals:
StackMap stack:
aload 0
aload 0
invokevirtual android.widget.LinearLayout.isShowingDividers:()Z
ifeq 10
iconst_0
goto 11
StackMap locals:
StackMap stack: android.widget.LinearLayout
10: iconst_1
StackMap locals: android.widget.LinearLayout android.graphics.drawable.Drawable
StackMap stack: android.widget.LinearLayout int
11: invokevirtual android.widget.LinearLayout.setWillNotDraw:(Z)V
12: aload 0
invokevirtual android.widget.LinearLayout.requestLayout:()V
13: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Landroid/widget/LinearLayout;
0 14 1 divider Landroid/graphics/drawable/Drawable;
MethodParameters:
Name Flags
divider
public void setDividerPadding(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
aload 0
getfield android.widget.LinearLayout.mDividerPadding:I
if_icmpne 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield android.widget.LinearLayout.mDividerPadding:I
3: aload 0
invokevirtual android.widget.LinearLayout.isShowingDividers:()Z
ifeq 6
4: aload 0
invokevirtual android.widget.LinearLayout.requestLayout:()V
5: aload 0
invokevirtual android.widget.LinearLayout.invalidate:()V
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Landroid/widget/LinearLayout;
0 7 1 padding I
MethodParameters:
Name Flags
padding
public int getDividerPadding();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.widget.LinearLayout.mDividerPadding:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/widget/LinearLayout;
public int getDividerWidth();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.widget.LinearLayout.mDividerWidth:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/widget/LinearLayout;
protected void onDraw(android.graphics.Canvas);
descriptor: (Landroid/graphics/Canvas;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield android.widget.LinearLayout.mDivider:Landroid/graphics/drawable/Drawable;
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.LinearLayout.mOrientation:I
iconst_1
if_icmpne 5
3: aload 0
aload 1
invokevirtual android.widget.LinearLayout.drawDividersVertical:(Landroid/graphics/Canvas;)V
4: goto 6
5: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual android.widget.LinearLayout.drawDividersHorizontal:(Landroid/graphics/Canvas;)V
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Landroid/widget/LinearLayout;
0 7 1 canvas Landroid/graphics/Canvas;
MethodParameters:
Name Flags
canvas
void drawDividersVertical(android.graphics.Canvas);
descriptor: (Landroid/graphics/Canvas;)V
flags: (0x0000)
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual android.widget.LinearLayout.getVirtualChildCount:()I
istore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 10
3: StackMap locals: int int
StackMap stack:
aload 0
iload 3
invokevirtual android.widget.LinearLayout.getVirtualChildAt:(I)Landroid/view/View;
astore 4
start local 4 4: aload 4
ifnull 9
aload 4
invokevirtual android.view.View.getVisibility:()I
bipush 8
if_icmpeq 9
5: aload 0
iload 3
invokevirtual android.widget.LinearLayout.hasDividerBeforeChildAt:(I)Z
ifeq 9
6: aload 4
invokevirtual android.view.View.getLayoutParams:()Landroid/view/ViewGroup$LayoutParams;
checkcast android.widget.LinearLayout$LayoutParams
astore 5
start local 5 7: aload 4
invokevirtual android.view.View.getTop:()I
aload 5
getfield android.widget.LinearLayout$LayoutParams.topMargin:I
isub
aload 0
getfield android.widget.LinearLayout.mDividerHeight:I
isub
istore 6
start local 6 8: aload 0
aload 1
iload 6
invokevirtual android.widget.LinearLayout.drawHorizontalDivider:(Landroid/graphics/Canvas;I)V
end local 6 end local 5 end local 4 9: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
10: iload 3
iload 2
if_icmplt 3
end local 3 11: aload 0
iload 2
invokevirtual android.widget.LinearLayout.hasDividerBeforeChildAt:(I)Z
ifeq 20
12: aload 0
invokevirtual android.widget.LinearLayout.getLastNonGoneChild:()Landroid/view/View;
astore 3
start local 3 13: iconst_0
istore 4
start local 4 14: aload 3
ifnonnull 17
15: aload 0
invokevirtual android.widget.LinearLayout.getHeight:()I
aload 0
invokevirtual android.widget.LinearLayout.getPaddingBottom:()I
isub
aload 0
getfield android.widget.LinearLayout.mDividerHeight:I
isub
istore 4
16: goto 19
17: StackMap locals: android.widget.LinearLayout android.graphics.Canvas int android.view.View int
StackMap stack:
aload 3
invokevirtual android.view.View.getLayoutParams:()Landroid/view/ViewGroup$LayoutParams;
checkcast android.widget.LinearLayout$LayoutParams
astore 5
start local 5 18: aload 3
invokevirtual android.view.View.getBottom:()I
aload 5
getfield android.widget.LinearLayout$LayoutParams.bottomMargin:I
iadd
istore 4
end local 5 19: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 4
invokevirtual android.widget.LinearLayout.drawHorizontalDivider:(Landroid/graphics/Canvas;I)V
end local 4 end local 3 20: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Landroid/widget/LinearLayout;
0 21 1 canvas Landroid/graphics/Canvas;
1 21 2 count I
2 11 3 i I
4 9 4 child Landroid/view/View;
7 9 5 lp Landroid/widget/LinearLayout$LayoutParams;
8 9 6 top I
13 20 3 child Landroid/view/View;
14 20 4 bottom I
18 19 5 lp Landroid/widget/LinearLayout$LayoutParams;
MethodParameters:
Name Flags
canvas
private android.view.View getLastNonGoneChild();
descriptor: ()Landroid/view/View;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual android.widget.LinearLayout.getVirtualChildCount:()I
iconst_1
isub
istore 1
start local 1 1: goto 6
2: StackMap locals: int
StackMap stack:
aload 0
iload 1
invokevirtual android.widget.LinearLayout.getVirtualChildAt:(I)Landroid/view/View;
astore 2
start local 2 3: aload 2
ifnull 5
aload 2
invokevirtual android.view.View.getVisibility:()I
bipush 8
if_icmpeq 5
4: aload 2
areturn
end local 2 5: StackMap locals:
StackMap stack:
iinc 1 -1
StackMap locals:
StackMap stack:
6: iload 1
ifge 2
end local 1 7: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Landroid/widget/LinearLayout;
1 7 1 i I
3 5 2 child Landroid/view/View;
void drawDividersHorizontal(android.graphics.Canvas);
descriptor: (Landroid/graphics/Canvas;)V
flags: (0x0000)
Code:
stack=3, locals=8, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual android.widget.LinearLayout.getVirtualChildCount:()I
istore 2
start local 2 1: aload 0
invokevirtual android.widget.LinearLayout.isLayoutRtl:()Z
istore 3
start local 3 2: iconst_0
istore 4
start local 4 3: goto 14
4: StackMap locals: int int int
StackMap stack:
aload 0
iload 4
invokevirtual android.widget.LinearLayout.getVirtualChildAt:(I)Landroid/view/View;
astore 5
start local 5 5: aload 5
ifnull 13
aload 5
invokevirtual android.view.View.getVisibility:()I
bipush 8
if_icmpeq 13
6: aload 0
iload 4
invokevirtual android.widget.LinearLayout.hasDividerBeforeChildAt:(I)Z
ifeq 13
7: aload 5
invokevirtual android.view.View.getLayoutParams:()Landroid/view/ViewGroup$LayoutParams;
checkcast android.widget.LinearLayout$LayoutParams
astore 6
start local 6 8: iload 3
ifeq 11
9: aload 5
invokevirtual android.view.View.getRight:()I
aload 6
getfield android.widget.LinearLayout$LayoutParams.rightMargin:I
iadd
istore 7
start local 7 10: goto 12
end local 7 11: StackMap locals: android.view.View android.widget.LinearLayout$LayoutParams
StackMap stack:
aload 5
invokevirtual android.view.View.getLeft:()I
aload 6
getfield android.widget.LinearLayout$LayoutParams.leftMargin:I
isub
aload 0
getfield android.widget.LinearLayout.mDividerWidth:I
isub
istore 7
start local 7 12: StackMap locals: int
StackMap stack:
aload 0
aload 1
iload 7
invokevirtual android.widget.LinearLayout.drawVerticalDivider:(Landroid/graphics/Canvas;I)V
end local 7 end local 6 end local 5 13: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
14: iload 4
iload 2
if_icmplt 4
end local 4 15: aload 0
iload 2
invokevirtual android.widget.LinearLayout.hasDividerBeforeChildAt:(I)Z
ifeq 29
16: aload 0
invokevirtual android.widget.LinearLayout.getLastNonGoneChild:()Landroid/view/View;
astore 4
start local 4 17: aload 4
ifnonnull 23
18: iload 3
ifeq 21
19: aload 0
invokevirtual android.widget.LinearLayout.getPaddingLeft:()I
istore 5
start local 5 20: goto 28
end local 5 21: StackMap locals: android.widget.LinearLayout android.graphics.Canvas int int android.view.View
StackMap stack:
aload 0
invokevirtual android.widget.LinearLayout.getWidth:()I
aload 0
invokevirtual android.widget.LinearLayout.getPaddingRight:()I
isub
aload 0
getfield android.widget.LinearLayout.mDividerWidth:I
isub
istore 5
start local 5 22: goto 28
end local 5 23: StackMap locals:
StackMap stack:
aload 4
invokevirtual android.view.View.getLayoutParams:()Landroid/view/ViewGroup$LayoutParams;
checkcast android.widget.LinearLayout$LayoutParams
astore 6
start local 6 24: iload 3
ifeq 27
25: aload 4
invokevirtual android.view.View.getLeft:()I
aload 6
getfield android.widget.LinearLayout$LayoutParams.leftMargin:I
isub
aload 0
getfield android.widget.LinearLayout.mDividerWidth:I
isub
istore 5
start local 5 26: goto 28
end local 5 27: StackMap locals: android.widget.LinearLayout android.graphics.Canvas int int android.view.View top android.widget.LinearLayout$LayoutParams
StackMap stack:
aload 4
invokevirtual android.view.View.getRight:()I
aload 6
getfield android.widget.LinearLayout$LayoutParams.rightMargin:I
iadd
istore 5
end local 6 start local 5 28: StackMap locals: android.widget.LinearLayout android.graphics.Canvas int int android.view.View int
StackMap stack:
aload 0
aload 1
iload 5
invokevirtual android.widget.LinearLayout.drawVerticalDivider:(Landroid/graphics/Canvas;I)V
end local 5 end local 4 29: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Landroid/widget/LinearLayout;
0 30 1 canvas Landroid/graphics/Canvas;
1 30 2 count I
2 30 3 isLayoutRtl Z
3 15 4 i I
5 13 5 child Landroid/view/View;
8 13 6 lp Landroid/widget/LinearLayout$LayoutParams;
10 11 7 position I
12 13 7 position I
17 29 4 child Landroid/view/View;
20 21 5 position I
22 23 5 position I
26 27 5 position I
28 29 5 position I
24 28 6 lp Landroid/widget/LinearLayout$LayoutParams;
MethodParameters:
Name Flags
canvas
void drawHorizontalDivider(android.graphics.Canvas, int);
descriptor: (Landroid/graphics/Canvas;I)V
flags: (0x0000)
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield android.widget.LinearLayout.mDivider:Landroid/graphics/drawable/Drawable;
aload 0
invokevirtual android.widget.LinearLayout.getPaddingLeft:()I
aload 0
getfield android.widget.LinearLayout.mDividerPadding:I
iadd
iload 2
1: aload 0
invokevirtual android.widget.LinearLayout.getWidth:()I
aload 0
invokevirtual android.widget.LinearLayout.getPaddingRight:()I
isub
aload 0
getfield android.widget.LinearLayout.mDividerPadding:I
isub
iload 2
aload 0
getfield android.widget.LinearLayout.mDividerHeight:I
iadd
2: invokevirtual android.graphics.drawable.Drawable.setBounds:(IIII)V
3: aload 0
getfield android.widget.LinearLayout.mDivider:Landroid/graphics/drawable/Drawable;
aload 1
invokevirtual android.graphics.drawable.Drawable.draw:(Landroid/graphics/Canvas;)V
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/widget/LinearLayout;
0 5 1 canvas Landroid/graphics/Canvas;
0 5 2 top I
MethodParameters:
Name Flags
canvas
top
void drawVerticalDivider(android.graphics.Canvas, int);
descriptor: (Landroid/graphics/Canvas;I)V
flags: (0x0000)
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield android.widget.LinearLayout.mDivider:Landroid/graphics/drawable/Drawable;
iload 2
aload 0
invokevirtual android.widget.LinearLayout.getPaddingTop:()I
aload 0
getfield android.widget.LinearLayout.mDividerPadding:I
iadd
1: iload 2
aload 0
getfield android.widget.LinearLayout.mDividerWidth:I
iadd
aload 0
invokevirtual android.widget.LinearLayout.getHeight:()I
aload 0
invokevirtual android.widget.LinearLayout.getPaddingBottom:()I
isub
aload 0
getfield android.widget.LinearLayout.mDividerPadding:I
isub
2: invokevirtual android.graphics.drawable.Drawable.setBounds:(IIII)V
3: aload 0
getfield android.widget.LinearLayout.mDivider:Landroid/graphics/drawable/Drawable;
aload 1
invokevirtual android.graphics.drawable.Drawable.draw:(Landroid/graphics/Canvas;)V
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/widget/LinearLayout;
0 5 1 canvas Landroid/graphics/Canvas;
0 5 2 left I
MethodParameters:
Name Flags
canvas
left
public boolean isBaselineAligned();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.widget.LinearLayout.mBaselineAligned:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/widget/LinearLayout;
public void setBaselineAligned(boolean);
descriptor: (Z)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.widget.LinearLayout.mBaselineAligned:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/widget/LinearLayout;
0 2 1 baselineAligned Z
RuntimeVisibleAnnotations:
android.view.RemotableViewMethod()
MethodParameters:
Name Flags
baselineAligned
public boolean isMeasureWithLargestChildEnabled();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.widget.LinearLayout.mUseLargestChild:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/widget/LinearLayout;
public void setMeasureWithLargestChildEnabled(boolean);
descriptor: (Z)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.widget.LinearLayout.mUseLargestChild:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/widget/LinearLayout;
0 2 1 enabled Z
RuntimeVisibleAnnotations:
android.view.RemotableViewMethod()
MethodParameters:
Name Flags
enabled
public int getBaseline();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=1
start local 0 0: aload 0
getfield android.widget.LinearLayout.mBaselineAlignedChildIndex:I
ifge 2
1: aload 0
invokespecial android.view.ViewGroup.getBaseline:()I
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual android.widget.LinearLayout.getChildCount:()I
aload 0
getfield android.widget.LinearLayout.mBaselineAlignedChildIndex:I
if_icmpgt 4
3: new java.lang.RuntimeException
dup
ldc "mBaselineAlignedChildIndex of LinearLayout set to an index that is out of bounds."
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield android.widget.LinearLayout.mBaselineAlignedChildIndex:I
invokevirtual android.widget.LinearLayout.getChildAt:(I)Landroid/view/View;
astore 1
start local 1 5: aload 1
invokevirtual android.view.View.getBaseline:()I
istore 2
start local 2 6: iload 2
iconst_m1
if_icmpne 10
7: aload 0
getfield android.widget.LinearLayout.mBaselineAlignedChildIndex:I
ifne 9
8: iconst_m1
ireturn
9: StackMap locals: android.view.View int
StackMap stack:
new java.lang.RuntimeException
dup
ldc "mBaselineAlignedChildIndex of LinearLayout points to a View that doesn't know how to get its baseline."
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.LinearLayout.mBaselineChildTop:I
istore 3
start local 3 11: aload 0
getfield android.widget.LinearLayout.mOrientation:I
iconst_1
if_icmpne 22
12: aload 0
getfield android.widget.LinearLayout.mGravity:I
bipush 112
iand
istore 4
start local 4 13: iload 4
bipush 48
if_icmpeq 22
14: iload 4
lookupswitch { // 2
16: 17
80: 15
default: 22
}
15: StackMap locals: int int
StackMap stack:
aload 0
getfield android.widget.LinearLayout.mBottom:I
aload 0
getfield android.widget.LinearLayout.mTop:I
isub
aload 0
getfield android.widget.LinearLayout.mPaddingBottom:I
isub
aload 0
getfield android.widget.LinearLayout.mTotalLength:I
isub
istore 3
16: goto 22
17: StackMap locals:
StackMap stack:
iload 3
aload 0
getfield android.widget.LinearLayout.mBottom:I
aload 0
getfield android.widget.LinearLayout.mTop:I
isub
aload 0
getfield android.widget.LinearLayout.mPaddingTop:I
isub
aload 0
getfield android.widget.LinearLayout.mPaddingBottom:I
isub
18: aload 0
getfield android.widget.LinearLayout.mTotalLength:I
19: isub
20: iconst_2
21: idiv
iadd
istore 3
end local 4 22: StackMap locals:
StackMap stack:
aload 1
invokevirtual android.view.View.getLayoutParams:()Landroid/view/ViewGroup$LayoutParams;
checkcast android.widget.LinearLayout$LayoutParams
astore 4
start local 4 23: iload 3
aload 4
getfield android.widget.LinearLayout$LayoutParams.topMargin:I
iadd
iload 2
iadd
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Landroid/widget/LinearLayout;
5 24 1 child Landroid/view/View;
6 24 2 childBaseline I
11 24 3 childTop I
13 22 4 majorGravity I
23 24 4 lp Landroid/widget/LinearLayout$LayoutParams;
public int getBaselineAlignedChildIndex();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.widget.LinearLayout.mBaselineAlignedChildIndex:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/widget/LinearLayout;
public void setBaselineAlignedChildIndex(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: iload 1
iflt 1
iload 1
aload 0
invokevirtual android.widget.LinearLayout.getChildCount:()I
if_icmplt 4
1: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "base aligned child index out of range (0, "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
2: aload 0
invokevirtual android.widget.LinearLayout.getChildCount:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield android.widget.LinearLayout.mBaselineAlignedChildIndex:I
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Landroid/widget/LinearLayout;
0 6 1 i I
RuntimeVisibleAnnotations:
android.view.RemotableViewMethod()
MethodParameters:
Name Flags
i
android.view.View getVirtualChildAt(int);
descriptor: (I)Landroid/view/View;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual android.widget.LinearLayout.getChildAt:(I)Landroid/view/View;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/widget/LinearLayout;
0 1 1 index I
MethodParameters:
Name Flags
index
int getVirtualChildCount();
descriptor: ()I
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual android.widget.LinearLayout.getChildCount:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/widget/LinearLayout;
public float getWeightSum();
descriptor: ()F
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.widget.LinearLayout.mWeightSum:F
freturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/widget/LinearLayout;
public void setWeightSum(float);
descriptor: (F)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
fconst_0
fload 1
invokestatic java.lang.Math.max:(FF)F
putfield android.widget.LinearLayout.mWeightSum:F
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/widget/LinearLayout;
0 2 1 weightSum F
RuntimeVisibleAnnotations:
android.view.RemotableViewMethod()
MethodParameters:
Name Flags
weightSum
protected void onMeasure(int, int);
descriptor: (II)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield android.widget.LinearLayout.mOrientation:I
iconst_1
if_icmpne 3
1: aload 0
iload 1
iload 2
invokevirtual android.widget.LinearLayout.measureVertical:(II)V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
iload 1
iload 2
invokevirtual android.widget.LinearLayout.measureHorizontal:(II)V
4: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/widget/LinearLayout;
0 5 1 widthMeasureSpec I
0 5 2 heightMeasureSpec I
MethodParameters:
Name Flags
widthMeasureSpec
heightMeasureSpec
protected boolean hasDividerBeforeChildAt(int);
descriptor: (I)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: iload 1
aload 0
invokevirtual android.widget.LinearLayout.getVirtualChildCount:()I
if_icmpne 3
1: aload 0
getfield android.widget.LinearLayout.mShowDividers:I
iconst_4
iand
ifeq 2
iconst_1
ireturn
StackMap locals:
StackMap stack:
2: iconst_0
ireturn
3: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual android.widget.LinearLayout.allViewsAreGoneBefore:(I)Z
istore 2
start local 2 4: iload 2
ifeq 7
5: aload 0
getfield android.widget.LinearLayout.mShowDividers:I
iconst_1
iand
ifeq 6
iconst_1
ireturn
StackMap locals: int
StackMap stack:
6: iconst_0
ireturn
7: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.LinearLayout.mShowDividers:I
iconst_2
iand
ifeq 8
iconst_1
ireturn
StackMap locals:
StackMap stack:
8: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Landroid/widget/LinearLayout;
0 9 1 childIndex I
4 9 2 allViewsAreGoneBefore Z
MethodParameters:
Name Flags
childIndex
private boolean allViewsAreGoneBefore(int);
descriptor: (I)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: iload 1
iconst_1
isub
istore 2
start local 2 1: goto 6
2: StackMap locals: int
StackMap stack:
aload 0
iload 2
invokevirtual android.widget.LinearLayout.getVirtualChildAt:(I)Landroid/view/View;
astore 3
start local 3 3: aload 3
ifnull 5
aload 3
invokevirtual android.view.View.getVisibility:()I
bipush 8
if_icmpeq 5
4: iconst_0
ireturn
end local 3 5: StackMap locals:
StackMap stack:
iinc 2 -1
StackMap locals:
StackMap stack:
6: iload 2
ifge 2
end local 2 7: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Landroid/widget/LinearLayout;
0 8 1 childIndex I
1 7 2 i I
3 5 3 child Landroid/view/View;
MethodParameters:
Name Flags
childIndex
void measureVertical(int, int);
descriptor: (II)V
flags: (0x0000)
Code:
stack=7, locals=31, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iconst_0
putfield android.widget.LinearLayout.mTotalLength:I
1: iconst_0
istore 3
start local 3 2: iconst_0
istore 4
start local 4 3: iconst_0
istore 5
start local 5 4: iconst_0
istore 6
start local 6 5: iconst_1
istore 7
start local 7 6: fconst_0
fstore 8
start local 8 7: aload 0
invokevirtual android.widget.LinearLayout.getVirtualChildCount:()I
istore 9
start local 9 8: iload 1
invokestatic android.view.View$MeasureSpec.getMode:(I)I
istore 10
start local 10 9: iload 2
invokestatic android.view.View$MeasureSpec.getMode:(I)I
istore 11
start local 11 10: iconst_0
istore 12
start local 12 11: iconst_0
istore 13
start local 13 12: aload 0
getfield android.widget.LinearLayout.mBaselineAlignedChildIndex:I
istore 14
start local 14 13: aload 0
getfield android.widget.LinearLayout.mUseLargestChild:Z
istore 15
start local 15 14: ldc -2147483648
istore 16
start local 16 15: iconst_0
istore 17
start local 17 16: iconst_0
istore 18
start local 18 17: iconst_0
istore 19
start local 19 18: goto 84
19: StackMap locals: android.widget.LinearLayout int int int int int int int float int int int int int int int int int int int
StackMap stack:
aload 0
iload 19
invokevirtual android.widget.LinearLayout.getVirtualChildAt:(I)Landroid/view/View;
astore 20
start local 20 20: aload 20
ifnonnull 23
21: aload 0
dup
getfield android.widget.LinearLayout.mTotalLength:I
aload 0
iload 19
invokevirtual android.widget.LinearLayout.measureNullChild:(I)I
iadd
putfield android.widget.LinearLayout.mTotalLength:I
22: goto 83
23: StackMap locals: android.view.View
StackMap stack:
aload 20
invokevirtual android.view.View.getVisibility:()I
bipush 8
if_icmpne 26
24: iload 19
aload 0
aload 20
iload 19
invokevirtual android.widget.LinearLayout.getChildrenSkipCount:(Landroid/view/View;I)I
iadd
istore 19
25: goto 83
26: StackMap locals:
StackMap stack:
iinc 18 1
27: aload 0
iload 19
invokevirtual android.widget.LinearLayout.hasDividerBeforeChildAt:(I)Z
ifeq 29
28: aload 0
dup
getfield android.widget.LinearLayout.mTotalLength:I
aload 0
getfield android.widget.LinearLayout.mDividerHeight:I
iadd
putfield android.widget.LinearLayout.mTotalLength:I
29: StackMap locals:
StackMap stack:
aload 20
invokevirtual android.view.View.getLayoutParams:()Landroid/view/ViewGroup$LayoutParams;
checkcast android.widget.LinearLayout$LayoutParams
astore 21
start local 21 30: fload 8
aload 21
getfield android.widget.LinearLayout$LayoutParams.weight:F
fadd
fstore 8
31: aload 21
getfield android.widget.LinearLayout$LayoutParams.height:I
ifne 32
aload 21
getfield android.widget.LinearLayout$LayoutParams.weight:F
fconst_0
fcmpl
ifle 32
iconst_1
goto 33
StackMap locals: android.widget.LinearLayout$LayoutParams
StackMap stack:
32: iconst_0
StackMap locals:
StackMap stack: int
33: istore 22
start local 22 34: iload 11
ldc 1073741824
if_icmpne 39
iload 22
ifeq 39
35: aload 0
getfield android.widget.LinearLayout.mTotalLength:I
istore 23
start local 23 36: aload 0
iload 23
iload 23
aload 21
getfield android.widget.LinearLayout$LayoutParams.topMargin:I
iadd
aload 21
getfield android.widget.LinearLayout$LayoutParams.bottomMargin:I
iadd
invokestatic java.lang.Math.max:(II)I
putfield android.widget.LinearLayout.mTotalLength:I
37: iconst_1
istore 13
end local 23 38: goto 57
39: StackMap locals: int
StackMap stack:
iload 22
ifeq 41
40: aload 21
bipush -2
putfield android.widget.LinearLayout$LayoutParams.height:I
41: StackMap locals:
StackMap stack:
fload 8
fconst_0
fcmpl
ifne 42
aload 0
getfield android.widget.LinearLayout.mTotalLength:I
goto 43
StackMap locals:
StackMap stack:
42: iconst_0
StackMap locals:
StackMap stack: int
43: istore 23
start local 23 44: aload 0
aload 20
iload 19
iload 1
iconst_0
45: iload 2
iload 23
46: invokevirtual android.widget.LinearLayout.measureChildBeforeLayout:(Landroid/view/View;IIIII)V
47: aload 20
invokevirtual android.view.View.getMeasuredHeight:()I
istore 24
start local 24 48: iload 22
ifeq 51
49: aload 21
iconst_0
putfield android.widget.LinearLayout$LayoutParams.height:I
50: iload 17
iload 24
iadd
istore 17
51: StackMap locals: int int
StackMap stack:
aload 0
getfield android.widget.LinearLayout.mTotalLength:I
istore 25
start local 25 52: aload 0
iload 25
iload 25
iload 24
iadd
aload 21
getfield android.widget.LinearLayout$LayoutParams.topMargin:I
iadd
53: aload 21
getfield android.widget.LinearLayout$LayoutParams.bottomMargin:I
iadd
aload 0
aload 20
invokevirtual android.widget.LinearLayout.getNextLocationOffset:(Landroid/view/View;)I
iadd
54: invokestatic java.lang.Math.max:(II)I
putfield android.widget.LinearLayout.mTotalLength:I
55: iload 15
ifeq 57
56: iload 24
iload 16
invokestatic java.lang.Math.max:(II)I
istore 16
end local 25 end local 24 end local 23 57: StackMap locals:
StackMap stack:
iload 14
iflt 59
iload 14
iload 19
iconst_1
iadd
if_icmpne 59
58: aload 0
aload 0
getfield android.widget.LinearLayout.mTotalLength:I
putfield android.widget.LinearLayout.mBaselineChildTop:I
59: StackMap locals:
StackMap stack:
iload 19
iload 14
if_icmpge 61
aload 21
getfield android.widget.LinearLayout$LayoutParams.weight:F
fconst_0
fcmpl
ifle 61
60: new java.lang.RuntimeException
dup
ldc "A child of LinearLayout with index less than mBaselineAlignedChildIndex has weight > 0, which won't work. Either remove the weight, or don't set mBaselineAlignedChildIndex."
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
61: StackMap locals:
StackMap stack:
iconst_0
istore 23
start local 23 62: iload 10
ldc 1073741824
if_icmpeq 65
aload 21
getfield android.widget.LinearLayout$LayoutParams.width:I
iconst_m1
if_icmpne 65
63: iconst_1
istore 12
64: iconst_1
istore 23
65: StackMap locals: int
StackMap stack:
aload 21
getfield android.widget.LinearLayout$LayoutParams.leftMargin:I
aload 21
getfield android.widget.LinearLayout$LayoutParams.rightMargin:I
iadd
istore 24
start local 24 66: aload 20
invokevirtual android.view.View.getMeasuredWidth:()I
iload 24
iadd
istore 25
start local 25 67: iload 3
iload 25
invokestatic java.lang.Math.max:(II)I
istore 3
68: iload 4
aload 20
invokevirtual android.view.View.getMeasuredState:()I
invokestatic android.widget.LinearLayout.combineMeasuredStates:(II)I
istore 4
69: iload 7
ifeq 70
aload 21
getfield android.widget.LinearLayout$LayoutParams.width:I
iconst_m1
if_icmpne 70
iconst_1
goto 71
StackMap locals: int int
StackMap stack:
70: iconst_0
StackMap locals:
StackMap stack: int
71: istore 7
72: aload 21
getfield android.widget.LinearLayout$LayoutParams.weight:F
fconst_0
fcmpl
ifle 78
73: iload 6
74: iload 23
ifeq 75
iload 24
goto 76
StackMap locals:
StackMap stack: int
75: iload 25
76: StackMap locals: android.widget.LinearLayout int int int int int int int float int int int int int int int int int int int android.view.View android.widget.LinearLayout$LayoutParams int int int int
StackMap stack: int int
invokestatic java.lang.Math.max:(II)I
istore 6
77: goto 82
78: StackMap locals:
StackMap stack:
iload 5
79: iload 23
ifeq 80
iload 24
goto 81
StackMap locals:
StackMap stack: int
80: iload 25
81: StackMap locals: android.widget.LinearLayout int int int int int int int float int int int int int int int int int int int android.view.View android.widget.LinearLayout$LayoutParams int int int int
StackMap stack: int int
invokestatic java.lang.Math.max:(II)I
istore 5
82: StackMap locals:
StackMap stack:
iload 19
aload 0
aload 20
iload 19
invokevirtual android.widget.LinearLayout.getChildrenSkipCount:(Landroid/view/View;I)I
iadd
istore 19
end local 25 end local 24 end local 23 end local 22 end local 21 end local 20 83: StackMap locals: android.widget.LinearLayout int int int int int int int float int int int int int int int int int int int
StackMap stack:
iinc 19 1
StackMap locals:
StackMap stack:
84: iload 19
iload 9
if_icmplt 19
end local 19 85: iload 18
ifle 87
aload 0
iload 9
invokevirtual android.widget.LinearLayout.hasDividerBeforeChildAt:(I)Z
ifeq 87
86: aload 0
dup
getfield android.widget.LinearLayout.mTotalLength:I
aload 0
getfield android.widget.LinearLayout.mDividerHeight:I
iadd
putfield android.widget.LinearLayout.mTotalLength:I
87: StackMap locals:
StackMap stack:
iload 15
ifeq 107
88: iload 11
ldc -2147483648
if_icmpeq 89
iload 11
ifne 107
89: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield android.widget.LinearLayout.mTotalLength:I
90: iconst_0
istore 19
start local 19 91: goto 106
92: StackMap locals: int
StackMap stack:
aload 0
iload 19
invokevirtual android.widget.LinearLayout.getVirtualChildAt:(I)Landroid/view/View;
astore 20
start local 20 93: aload 20
ifnonnull 96
94: aload 0
dup
getfield android.widget.LinearLayout.mTotalLength:I
aload 0
iload 19
invokevirtual android.widget.LinearLayout.measureNullChild:(I)I
iadd
putfield android.widget.LinearLayout.mTotalLength:I
95: goto 105
96: StackMap locals: android.view.View
StackMap stack:
aload 20
invokevirtual android.view.View.getVisibility:()I
bipush 8
if_icmpne 99
97: iload 19
aload 0
aload 20
iload 19
invokevirtual android.widget.LinearLayout.getChildrenSkipCount:(Landroid/view/View;I)I
iadd
istore 19
98: goto 105
99: StackMap locals:
StackMap stack:
aload 20
invokevirtual android.view.View.getLayoutParams:()Landroid/view/ViewGroup$LayoutParams;
100: checkcast android.widget.LinearLayout$LayoutParams
astore 21
start local 21 101: aload 0
getfield android.widget.LinearLayout.mTotalLength:I
istore 22
start local 22 102: aload 0
iload 22
iload 22
iload 16
iadd
103: aload 21
getfield android.widget.LinearLayout$LayoutParams.topMargin:I
iadd
aload 21
getfield android.widget.LinearLayout$LayoutParams.bottomMargin:I
iadd
aload 0
aload 20
invokevirtual android.widget.LinearLayout.getNextLocationOffset:(Landroid/view/View;)I
iadd
104: invokestatic java.lang.Math.max:(II)I
putfield android.widget.LinearLayout.mTotalLength:I
end local 22 end local 21 end local 20 105: StackMap locals:
StackMap stack:
iinc 19 1
StackMap locals:
StackMap stack:
106: iload 19
iload 9
if_icmplt 92
end local 19 107: StackMap locals:
StackMap stack:
aload 0
dup
getfield android.widget.LinearLayout.mTotalLength:I
aload 0
getfield android.widget.LinearLayout.mPaddingTop:I
aload 0
getfield android.widget.LinearLayout.mPaddingBottom:I
iadd
iadd
putfield android.widget.LinearLayout.mTotalLength:I
108: aload 0
getfield android.widget.LinearLayout.mTotalLength:I
istore 19
start local 19 109: iload 19
aload 0
invokevirtual android.widget.LinearLayout.getSuggestedMinimumHeight:()I
invokestatic java.lang.Math.max:(II)I
istore 19
110: iload 19
iload 2
iconst_0
invokestatic android.widget.LinearLayout.resolveSizeAndState:(III)I
istore 20
start local 20 111: iload 20
ldc 16777215
iand
istore 19
112: iload 19
aload 0
getfield android.widget.LinearLayout.mTotalLength:I
isub
113: aload 0
getfield android.widget.LinearLayout.mAllowInconsistentMeasurement:Z
ifeq 114
iconst_0
goto 115
StackMap locals: android.widget.LinearLayout int int int int int int int float int int int int int int int int int int int int
StackMap stack: int
114: iload 17
115: StackMap locals: android.widget.LinearLayout int int int int int int int float int int int int int int int int int int int int
StackMap stack: int int
iadd
istore 21
start local 21 116: iload 13
ifne 119
117: getstatic android.widget.LinearLayout.sRemeasureWeightedChildren:Z
ifne 118
iload 21
ifeq 175
StackMap locals: int
StackMap stack:
118: fload 8
fconst_0
fcmpl
ifle 175
119: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.LinearLayout.mWeightSum:F
fconst_0
fcmpl
ifle 120
aload 0
getfield android.widget.LinearLayout.mWeightSum:F
goto 121
StackMap locals:
StackMap stack:
120: fload 8
StackMap locals:
StackMap stack: float
121: fstore 22
start local 22 122: aload 0
iconst_0
putfield android.widget.LinearLayout.mTotalLength:I
123: iconst_0
istore 23
start local 23 124: goto 172
125: StackMap locals: float int
StackMap stack:
aload 0
iload 23
invokevirtual android.widget.LinearLayout.getVirtualChildAt:(I)Landroid/view/View;
astore 24
start local 24 126: aload 24
ifnull 171
aload 24
invokevirtual android.view.View.getVisibility:()I
bipush 8
if_icmpne 128
127: goto 171
128: StackMap locals: android.view.View
StackMap stack:
aload 24
invokevirtual android.view.View.getLayoutParams:()Landroid/view/ViewGroup$LayoutParams;
checkcast android.widget.LinearLayout$LayoutParams
astore 25
start local 25 129: aload 25
getfield android.widget.LinearLayout$LayoutParams.weight:F
fstore 26
start local 26 130: fload 26
fconst_0
fcmpl
ifle 152
131: fload 26
iload 21
i2f
fmul
fload 22
fdiv
f2i
istore 27
start local 27 132: iload 21
iload 27
isub
istore 21
133: fload 22
fload 26
fsub
fstore 22
134: aload 0
getfield android.widget.LinearLayout.mUseLargestChild:Z
ifeq 137
iload 11
ldc 1073741824
if_icmpeq 137
135: iload 16
istore 28
start local 28 136: goto 142
end local 28 StackMap locals: android.widget.LinearLayout$LayoutParams float int
StackMap stack:
137: aload 25
getfield android.widget.LinearLayout$LayoutParams.height:I
ifne 141
aload 0
getfield android.widget.LinearLayout.mAllowInconsistentMeasurement:Z
ifeq 139
138: iload 11
ldc 1073741824
if_icmpne 141
139: StackMap locals:
StackMap stack:
iload 27
istore 28
start local 28 140: goto 142
end local 28 141: StackMap locals:
StackMap stack:
aload 24
invokevirtual android.view.View.getMeasuredHeight:()I
iload 27
iadd
istore 28
start local 28 142: StackMap locals: int
StackMap stack:
iconst_0
iload 28
invokestatic java.lang.Math.max:(II)I
ldc 1073741824
143: invokestatic android.view.View$MeasureSpec.makeMeasureSpec:(II)I
istore 29
start local 29 144: iload 1
145: aload 0
getfield android.widget.LinearLayout.mPaddingLeft:I
aload 0
getfield android.widget.LinearLayout.mPaddingRight:I
iadd
aload 25
getfield android.widget.LinearLayout$LayoutParams.leftMargin:I
iadd
aload 25
getfield android.widget.LinearLayout$LayoutParams.rightMargin:I
iadd
146: aload 25
getfield android.widget.LinearLayout$LayoutParams.width:I
147: invokestatic android.widget.LinearLayout.getChildMeasureSpec:(III)I
istore 30
start local 30 148: aload 24
iload 30
iload 29
invokevirtual android.view.View.measure:(II)V
149: iload 4
aload 24
invokevirtual android.view.View.getMeasuredState:()I
150: sipush -256
iand
151: invokestatic android.widget.LinearLayout.combineMeasuredStates:(II)I
istore 4
end local 30 end local 29 end local 28 end local 27 152: StackMap locals:
StackMap stack:
aload 25
getfield android.widget.LinearLayout$LayoutParams.leftMargin:I
aload 25
getfield android.widget.LinearLayout$LayoutParams.rightMargin:I
iadd
istore 27
start local 27 153: aload 24
invokevirtual android.view.View.getMeasuredWidth:()I
iload 27
iadd
istore 28
start local 28 154: iload 3
iload 28
invokestatic java.lang.Math.max:(II)I
istore 3
155: iload 10
ldc 1073741824
if_icmpeq 158
156: aload 25
getfield android.widget.LinearLayout$LayoutParams.width:I
iconst_m1
if_icmpne 158
157: iconst_1
goto 159
StackMap locals: int int
StackMap stack:
158: iconst_0
StackMap locals:
StackMap stack: int
159: istore 29
start local 29 160: iload 5
161: iload 29
ifeq 162
iload 27
goto 163
StackMap locals: android.widget.LinearLayout int int int int int int int float int int int int int int int int int int int int int float int android.view.View android.widget.LinearLayout$LayoutParams float int int int
StackMap stack: int
162: iload 28
163: StackMap locals: android.widget.LinearLayout int int int int int int int float int int int int int int int int int int int int int float int android.view.View android.widget.LinearLayout$LayoutParams float int int int
StackMap stack: int int
invokestatic java.lang.Math.max:(II)I
istore 5
164: iload 7
ifeq 165
aload 25
getfield android.widget.LinearLayout$LayoutParams.width:I
iconst_m1
if_icmpne 165
iconst_1
goto 166
StackMap locals:
StackMap stack:
165: iconst_0
StackMap locals:
StackMap stack: int
166: istore 7
167: aload 0
getfield android.widget.LinearLayout.mTotalLength:I
istore 30
start local 30 168: aload 0
iload 30
iload 30
aload 24
invokevirtual android.view.View.getMeasuredHeight:()I
iadd
169: aload 25
getfield android.widget.LinearLayout$LayoutParams.topMargin:I
iadd
aload 25
getfield android.widget.LinearLayout$LayoutParams.bottomMargin:I
iadd
aload 0
aload 24
invokevirtual android.widget.LinearLayout.getNextLocationOffset:(Landroid/view/View;)I
iadd
170: invokestatic java.lang.Math.max:(II)I
putfield android.widget.LinearLayout.mTotalLength:I
end local 30 end local 29 end local 28 end local 27 end local 26 end local 25 end local 24 171: StackMap locals: android.widget.LinearLayout int int int int int int int float int int int int int int int int int int int int int float int
StackMap stack:
iinc 23 1
StackMap locals:
StackMap stack:
172: iload 23
iload 9
if_icmplt 125
end local 23 173: aload 0
dup
getfield android.widget.LinearLayout.mTotalLength:I
aload 0
getfield android.widget.LinearLayout.mPaddingTop:I
aload 0
getfield android.widget.LinearLayout.mPaddingBottom:I
iadd
iadd
putfield android.widget.LinearLayout.mTotalLength:I
end local 22 174: goto 198
175: StackMap locals:
StackMap stack:
iload 5
176: iload 6
177: invokestatic java.lang.Math.max:(II)I
istore 5
178: iload 15
ifeq 198
iload 11
ldc 1073741824
if_icmpeq 198
179: iconst_0
istore 22
start local 22 180: goto 197
181: StackMap locals: int
StackMap stack:
aload 0
iload 22
invokevirtual android.widget.LinearLayout.getVirtualChildAt:(I)Landroid/view/View;
astore 23
start local 23 182: aload 23
ifnull 196
aload 23
invokevirtual android.view.View.getVisibility:()I
bipush 8
if_icmpne 184
183: goto 196
184: StackMap locals: android.view.View
StackMap stack:
aload 23
invokevirtual android.view.View.getLayoutParams:()Landroid/view/ViewGroup$LayoutParams;
checkcast android.widget.LinearLayout$LayoutParams
185: astore 24
start local 24 186: aload 24
getfield android.widget.LinearLayout$LayoutParams.weight:F
fstore 25
start local 25 187: fload 25
fconst_0
fcmpl
ifle 196
188: aload 23
189: aload 23
invokevirtual android.view.View.getMeasuredWidth:()I
190: ldc 1073741824
191: invokestatic android.view.View$MeasureSpec.makeMeasureSpec:(II)I
192: iload 16
193: ldc 1073741824
194: invokestatic android.view.View$MeasureSpec.makeMeasureSpec:(II)I
195: invokevirtual android.view.View.measure:(II)V
end local 25 end local 24 end local 23 196: StackMap locals:
StackMap stack:
iinc 22 1
StackMap locals:
StackMap stack:
197: iload 22
iload 9
if_icmplt 181
end local 22 198: StackMap locals:
StackMap stack:
iload 7
ifne 200
iload 10
ldc 1073741824
if_icmpeq 200
199: iload 5
istore 3
200: StackMap locals:
StackMap stack:
iload 3
aload 0
getfield android.widget.LinearLayout.mPaddingLeft:I
aload 0
getfield android.widget.LinearLayout.mPaddingRight:I
iadd
iadd
istore 3
201: iload 3
aload 0
invokevirtual android.widget.LinearLayout.getSuggestedMinimumWidth:()I
invokestatic java.lang.Math.max:(II)I
istore 3
202: aload 0
iload 3
iload 1
iload 4
invokestatic android.widget.LinearLayout.resolveSizeAndState:(III)I
203: iload 20
204: invokevirtual android.widget.LinearLayout.setMeasuredDimension:(II)V
205: iload 12
ifeq 207
206: aload 0
iload 9
iload 2
invokevirtual android.widget.LinearLayout.forceUniformWidth:(II)V
207: StackMap locals:
StackMap stack:
return
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 208 0 this Landroid/widget/LinearLayout;
0 208 1 widthMeasureSpec I
0 208 2 heightMeasureSpec I
2 208 3 maxWidth I
3 208 4 childState I
4 208 5 alternativeMaxWidth I
5 208 6 weightedMaxWidth I
6 208 7 allFillParent Z
7 208 8 totalWeight F
8 208 9 count I
9 208 10 widthMode I
10 208 11 heightMode I
11 208 12 matchWidth Z
12 208 13 skippedMeasure Z
13 208 14 baselineChildIndex I
14 208 15 useLargestChild Z
15 208 16 largestChildHeight I
16 208 17 consumedExcessSpace I
17 208 18 nonSkippedChildCount I
18 85 19 i I
20 83 20 child Landroid/view/View;
30 83 21 lp Landroid/widget/LinearLayout$LayoutParams;
34 83 22 useExcessSpace Z
36 38 23 totalLength I
44 57 23 usedHeight I
48 57 24 childHeight I
52 57 25 totalLength I
62 83 23 matchWidthLocally Z
66 83 24 margin I
67 83 25 measuredWidth I
91 107 19 i I
93 105 20 child Landroid/view/View;
101 105 21 lp Landroid/widget/LinearLayout$LayoutParams;
102 105 22 totalLength I
109 208 19 heightSize I
111 208 20 heightSizeAndState I
116 208 21 remainingExcess I
122 174 22 remainingWeightSum F
124 173 23 i I
126 171 24 child Landroid/view/View;
129 171 25 lp Landroid/widget/LinearLayout$LayoutParams;
130 171 26 childWeight F
132 152 27 share I
136 137 28 childHeight I
140 141 28 childHeight I
142 152 28 childHeight I
144 152 29 childHeightMeasureSpec I
148 152 30 childWidthMeasureSpec I
153 171 27 margin I
154 171 28 measuredWidth I
160 171 29 matchWidthLocally Z
168 171 30 totalLength I
180 198 22 i I
182 196 23 child Landroid/view/View;
186 196 24 lp Landroid/widget/LinearLayout$LayoutParams;
187 196 25 childExtra F
MethodParameters:
Name Flags
widthMeasureSpec
heightMeasureSpec
private void forceUniformWidth(int, int);
descriptor: (II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual android.widget.LinearLayout.getMeasuredWidth:()I
1: ldc 1073741824
2: invokestatic android.view.View$MeasureSpec.makeMeasureSpec:(II)I
istore 3
start local 3 3: iconst_0
istore 4
start local 4 4: goto 14
5: StackMap locals: int int
StackMap stack:
aload 0
iload 4
invokevirtual android.widget.LinearLayout.getVirtualChildAt:(I)Landroid/view/View;
astore 5
start local 5 6: aload 5
ifnull 13
aload 5
invokevirtual android.view.View.getVisibility:()I
bipush 8
if_icmpeq 13
7: aload 5
invokevirtual android.view.View.getLayoutParams:()Landroid/view/ViewGroup$LayoutParams;
checkcast android.widget.LinearLayout$LayoutParams
astore 6
start local 6 8: aload 6
getfield android.widget.LinearLayout$LayoutParams.width:I
iconst_m1
if_icmpne 13
9: aload 6
getfield android.widget.LinearLayout$LayoutParams.height:I
istore 7
start local 7 10: aload 6
aload 5
invokevirtual android.view.View.getMeasuredHeight:()I
putfield android.widget.LinearLayout$LayoutParams.height:I
11: aload 0
aload 5
iload 3
iconst_0
iload 2
iconst_0
invokevirtual android.widget.LinearLayout.measureChildWithMargins:(Landroid/view/View;IIII)V
12: aload 6
iload 7
putfield android.widget.LinearLayout$LayoutParams.height:I
end local 7 end local 6 end local 5 13: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
14: iload 4
iload 1
if_icmplt 5
end local 4 15: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Landroid/widget/LinearLayout;
0 16 1 count I
0 16 2 heightMeasureSpec I
3 16 3 uniformMeasureSpec I
4 15 4 i I
6 13 5 child Landroid/view/View;
8 13 6 lp Landroid/widget/LinearLayout$LayoutParams;
10 13 7 oldHeight I
MethodParameters:
Name Flags
count
heightMeasureSpec
void measureHorizontal(int, int);
descriptor: (II)V
flags: (0x0000)
Code:
stack=10, locals=36, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iconst_0
putfield android.widget.LinearLayout.mTotalLength:I
1: iconst_0
istore 3
start local 3 2: iconst_0
istore 4
start local 4 3: iconst_0
istore 5
start local 5 4: iconst_0
istore 6
start local 6 5: iconst_1
istore 7
start local 7 6: fconst_0
fstore 8
start local 8 7: aload 0
invokevirtual android.widget.LinearLayout.getVirtualChildCount:()I
istore 9
start local 9 8: iload 1
invokestatic android.view.View$MeasureSpec.getMode:(I)I
istore 10
start local 10 9: iload 2
invokestatic android.view.View$MeasureSpec.getMode:(I)I
istore 11
start local 11 10: iconst_0
istore 12
start local 12 11: iconst_0
istore 13
start local 13 12: aload 0
getfield android.widget.LinearLayout.mMaxAscent:[I
ifnull 13
aload 0
getfield android.widget.LinearLayout.mMaxDescent:[I
ifnonnull 15
13: StackMap locals: android.widget.LinearLayout int int int int int int int float int int int int int
StackMap stack:
aload 0
iconst_4
newarray 10
putfield android.widget.LinearLayout.mMaxAscent:[I
14: aload 0
iconst_4
newarray 10
putfield android.widget.LinearLayout.mMaxDescent:[I
15: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.LinearLayout.mMaxAscent:[I
astore 14
start local 14 16: aload 0
getfield android.widget.LinearLayout.mMaxDescent:[I
astore 15
start local 15 17: aload 14
iconst_0
aload 14
iconst_1
aload 14
iconst_2
aload 14
iconst_3
iconst_m1
dup_x2
iastore
dup_x2
iastore
dup_x2
iastore
iastore
18: aload 15
iconst_0
aload 15
iconst_1
aload 15
iconst_2
aload 15
iconst_3
iconst_m1
dup_x2
iastore
dup_x2
iastore
dup_x2
iastore
iastore
19: aload 0
getfield android.widget.LinearLayout.mBaselineAligned:Z
istore 16
start local 16 20: aload 0
getfield android.widget.LinearLayout.mUseLargestChild:Z
istore 17
start local 17 21: iload 10
ldc 1073741824
if_icmpne 22
iconst_1
goto 23
StackMap locals: android.widget.LinearLayout int int int int int int int float int int int int int int[] int[] int int
StackMap stack:
22: iconst_0
StackMap locals:
StackMap stack: int
23: istore 18
start local 18 24: ldc -2147483648
istore 19
start local 19 25: iconst_0
istore 20
start local 20 26: iconst_0
istore 21
start local 21 27: iconst_0
istore 22
start local 22 28: goto 121
29: StackMap locals: android.widget.LinearLayout int int int int int int int float int int int int int int[] int[] int int int int int int int
StackMap stack:
aload 0
iload 22
invokevirtual android.widget.LinearLayout.getVirtualChildAt:(I)Landroid/view/View;
astore 23
start local 23 30: aload 23
ifnonnull 33
31: aload 0
dup
getfield android.widget.LinearLayout.mTotalLength:I
aload 0
iload 22
invokevirtual android.widget.LinearLayout.measureNullChild:(I)I
iadd
putfield android.widget.LinearLayout.mTotalLength:I
32: goto 120
33: StackMap locals: android.view.View
StackMap stack:
aload 23
invokevirtual android.view.View.getVisibility:()I
bipush 8
if_icmpne 36
34: iload 22
aload 0
aload 23
iload 22
invokevirtual android.widget.LinearLayout.getChildrenSkipCount:(Landroid/view/View;I)I
iadd
istore 22
35: goto 120
36: StackMap locals:
StackMap stack:
iinc 21 1
37: aload 0
iload 22
invokevirtual android.widget.LinearLayout.hasDividerBeforeChildAt:(I)Z
ifeq 39
38: aload 0
dup
getfield android.widget.LinearLayout.mTotalLength:I
aload 0
getfield android.widget.LinearLayout.mDividerWidth:I
iadd
putfield android.widget.LinearLayout.mTotalLength:I
39: StackMap locals:
StackMap stack:
aload 23
invokevirtual android.view.View.getLayoutParams:()Landroid/view/ViewGroup$LayoutParams;
checkcast android.widget.LinearLayout$LayoutParams
astore 24
start local 24 40: fload 8
aload 24
getfield android.widget.LinearLayout$LayoutParams.weight:F
fadd
fstore 8
41: aload 24
getfield android.widget.LinearLayout$LayoutParams.width:I
ifne 42
aload 24
getfield android.widget.LinearLayout$LayoutParams.weight:F
fconst_0
fcmpl
ifle 42
iconst_1
goto 43
StackMap locals: android.widget.LinearLayout$LayoutParams
StackMap stack:
42: iconst_0
StackMap locals:
StackMap stack: int
43: istore 25
start local 25 44: iload 10
ldc 1073741824
if_icmpne 61
iload 25
ifeq 61
45: iload 18
ifeq 48
46: aload 0
dup
getfield android.widget.LinearLayout.mTotalLength:I
aload 24
getfield android.widget.LinearLayout$LayoutParams.leftMargin:I
aload 24
getfield android.widget.LinearLayout$LayoutParams.rightMargin:I
iadd
iadd
putfield android.widget.LinearLayout.mTotalLength:I
47: goto 52
48: StackMap locals: int
StackMap stack:
aload 0
getfield android.widget.LinearLayout.mTotalLength:I
istore 26
start local 26 49: aload 0
iload 26
iload 26
50: aload 24
getfield android.widget.LinearLayout$LayoutParams.leftMargin:I
iadd
aload 24
getfield android.widget.LinearLayout$LayoutParams.rightMargin:I
iadd
51: invokestatic java.lang.Math.max:(II)I
putfield android.widget.LinearLayout.mTotalLength:I
end local 26 52: StackMap locals:
StackMap stack:
iload 16
ifeq 59
53: iload 1
invokestatic android.view.View$MeasureSpec.getSize:(I)I
iconst_0
54: invokestatic android.view.View$MeasureSpec.makeSafeMeasureSpec:(II)I
istore 26
start local 26 55: iload 2
invokestatic android.view.View$MeasureSpec.getSize:(I)I
iconst_0
56: invokestatic android.view.View$MeasureSpec.makeSafeMeasureSpec:(II)I
istore 27
start local 27 57: aload 23
iload 26
iload 27
invokevirtual android.view.View.measure:(II)V
end local 27 end local 26 58: goto 84
59: StackMap locals:
StackMap stack:
iconst_1
istore 13
60: goto 84
61: StackMap locals:
StackMap stack:
iload 25
ifeq 63
62: aload 24
bipush -2
putfield android.widget.LinearLayout$LayoutParams.width:I
63: StackMap locals:
StackMap stack:
fload 8
fconst_0
fcmpl
ifne 64
aload 0
getfield android.widget.LinearLayout.mTotalLength:I
goto 65
StackMap locals:
StackMap stack:
64: iconst_0
StackMap locals:
StackMap stack: int
65: istore 26
start local 26 66: aload 0
aload 23
iload 22
iload 1
iload 26
67: iload 2
iconst_0
68: invokevirtual android.widget.LinearLayout.measureChildBeforeLayout:(Landroid/view/View;IIIII)V
69: aload 23
invokevirtual android.view.View.getMeasuredWidth:()I
istore 27
start local 27 70: iload 25
ifeq 73
71: aload 24
iconst_0
putfield android.widget.LinearLayout$LayoutParams.width:I
72: iload 20
iload 27
iadd
istore 20
73: StackMap locals: int int
StackMap stack:
iload 18
ifeq 78
74: aload 0
dup
getfield android.widget.LinearLayout.mTotalLength:I
iload 27
aload 24
getfield android.widget.LinearLayout$LayoutParams.leftMargin:I
iadd
aload 24
getfield android.widget.LinearLayout$LayoutParams.rightMargin:I
iadd
75: aload 0
aload 23
invokevirtual android.widget.LinearLayout.getNextLocationOffset:(Landroid/view/View;)I
76: iadd
iadd
putfield android.widget.LinearLayout.mTotalLength:I
77: goto 82
78: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.LinearLayout.mTotalLength:I
istore 28
start local 28 79: aload 0
iload 28
iload 28
iload 27
iadd
aload 24
getfield android.widget.LinearLayout$LayoutParams.leftMargin:I
iadd
80: aload 24
getfield android.widget.LinearLayout$LayoutParams.rightMargin:I
iadd
aload 0
aload 23
invokevirtual android.widget.LinearLayout.getNextLocationOffset:(Landroid/view/View;)I
iadd
81: invokestatic java.lang.Math.max:(II)I
putfield android.widget.LinearLayout.mTotalLength:I
end local 28 82: StackMap locals:
StackMap stack:
iload 17
ifeq 84
83: iload 27
iload 19
invokestatic java.lang.Math.max:(II)I
istore 19
end local 27 end local 26 84: StackMap locals:
StackMap stack:
iconst_0
istore 26
start local 26 85: iload 11
ldc 1073741824
if_icmpeq 88
aload 24
getfield android.widget.LinearLayout$LayoutParams.height:I
iconst_m1
if_icmpne 88
86: iconst_1
istore 12
87: iconst_1
istore 26
88: StackMap locals: int
StackMap stack:
aload 24
getfield android.widget.LinearLayout$LayoutParams.topMargin:I
aload 24
getfield android.widget.LinearLayout$LayoutParams.bottomMargin:I
iadd
istore 27
start local 27 89: aload 23
invokevirtual android.view.View.getMeasuredHeight:()I
iload 27
iadd
istore 28
start local 28 90: iload 4
aload 23
invokevirtual android.view.View.getMeasuredState:()I
invokestatic android.widget.LinearLayout.combineMeasuredStates:(II)I
istore 4
91: iload 16
ifeq 105
92: aload 23
invokevirtual android.view.View.getBaseline:()I
istore 29
start local 29 93: iload 29
iconst_m1
if_icmpeq 105
94: aload 24
getfield android.widget.LinearLayout$LayoutParams.gravity:I
ifge 95
aload 0
getfield android.widget.LinearLayout.mGravity:I
goto 96
StackMap locals: int int int
StackMap stack:
95: aload 24
getfield android.widget.LinearLayout$LayoutParams.gravity:I
96: StackMap locals:
StackMap stack: int
bipush 112
97: iand
istore 30
start local 30 98: iload 30
iconst_4
ishr
99: bipush -2
100: iand
101: iconst_1
102: ishr
istore 31
start local 31 103: aload 14
iload 31
aload 14
iload 31
iaload
iload 29
invokestatic java.lang.Math.max:(II)I
iastore
104: aload 15
iload 31
aload 15
iload 31
iaload
iload 28
iload 29
isub
invokestatic java.lang.Math.max:(II)I
iastore
end local 31 end local 30 end local 29 105: StackMap locals:
StackMap stack:
iload 3
iload 28
invokestatic java.lang.Math.max:(II)I
istore 3
106: iload 7
ifeq 107
aload 24
getfield android.widget.LinearLayout$LayoutParams.height:I
iconst_m1
if_icmpne 107
iconst_1
goto 108
StackMap locals:
StackMap stack:
107: iconst_0
StackMap locals:
StackMap stack: int
108: istore 7
109: aload 24
getfield android.widget.LinearLayout$LayoutParams.weight:F
fconst_0
fcmpl
ifle 115
110: iload 6
111: iload 26
ifeq 112
iload 27
goto 113
StackMap locals:
StackMap stack: int
112: iload 28
113: StackMap locals: android.widget.LinearLayout int int int int int int int float int int int int int int[] int[] int int int int int int int android.view.View android.widget.LinearLayout$LayoutParams int int int int
StackMap stack: int int
invokestatic java.lang.Math.max:(II)I
istore 6
114: goto 119
115: StackMap locals:
StackMap stack:
iload 5
116: iload 26
ifeq 117
iload 27
goto 118
StackMap locals:
StackMap stack: int
117: iload 28
118: StackMap locals: android.widget.LinearLayout int int int int int int int float int int int int int int[] int[] int int int int int int int android.view.View android.widget.LinearLayout$LayoutParams int int int int
StackMap stack: int int
invokestatic java.lang.Math.max:(II)I
istore 5
119: StackMap locals:
StackMap stack:
iload 22
aload 0
aload 23
iload 22
invokevirtual android.widget.LinearLayout.getChildrenSkipCount:(Landroid/view/View;I)I
iadd
istore 22
end local 28 end local 27 end local 26 end local 25 end local 24 end local 23 120: StackMap locals: android.widget.LinearLayout int int int int int int int float int int int int int int[] int[] int int int int int int int
StackMap stack:
iinc 22 1
StackMap locals:
StackMap stack:
121: iload 22
iload 9
if_icmplt 29
end local 22 122: iload 21
ifle 124
aload 0
iload 9
invokevirtual android.widget.LinearLayout.hasDividerBeforeChildAt:(I)Z
ifeq 124
123: aload 0
dup
getfield android.widget.LinearLayout.mTotalLength:I
aload 0
getfield android.widget.LinearLayout.mDividerWidth:I
iadd
putfield android.widget.LinearLayout.mTotalLength:I
124: StackMap locals:
StackMap stack:
aload 14
iconst_1
iaload
iconst_m1
if_icmpne 128
125: aload 14
iconst_0
iaload
iconst_m1
if_icmpne 128
126: aload 14
iconst_2
iaload
iconst_m1
if_icmpne 128
127: aload 14
iconst_3
iaload
iconst_m1
if_icmpeq 139
128: StackMap locals:
StackMap stack:
aload 14
iconst_3
iaload
129: aload 14
iconst_0
iaload
130: aload 14
iconst_1
iaload
aload 14
iconst_2
iaload
invokestatic java.lang.Math.max:(II)I
131: invokestatic java.lang.Math.max:(II)I
132: invokestatic java.lang.Math.max:(II)I
istore 22
start local 22 133: aload 15
iconst_3
iaload
134: aload 15
iconst_0
iaload
135: aload 15
iconst_1
iaload
aload 15
iconst_2
iaload
invokestatic java.lang.Math.max:(II)I
136: invokestatic java.lang.Math.max:(II)I
137: invokestatic java.lang.Math.max:(II)I
istore 23
start local 23 138: iload 3
iload 22
iload 23
iadd
invokestatic java.lang.Math.max:(II)I
istore 3
end local 23 end local 22 139: StackMap locals:
StackMap stack:
iload 17
ifeq 164
140: iload 10
ldc -2147483648
if_icmpeq 141
iload 10
ifne 164
141: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield android.widget.LinearLayout.mTotalLength:I
142: iconst_0
istore 22
start local 22 143: goto 163
144: StackMap locals: int
StackMap stack:
aload 0
iload 22
invokevirtual android.widget.LinearLayout.getVirtualChildAt:(I)Landroid/view/View;
astore 23
start local 23 145: aload 23
ifnonnull 148
146: aload 0
dup
getfield android.widget.LinearLayout.mTotalLength:I
aload 0
iload 22
invokevirtual android.widget.LinearLayout.measureNullChild:(I)I
iadd
putfield android.widget.LinearLayout.mTotalLength:I
147: goto 162
148: StackMap locals: android.view.View
StackMap stack:
aload 23
invokevirtual android.view.View.getVisibility:()I
bipush 8
if_icmpne 151
149: iload 22
aload 0
aload 23
iload 22
invokevirtual android.widget.LinearLayout.getChildrenSkipCount:(Landroid/view/View;I)I
iadd
istore 22
150: goto 162
151: StackMap locals:
StackMap stack:
aload 23
invokevirtual android.view.View.getLayoutParams:()Landroid/view/ViewGroup$LayoutParams;
152: checkcast android.widget.LinearLayout$LayoutParams
astore 24
start local 24 153: iload 18
ifeq 158
154: aload 0
dup
getfield android.widget.LinearLayout.mTotalLength:I
iload 19
aload 24
getfield android.widget.LinearLayout$LayoutParams.leftMargin:I
iadd
aload 24
getfield android.widget.LinearLayout$LayoutParams.rightMargin:I
iadd
155: aload 0
aload 23
invokevirtual android.widget.LinearLayout.getNextLocationOffset:(Landroid/view/View;)I
156: iadd
iadd
putfield android.widget.LinearLayout.mTotalLength:I
157: goto 162
158: StackMap locals: android.widget.LinearLayout$LayoutParams
StackMap stack:
aload 0
getfield android.widget.LinearLayout.mTotalLength:I
istore 25
start local 25 159: aload 0
iload 25
iload 25
iload 19
iadd
160: aload 24
getfield android.widget.LinearLayout$LayoutParams.leftMargin:I
iadd
aload 24
getfield android.widget.LinearLayout$LayoutParams.rightMargin:I
iadd
aload 0
aload 23
invokevirtual android.widget.LinearLayout.getNextLocationOffset:(Landroid/view/View;)I
iadd
161: invokestatic java.lang.Math.max:(II)I
putfield android.widget.LinearLayout.mTotalLength:I
end local 25 end local 24 end local 23 162: StackMap locals:
StackMap stack:
iinc 22 1
StackMap locals:
StackMap stack:
163: iload 22
iload 9
if_icmplt 144
end local 22 164: StackMap locals:
StackMap stack:
aload 0
dup
getfield android.widget.LinearLayout.mTotalLength:I
aload 0
getfield android.widget.LinearLayout.mPaddingLeft:I
aload 0
getfield android.widget.LinearLayout.mPaddingRight:I
iadd
iadd
putfield android.widget.LinearLayout.mTotalLength:I
165: aload 0
getfield android.widget.LinearLayout.mTotalLength:I
istore 22
start local 22 166: iload 22
aload 0
invokevirtual android.widget.LinearLayout.getSuggestedMinimumWidth:()I
invokestatic java.lang.Math.max:(II)I
istore 22
167: iload 22
iload 1
iconst_0
invokestatic android.widget.LinearLayout.resolveSizeAndState:(III)I
istore 23
start local 23 168: iload 23
ldc 16777215
iand
istore 22
169: iload 22
aload 0
getfield android.widget.LinearLayout.mTotalLength:I
isub
170: aload 0
getfield android.widget.LinearLayout.mAllowInconsistentMeasurement:Z
ifeq 171
iconst_0
goto 172
StackMap locals: android.widget.LinearLayout int int int int int int int float int int int int int int[] int[] int int int int int int int int
StackMap stack: int
171: iload 20
172: StackMap locals: android.widget.LinearLayout int int int int int int int float int int int int int int[] int[] int int int int int int int int
StackMap stack: int int
iadd
istore 24
start local 24 173: iload 13
ifne 176
174: getstatic android.widget.LinearLayout.sRemeasureWeightedChildren:Z
ifne 175
iload 24
ifeq 271
StackMap locals: int
StackMap stack:
175: fload 8
fconst_0
fcmpl
ifle 271
176: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.LinearLayout.mWeightSum:F
fconst_0
fcmpl
ifle 177
aload 0
getfield android.widget.LinearLayout.mWeightSum:F
goto 178
StackMap locals:
StackMap stack:
177: fload 8
StackMap locals:
StackMap stack: float
178: fstore 25
start local 25 179: aload 14
iconst_0
aload 14
iconst_1
aload 14
iconst_2
aload 14
iconst_3
iconst_m1
dup_x2
iastore
dup_x2
iastore
dup_x2
iastore
iastore
180: aload 15
iconst_0
aload 15
iconst_1
aload 15
iconst_2
aload 15
iconst_3
iconst_m1
dup_x2
iastore
dup_x2
iastore
dup_x2
iastore
iastore
181: iconst_m1
istore 3
182: aload 0
iconst_0
putfield android.widget.LinearLayout.mTotalLength:I
183: iconst_0
istore 26
start local 26 184: goto 253
185: StackMap locals: float int
StackMap stack:
aload 0
iload 26
invokevirtual android.widget.LinearLayout.getVirtualChildAt:(I)Landroid/view/View;
astore 27
start local 27 186: aload 27
ifnull 252
aload 27
invokevirtual android.view.View.getVisibility:()I
bipush 8
if_icmpne 188
187: goto 252
188: StackMap locals: android.view.View
StackMap stack:
aload 27
invokevirtual android.view.View.getLayoutParams:()Landroid/view/ViewGroup$LayoutParams;
checkcast android.widget.LinearLayout$LayoutParams
astore 28
start local 28 189: aload 28
getfield android.widget.LinearLayout$LayoutParams.weight:F
fstore 29
start local 29 190: fload 29
fconst_0
fcmpl
ifle 212
191: fload 29
iload 24
i2f
fmul
fload 25
fdiv
f2i
istore 30
start local 30 192: iload 24
iload 30
isub
istore 24
193: fload 25
fload 29
fsub
fstore 25
194: aload 0
getfield android.widget.LinearLayout.mUseLargestChild:Z
ifeq 197
iload 10
ldc 1073741824
if_icmpeq 197
195: iload 19
istore 31
start local 31 196: goto 202
end local 31 StackMap locals: android.widget.LinearLayout$LayoutParams float int
StackMap stack:
197: aload 28
getfield android.widget.LinearLayout$LayoutParams.width:I
ifne 201
aload 0
getfield android.widget.LinearLayout.mAllowInconsistentMeasurement:Z
ifeq 199
198: iload 10
ldc 1073741824
if_icmpne 201
199: StackMap locals:
StackMap stack:
iload 30
istore 31
start local 31 200: goto 202
end local 31 201: StackMap locals:
StackMap stack:
aload 27
invokevirtual android.view.View.getMeasuredWidth:()I
iload 30
iadd
istore 31
start local 31 202: StackMap locals: int
StackMap stack:
iconst_0
iload 31
invokestatic java.lang.Math.max:(II)I
ldc 1073741824
203: invokestatic android.view.View$MeasureSpec.makeMeasureSpec:(II)I
istore 32
start local 32 204: iload 2
205: aload 0
getfield android.widget.LinearLayout.mPaddingTop:I
aload 0
getfield android.widget.LinearLayout.mPaddingBottom:I
iadd
aload 28
getfield android.widget.LinearLayout$LayoutParams.topMargin:I
iadd
aload 28
getfield android.widget.LinearLayout$LayoutParams.bottomMargin:I
iadd
206: aload 28
getfield android.widget.LinearLayout$LayoutParams.height:I
207: invokestatic android.widget.LinearLayout.getChildMeasureSpec:(III)I
istore 33
start local 33 208: aload 27
iload 32
iload 33
invokevirtual android.view.View.measure:(II)V
209: iload 4
210: aload 27
invokevirtual android.view.View.getMeasuredState:()I
ldc -16777216
iand
211: invokestatic android.widget.LinearLayout.combineMeasuredStates:(II)I
istore 4
end local 33 end local 32 end local 31 end local 30 212: StackMap locals:
StackMap stack:
iload 18
ifeq 217
213: aload 0
dup
getfield android.widget.LinearLayout.mTotalLength:I
aload 27
invokevirtual android.view.View.getMeasuredWidth:()I
aload 28
getfield android.widget.LinearLayout$LayoutParams.leftMargin:I
iadd
aload 28
getfield android.widget.LinearLayout$LayoutParams.rightMargin:I
iadd
214: aload 0
aload 27
invokevirtual android.widget.LinearLayout.getNextLocationOffset:(Landroid/view/View;)I
215: iadd
iadd
putfield android.widget.LinearLayout.mTotalLength:I
216: goto 221
217: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.LinearLayout.mTotalLength:I
istore 30
start local 30 218: aload 0
iload 30
iload 30
aload 27
invokevirtual android.view.View.getMeasuredWidth:()I
iadd
219: aload 28
getfield android.widget.LinearLayout$LayoutParams.leftMargin:I
iadd
aload 28
getfield android.widget.LinearLayout$LayoutParams.rightMargin:I
iadd
aload 0
aload 27
invokevirtual android.widget.LinearLayout.getNextLocationOffset:(Landroid/view/View;)I
iadd
220: invokestatic java.lang.Math.max:(II)I
putfield android.widget.LinearLayout.mTotalLength:I
end local 30 221: StackMap locals:
StackMap stack:
iload 11
ldc 1073741824
if_icmpeq 224
222: aload 28
getfield android.widget.LinearLayout$LayoutParams.height:I
iconst_m1
if_icmpne 224
223: iconst_1
goto 225
StackMap locals:
StackMap stack:
224: iconst_0
StackMap locals:
StackMap stack: int
225: istore 30
start local 30 226: aload 28
getfield android.widget.LinearLayout$LayoutParams.topMargin:I
aload 28
getfield android.widget.LinearLayout$LayoutParams.bottomMargin:I
iadd
istore 31
start local 31 227: aload 27
invokevirtual android.view.View.getMeasuredHeight:()I
iload 31
iadd
istore 32
start local 32 228: iload 3
iload 32
invokestatic java.lang.Math.max:(II)I
istore 3
229: iload 5
230: iload 30
ifeq 231
iload 31
goto 232
StackMap locals: android.widget.LinearLayout int int int int int int int float int int int int int int[] int[] int int int int int int int int int float int android.view.View android.widget.LinearLayout$LayoutParams float int int int
StackMap stack: int
231: iload 32
232: StackMap locals: android.widget.LinearLayout int int int int int int int float int int int int int int[] int[] int int int int int int int int int float int android.view.View android.widget.LinearLayout$LayoutParams float int int int
StackMap stack: int int
invokestatic java.lang.Math.max:(II)I
istore 5
233: iload 7
ifeq 234
aload 28
getfield android.widget.LinearLayout$LayoutParams.height:I
iconst_m1
if_icmpne 234
iconst_1
goto 235
StackMap locals:
StackMap stack:
234: iconst_0
StackMap locals:
StackMap stack: int
235: istore 7
236: iload 16
ifeq 252
237: aload 27
invokevirtual android.view.View.getBaseline:()I
istore 33
start local 33 238: iload 33
iconst_m1
if_icmpeq 252
239: aload 28
getfield android.widget.LinearLayout$LayoutParams.gravity:I
ifge 240
aload 0
getfield android.widget.LinearLayout.mGravity:I
goto 241
StackMap locals: int
StackMap stack:
240: aload 28
getfield android.widget.LinearLayout$LayoutParams.gravity:I
241: StackMap locals:
StackMap stack: int
bipush 112
242: iand
istore 34
start local 34 243: iload 34
iconst_4
ishr
244: bipush -2
245: iand
246: iconst_1
247: ishr
istore 35
start local 35 248: aload 14
iload 35
aload 14
iload 35
iaload
iload 33
invokestatic java.lang.Math.max:(II)I
iastore
249: aload 15
iload 35
aload 15
iload 35
iaload
250: iload 32
iload 33
isub
251: invokestatic java.lang.Math.max:(II)I
iastore
end local 35 end local 34 end local 33 end local 32 end local 31 end local 30 end local 29 end local 28 end local 27 252: StackMap locals: android.widget.LinearLayout int int int int int int int float int int int int int int[] int[] int int int int int int int int int float int
StackMap stack:
iinc 26 1
StackMap locals:
StackMap stack:
253: iload 26
iload 9
if_icmplt 185
end local 26 254: aload 0
dup
getfield android.widget.LinearLayout.mTotalLength:I
aload 0
getfield android.widget.LinearLayout.mPaddingLeft:I
aload 0
getfield android.widget.LinearLayout.mPaddingRight:I
iadd
iadd
putfield android.widget.LinearLayout.mTotalLength:I
255: aload 14
iconst_1
iaload
iconst_m1
if_icmpne 259
256: aload 14
iconst_0
iaload
iconst_m1
if_icmpne 259
257: aload 14
iconst_2
iaload
iconst_m1
if_icmpne 259
258: aload 14
iconst_3
iaload
iconst_m1
if_icmpeq 290
259: StackMap locals:
StackMap stack:
aload 14
iconst_3
iaload
260: aload 14
iconst_0
iaload
261: aload 14
iconst_1
iaload
aload 14
iconst_2
iaload
invokestatic java.lang.Math.max:(II)I
262: invokestatic java.lang.Math.max:(II)I
263: invokestatic java.lang.Math.max:(II)I
istore 26
start local 26 264: aload 15
iconst_3
iaload
265: aload 15
iconst_0
iaload
266: aload 15
iconst_1
iaload
aload 15
iconst_2
iaload
invokestatic java.lang.Math.max:(II)I
267: invokestatic java.lang.Math.max:(II)I
268: invokestatic java.lang.Math.max:(II)I
istore 27
start local 27 269: iload 3
iload 26
iload 27
iadd
invokestatic java.lang.Math.max:(II)I
istore 3
end local 27 end local 26 end local 25 270: goto 290
271: StackMap locals:
StackMap stack:
iload 5
iload 6
invokestatic java.lang.Math.max:(II)I
istore 5
272: iload 17
ifeq 290
iload 10
ldc 1073741824
if_icmpeq 290
273: iconst_0
istore 25
start local 25 274: goto 289
275: StackMap locals: int
StackMap stack:
aload 0
iload 25
invokevirtual android.widget.LinearLayout.getVirtualChildAt:(I)Landroid/view/View;
astore 26
start local 26 276: aload 26
ifnull 288
aload 26
invokevirtual android.view.View.getVisibility:()I
bipush 8
if_icmpne 278
277: goto 288
278: StackMap locals: android.view.View
StackMap stack:
aload 26
invokevirtual android.view.View.getLayoutParams:()Landroid/view/ViewGroup$LayoutParams;
checkcast android.widget.LinearLayout$LayoutParams
279: astore 27
start local 27 280: aload 27
getfield android.widget.LinearLayout$LayoutParams.weight:F
fstore 28
start local 28 281: fload 28
fconst_0
fcmpl
ifle 288
282: aload 26
283: iload 19
ldc 1073741824
invokestatic android.view.View$MeasureSpec.makeMeasureSpec:(II)I
284: aload 26
invokevirtual android.view.View.getMeasuredHeight:()I
285: ldc 1073741824
286: invokestatic android.view.View$MeasureSpec.makeMeasureSpec:(II)I
287: invokevirtual android.view.View.measure:(II)V
end local 28 end local 27 end local 26 288: StackMap locals:
StackMap stack:
iinc 25 1
StackMap locals:
StackMap stack:
289: iload 25
iload 9
if_icmplt 275
end local 25 290: StackMap locals:
StackMap stack:
iload 7
ifne 292
iload 11
ldc 1073741824
if_icmpeq 292
291: iload 5
istore 3
292: StackMap locals:
StackMap stack:
iload 3
aload 0
getfield android.widget.LinearLayout.mPaddingTop:I
aload 0
getfield android.widget.LinearLayout.mPaddingBottom:I
iadd
iadd
istore 3
293: iload 3
aload 0
invokevirtual android.widget.LinearLayout.getSuggestedMinimumHeight:()I
invokestatic java.lang.Math.max:(II)I
istore 3
294: aload 0
iload 23
iload 4
ldc -16777216
iand
ior
295: iload 3
iload 2
296: iload 4
bipush 16
ishl
297: invokestatic android.widget.LinearLayout.resolveSizeAndState:(III)I
298: invokevirtual android.widget.LinearLayout.setMeasuredDimension:(II)V
299: iload 12
ifeq 301
300: aload 0
iload 9
iload 1
invokevirtual android.widget.LinearLayout.forceUniformHeight:(II)V
301: StackMap locals:
StackMap stack:
return
end local 24 end local 23 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 302 0 this Landroid/widget/LinearLayout;
0 302 1 widthMeasureSpec I
0 302 2 heightMeasureSpec I
2 302 3 maxHeight I
3 302 4 childState I
4 302 5 alternativeMaxHeight I
5 302 6 weightedMaxHeight I
6 302 7 allFillParent Z
7 302 8 totalWeight F
8 302 9 count I
9 302 10 widthMode I
10 302 11 heightMode I
11 302 12 matchHeight Z
12 302 13 skippedMeasure Z
16 302 14 maxAscent [I
17 302 15 maxDescent [I
20 302 16 baselineAligned Z
21 302 17 useLargestChild Z
24 302 18 isExactly Z
25 302 19 largestChildWidth I
26 302 20 usedExcessSpace I
27 302 21 nonSkippedChildCount I
28 122 22 i I
30 120 23 child Landroid/view/View;
40 120 24 lp Landroid/widget/LinearLayout$LayoutParams;
44 120 25 useExcessSpace Z
49 52 26 totalLength I
55 58 26 freeWidthSpec I
57 58 27 freeHeightSpec I
66 84 26 usedWidth I
70 84 27 childWidth I
79 82 28 totalLength I
85 120 26 matchHeightLocally Z
89 120 27 margin I
90 120 28 childHeight I
93 105 29 childBaseline I
98 105 30 gravity I
103 105 31 index I
133 139 22 ascent I
138 139 23 descent I
143 164 22 i I
145 162 23 child Landroid/view/View;
153 162 24 lp Landroid/widget/LinearLayout$LayoutParams;
159 162 25 totalLength I
166 302 22 widthSize I
168 302 23 widthSizeAndState I
173 302 24 remainingExcess I
179 270 25 remainingWeightSum F
184 254 26 i I
186 252 27 child Landroid/view/View;
189 252 28 lp Landroid/widget/LinearLayout$LayoutParams;
190 252 29 childWeight F
192 212 30 share I
196 197 31 childWidth I
200 201 31 childWidth I
202 212 31 childWidth I
204 212 32 childWidthMeasureSpec I
208 212 33 childHeightMeasureSpec I
218 221 30 totalLength I
226 252 30 matchHeightLocally Z
227 252 31 margin I
228 252 32 childHeight I
238 252 33 childBaseline I
243 252 34 gravity I
248 252 35 index I
264 270 26 ascent I
269 270 27 descent I
274 290 25 i I
276 288 26 child Landroid/view/View;
280 288 27 lp Landroid/widget/LinearLayout$LayoutParams;
281 288 28 childExtra F
MethodParameters:
Name Flags
widthMeasureSpec
heightMeasureSpec
private void forceUniformHeight(int, int);
descriptor: (II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual android.widget.LinearLayout.getMeasuredHeight:()I
1: ldc 1073741824
2: invokestatic android.view.View$MeasureSpec.makeMeasureSpec:(II)I
istore 3
start local 3 3: iconst_0
istore 4
start local 4 4: goto 14
5: StackMap locals: int int
StackMap stack:
aload 0
iload 4
invokevirtual android.widget.LinearLayout.getVirtualChildAt:(I)Landroid/view/View;
astore 5
start local 5 6: aload 5
ifnull 13
aload 5
invokevirtual android.view.View.getVisibility:()I
bipush 8
if_icmpeq 13
7: aload 5
invokevirtual android.view.View.getLayoutParams:()Landroid/view/ViewGroup$LayoutParams;
checkcast android.widget.LinearLayout$LayoutParams
astore 6
start local 6 8: aload 6
getfield android.widget.LinearLayout$LayoutParams.height:I
iconst_m1
if_icmpne 13
9: aload 6
getfield android.widget.LinearLayout$LayoutParams.width:I
istore 7
start local 7 10: aload 6
aload 5
invokevirtual android.view.View.getMeasuredWidth:()I
putfield android.widget.LinearLayout$LayoutParams.width:I
11: aload 0
aload 5
iload 2
iconst_0
iload 3
iconst_0
invokevirtual android.widget.LinearLayout.measureChildWithMargins:(Landroid/view/View;IIII)V
12: aload 6
iload 7
putfield android.widget.LinearLayout$LayoutParams.width:I
end local 7 end local 6 end local 5 13: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
14: iload 4
iload 1
if_icmplt 5
end local 4 15: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Landroid/widget/LinearLayout;
0 16 1 count I
0 16 2 widthMeasureSpec I
3 16 3 uniformMeasureSpec I
4 15 4 i I
6 13 5 child Landroid/view/View;
8 13 6 lp Landroid/widget/LinearLayout$LayoutParams;
10 13 7 oldWidth I
MethodParameters:
Name Flags
count
widthMeasureSpec
int getChildrenSkipCount(android.view.View, int);
descriptor: (Landroid/view/View;I)I
flags: (0x0000)
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/widget/LinearLayout;
0 1 1 child Landroid/view/View;
0 1 2 index I
MethodParameters:
Name Flags
child
index
int measureNullChild(int);
descriptor: (I)I
flags: (0x0000)
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/widget/LinearLayout;
0 1 1 childIndex I
MethodParameters:
Name Flags
childIndex
void measureChildBeforeLayout(android.view.View, int, int, int, int, int);
descriptor: (Landroid/view/View;IIIII)V
flags: (0x0000)
Code:
stack=6, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
aload 1
iload 3
iload 4
1: iload 5
iload 6
2: invokevirtual android.widget.LinearLayout.measureChildWithMargins:(Landroid/view/View;IIII)V
3: return
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 4 0 this Landroid/widget/LinearLayout;
0 4 1 child Landroid/view/View;
0 4 2 childIndex I
0 4 3 widthMeasureSpec I
0 4 4 totalWidth I
0 4 5 heightMeasureSpec I
0 4 6 totalHeight I
MethodParameters:
Name Flags
child
childIndex
widthMeasureSpec
totalWidth
heightMeasureSpec
totalHeight
int getLocationOffset(android.view.View);
descriptor: (Landroid/view/View;)I
flags: (0x0000)
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/widget/LinearLayout;
0 1 1 child Landroid/view/View;
MethodParameters:
Name Flags
child
int getNextLocationOffset(android.view.View);
descriptor: (Landroid/view/View;)I
flags: (0x0000)
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/widget/LinearLayout;
0 1 1 child Landroid/view/View;
MethodParameters:
Name Flags
child
protected void onLayout(boolean, int, int, int, int);
descriptor: (ZIIII)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
getfield android.widget.LinearLayout.mOrientation:I
iconst_1
if_icmpne 3
1: aload 0
iload 2
iload 3
iload 4
iload 5
invokevirtual android.widget.LinearLayout.layoutVertical:(IIII)V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
iload 2
iload 3
iload 4
iload 5
invokevirtual android.widget.LinearLayout.layoutHorizontal:(IIII)V
4: StackMap locals:
StackMap stack:
return
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/widget/LinearLayout;
0 5 1 changed Z
0 5 2 l I
0 5 3 t I
0 5 4 r I
0 5 5 b I
MethodParameters:
Name Flags
changed
l
t
r
b
void layoutVertical(int, int, int, int);
descriptor: (IIII)V
flags: (0x0000)
Code:
stack=6, locals=22, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield android.widget.LinearLayout.mPaddingLeft:I
istore 5
start local 5 1: iload 3
iload 1
isub
istore 8
start local 8 2: iload 8
aload 0
getfield android.widget.LinearLayout.mPaddingRight:I
isub
istore 9
start local 9 3: iload 8
iload 5
isub
aload 0
getfield android.widget.LinearLayout.mPaddingRight:I
isub
istore 10
start local 10 4: aload 0
invokevirtual android.widget.LinearLayout.getVirtualChildCount:()I
istore 11
start local 11 5: aload 0
getfield android.widget.LinearLayout.mGravity:I
bipush 112
iand
istore 12
start local 12 6: aload 0
getfield android.widget.LinearLayout.mGravity:I
ldc 8388615
iand
istore 13
start local 13 7: iload 12
lookupswitch { // 3
16: 10
48: 12
80: 8
default: 12
}
8: StackMap locals: android.widget.LinearLayout int int int int int top top int int int int int int
StackMap stack:
aload 0
getfield android.widget.LinearLayout.mPaddingTop:I
iload 4
iadd
iload 2
isub
aload 0
getfield android.widget.LinearLayout.mTotalLength:I
isub
istore 6
start local 6 9: goto 13
end local 6 10: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.LinearLayout.mPaddingTop:I
iload 4
iload 2
isub
aload 0
getfield android.widget.LinearLayout.mTotalLength:I
isub
iconst_2
idiv
iadd
istore 6
start local 6 11: goto 13
end local 6 12: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.LinearLayout.mPaddingTop:I
istore 6
start local 6 13: StackMap locals: android.widget.LinearLayout int int int int int int top int int int int int int
StackMap stack:
iconst_0
istore 14
start local 14 14: goto 48
15: StackMap locals: int
StackMap stack:
aload 0
iload 14
invokevirtual android.widget.LinearLayout.getVirtualChildAt:(I)Landroid/view/View;
astore 15
start local 15 16: aload 15
ifnonnull 19
17: iload 6
aload 0
iload 14
invokevirtual android.widget.LinearLayout.measureNullChild:(I)I
iadd
istore 6
18: goto 47
StackMap locals: android.view.View
StackMap stack:
19: aload 15
invokevirtual android.view.View.getVisibility:()I
bipush 8
if_icmpeq 47
20: aload 15
invokevirtual android.view.View.getMeasuredWidth:()I
istore 16
start local 16 21: aload 15
invokevirtual android.view.View.getMeasuredHeight:()I
istore 17
start local 17 22: aload 15
invokevirtual android.view.View.getLayoutParams:()Landroid/view/ViewGroup$LayoutParams;
checkcast android.widget.LinearLayout$LayoutParams
23: astore 18
start local 18 24: aload 18
getfield android.widget.LinearLayout$LayoutParams.gravity:I
istore 19
start local 19 25: iload 19
ifge 27
26: iload 13
istore 19
27: StackMap locals: android.widget.LinearLayout int int int int int int top int int int int int int int android.view.View int int android.widget.LinearLayout$LayoutParams int
StackMap stack:
aload 0
invokevirtual android.widget.LinearLayout.getLayoutDirection:()I
istore 20
start local 20 28: iload 19
iload 20
invokestatic android.view.Gravity.getAbsoluteGravity:(II)I
istore 21
start local 21 29: iload 21
bipush 7
iand
tableswitch { // 1 - 5
1: 30
2: 38
3: 38
4: 38
5: 36
default: 38
}
30: StackMap locals: int int
StackMap stack:
iload 5
iload 10
iload 16
isub
iconst_2
idiv
iadd
31: aload 18
getfield android.widget.LinearLayout$LayoutParams.leftMargin:I
32: iadd
33: aload 18
getfield android.widget.LinearLayout$LayoutParams.rightMargin:I
34: isub
istore 7
start local 7 35: goto 39
end local 7 36: StackMap locals:
StackMap stack:
iload 9
iload 16
isub
aload 18
getfield android.widget.LinearLayout$LayoutParams.rightMargin:I
isub
istore 7
start local 7 37: goto 39
end local 7 38: StackMap locals:
StackMap stack:
iload 5
aload 18
getfield android.widget.LinearLayout$LayoutParams.leftMargin:I
iadd
istore 7
start local 7 39: StackMap locals: android.widget.LinearLayout int int int int int int int int int int int int int int android.view.View int int android.widget.LinearLayout$LayoutParams int int int
StackMap stack:
aload 0
iload 14
invokevirtual android.widget.LinearLayout.hasDividerBeforeChildAt:(I)Z
ifeq 41
40: iload 6
aload 0
getfield android.widget.LinearLayout.mDividerHeight:I
iadd
istore 6
41: StackMap locals:
StackMap stack:
iload 6
aload 18
getfield android.widget.LinearLayout$LayoutParams.topMargin:I
iadd
istore 6
42: aload 0
aload 15
iload 7
iload 6
aload 0
aload 15
invokevirtual android.widget.LinearLayout.getLocationOffset:(Landroid/view/View;)I
iadd
43: iload 16
iload 17
44: invokevirtual android.widget.LinearLayout.setChildFrame:(Landroid/view/View;IIII)V
45: iload 6
iload 17
aload 18
getfield android.widget.LinearLayout$LayoutParams.bottomMargin:I
iadd
aload 0
aload 15
invokevirtual android.widget.LinearLayout.getNextLocationOffset:(Landroid/view/View;)I
iadd
iadd
istore 6
46: iload 14
aload 0
aload 15
iload 14
invokevirtual android.widget.LinearLayout.getChildrenSkipCount:(Landroid/view/View;I)I
iadd
istore 14
end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 end local 15 end local 7 47: StackMap locals: android.widget.LinearLayout int int int int int int top int int int int int int int
StackMap stack:
iinc 14 1
StackMap locals:
StackMap stack:
48: iload 14
iload 11
if_icmplt 15
end local 14 49: return
end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 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 50 0 this Landroid/widget/LinearLayout;
0 50 1 left I
0 50 2 top I
0 50 3 right I
0 50 4 bottom I
1 50 5 paddingLeft I
9 10 6 childTop I
11 12 6 childTop I
13 50 6 childTop I
35 36 7 childLeft I
37 38 7 childLeft I
39 47 7 childLeft I
2 50 8 width I
3 50 9 childRight I
4 50 10 childSpace I
5 50 11 count I
6 50 12 majorGravity I
7 50 13 minorGravity I
14 49 14 i I
16 47 15 child Landroid/view/View;
21 47 16 childWidth I
22 47 17 childHeight I
24 47 18 lp Landroid/widget/LinearLayout$LayoutParams;
25 47 19 gravity I
28 47 20 layoutDirection I
29 47 21 absoluteGravity I
MethodParameters:
Name Flags
left
top
right
bottom
public void onRtlPropertiesChanged(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
invokespecial android.view.ViewGroup.onRtlPropertiesChanged:(I)V
1: iload 1
aload 0
getfield android.widget.LinearLayout.mLayoutDirection:I
if_icmpeq 5
2: aload 0
iload 1
putfield android.widget.LinearLayout.mLayoutDirection:I
3: aload 0
getfield android.widget.LinearLayout.mOrientation:I
ifne 5
4: aload 0
invokevirtual android.widget.LinearLayout.requestLayout:()V
5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Landroid/widget/LinearLayout;
0 6 1 layoutDirection I
MethodParameters:
Name Flags
layoutDirection
void layoutHorizontal(int, int, int, int);
descriptor: (IIII)V
flags: (0x0000)
Code:
stack=6, locals=30, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokevirtual android.widget.LinearLayout.isLayoutRtl:()Z
istore 5
start local 5 1: aload 0
getfield android.widget.LinearLayout.mPaddingTop:I
istore 6
start local 6 2: iload 4
iload 2
isub
istore 9
start local 9 3: iload 9
aload 0
getfield android.widget.LinearLayout.mPaddingBottom:I
isub
istore 10
start local 10 4: iload 9
iload 6
isub
aload 0
getfield android.widget.LinearLayout.mPaddingBottom:I
isub
istore 11
start local 11 5: aload 0
invokevirtual android.widget.LinearLayout.getVirtualChildCount:()I
istore 12
start local 12 6: aload 0
getfield android.widget.LinearLayout.mGravity:I
ldc 8388615
iand
istore 13
start local 13 7: aload 0
getfield android.widget.LinearLayout.mGravity:I
bipush 112
iand
istore 14
start local 14 8: aload 0
getfield android.widget.LinearLayout.mBaselineAligned:Z
istore 15
start local 15 9: aload 0
getfield android.widget.LinearLayout.mMaxAscent:[I
astore 16
start local 16 10: aload 0
getfield android.widget.LinearLayout.mMaxDescent:[I
astore 17
start local 17 11: aload 0
invokevirtual android.widget.LinearLayout.getLayoutDirection:()I
istore 18
start local 18 12: iload 13
iload 18
invokestatic android.view.Gravity.getAbsoluteGravity:(II)I
tableswitch { // 1 - 5
1: 15
2: 17
3: 17
4: 17
5: 13
default: 17
}
13: StackMap locals: android.widget.LinearLayout int int int int int int top top int int int int int int int int[] int[] int
StackMap stack:
aload 0
getfield android.widget.LinearLayout.mPaddingLeft:I
iload 3
iadd
iload 1
isub
aload 0
getfield android.widget.LinearLayout.mTotalLength:I
isub
istore 8
start local 8 14: goto 18
end local 8 15: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.LinearLayout.mPaddingLeft:I
iload 3
iload 1
isub
aload 0
getfield android.widget.LinearLayout.mTotalLength:I
isub
iconst_2
idiv
iadd
istore 8
start local 8 16: goto 18
end local 8 17: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.LinearLayout.mPaddingLeft:I
istore 8
start local 8 18: StackMap locals: android.widget.LinearLayout int int int int int int top int int int int int int int int int[] int[] int
StackMap stack:
iconst_0
istore 19
start local 19 19: iconst_1
istore 20
start local 20 20: iload 5
ifeq 23
21: iload 12
iconst_1
isub
istore 19
22: iconst_m1
istore 20
23: StackMap locals: int int
StackMap stack:
iconst_0
istore 21
start local 21 24: goto 69
25: StackMap locals: int
StackMap stack:
iload 19
iload 20
iload 21
imul
iadd
istore 22
start local 22 26: aload 0
iload 22
invokevirtual android.widget.LinearLayout.getVirtualChildAt:(I)Landroid/view/View;
astore 23
start local 23 27: aload 23
ifnonnull 30
28: iload 8
aload 0
iload 22
invokevirtual android.widget.LinearLayout.measureNullChild:(I)I
iadd
istore 8
29: goto 68
StackMap locals: int android.view.View
StackMap stack:
30: aload 23
invokevirtual android.view.View.getVisibility:()I
bipush 8
if_icmpeq 68
31: aload 23
invokevirtual android.view.View.getMeasuredWidth:()I
istore 24
start local 24 32: aload 23
invokevirtual android.view.View.getMeasuredHeight:()I
istore 25
start local 25 33: iconst_m1
istore 26
start local 26 34: aload 23
invokevirtual android.view.View.getLayoutParams:()Landroid/view/ViewGroup$LayoutParams;
checkcast android.widget.LinearLayout$LayoutParams
35: astore 27
start local 27 36: iload 15
ifeq 38
aload 27
getfield android.widget.LinearLayout$LayoutParams.height:I
iconst_m1
if_icmpeq 38
37: aload 23
invokevirtual android.view.View.getBaseline:()I
istore 26
38: StackMap locals: android.widget.LinearLayout int int int int int int top int int int int int int int int int[] int[] int int int int int android.view.View int int int android.widget.LinearLayout$LayoutParams
StackMap stack:
aload 27
getfield android.widget.LinearLayout$LayoutParams.gravity:I
istore 28
start local 28 39: iload 28
ifge 41
40: iload 14
istore 28
41: StackMap locals: int
StackMap stack:
iload 28
bipush 112
iand
lookupswitch { // 3
16: 46
48: 42
80: 52
default: 57
}
42: StackMap locals:
StackMap stack:
iload 6
aload 27
getfield android.widget.LinearLayout$LayoutParams.topMargin:I
iadd
istore 7
start local 7 43: iload 26
iconst_m1
if_icmpeq 58
44: iload 7
aload 16
iconst_1
iaload
iload 26
isub
iadd
istore 7
45: goto 58
end local 7 46: StackMap locals:
StackMap stack:
iload 6
iload 11
iload 25
isub
iconst_2
idiv
iadd
47: aload 27
getfield android.widget.LinearLayout$LayoutParams.topMargin:I
48: iadd
49: aload 27
getfield android.widget.LinearLayout$LayoutParams.bottomMargin:I
50: isub
istore 7
start local 7 51: goto 58
end local 7 52: StackMap locals:
StackMap stack:
iload 10
iload 25
isub
aload 27
getfield android.widget.LinearLayout$LayoutParams.bottomMargin:I
isub
istore 7
start local 7 53: iload 26
iconst_m1
if_icmpeq 58
54: aload 23
invokevirtual android.view.View.getMeasuredHeight:()I
iload 26
isub
istore 29
start local 29 55: iload 7
aload 17
iconst_2
iaload
iload 29
isub
isub
istore 7
end local 29 56: goto 58
end local 7 57: StackMap locals:
StackMap stack:
iload 6
istore 7
start local 7 58: StackMap locals: android.widget.LinearLayout int int int int int int int int int int int int int int int int[] int[] int int int int int android.view.View int int int android.widget.LinearLayout$LayoutParams int
StackMap stack:
aload 0
iload 22
invokevirtual android.widget.LinearLayout.hasDividerBeforeChildAt:(I)Z
ifeq 60
59: iload 8
aload 0
getfield android.widget.LinearLayout.mDividerWidth:I
iadd
istore 8
60: StackMap locals:
StackMap stack:
iload 8
aload 27
getfield android.widget.LinearLayout$LayoutParams.leftMargin:I
iadd
istore 8
61: aload 0
aload 23
iload 8
aload 0
aload 23
invokevirtual android.widget.LinearLayout.getLocationOffset:(Landroid/view/View;)I
iadd
iload 7
62: iload 24
iload 25
63: invokevirtual android.widget.LinearLayout.setChildFrame:(Landroid/view/View;IIII)V
64: iload 8
iload 24
aload 27
getfield android.widget.LinearLayout$LayoutParams.rightMargin:I
iadd
65: aload 0
aload 23
invokevirtual android.widget.LinearLayout.getNextLocationOffset:(Landroid/view/View;)I
66: iadd
iadd
istore 8
67: iload 21
aload 0
aload 23
iload 22
invokevirtual android.widget.LinearLayout.getChildrenSkipCount:(Landroid/view/View;I)I
iadd
istore 21
end local 28 end local 27 end local 26 end local 25 end local 24 end local 23 end local 22 end local 7 68: StackMap locals: android.widget.LinearLayout int int int int int int top int int int int int int int int int[] int[] int int int int
StackMap stack:
iinc 21 1
StackMap locals:
StackMap stack:
69: iload 21
iload 12
if_icmplt 25
end local 21 70: return
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 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 71 0 this Landroid/widget/LinearLayout;
0 71 1 left I
0 71 2 top I
0 71 3 right I
0 71 4 bottom I
1 71 5 isLayoutRtl Z
2 71 6 paddingTop I
43 46 7 childTop I
51 52 7 childTop I
53 57 7 childTop I
58 68 7 childTop I
14 15 8 childLeft I
16 17 8 childLeft I
18 71 8 childLeft I
3 71 9 height I
4 71 10 childBottom I
5 71 11 childSpace I
6 71 12 count I
7 71 13 majorGravity I
8 71 14 minorGravity I
9 71 15 baselineAligned Z
10 71 16 maxAscent [I
11 71 17 maxDescent [I
12 71 18 layoutDirection I
19 71 19 start I
20 71 20 dir I
24 70 21 i I
26 68 22 childIndex I
27 68 23 child Landroid/view/View;
32 68 24 childWidth I
33 68 25 childHeight I
34 68 26 childBaseline I
36 68 27 lp Landroid/widget/LinearLayout$LayoutParams;
39 68 28 gravity I
55 56 29 descent I
MethodParameters:
Name Flags
left
top
right
bottom
private void setChildFrame(android.view.View, int, int, int, int);
descriptor: (Landroid/view/View;IIII)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 1
iload 2
iload 3
iload 2
iload 4
iadd
iload 3
iload 5
iadd
invokevirtual android.view.View.layout:(IIII)V
1: return
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 2 0 this Landroid/widget/LinearLayout;
0 2 1 child Landroid/view/View;
0 2 2 left I
0 2 3 top I
0 2 4 width I
0 2 5 height I
MethodParameters:
Name Flags
child
left
top
width
height
public void setOrientation(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
getfield android.widget.LinearLayout.mOrientation:I
iload 1
if_icmpeq 3
1: aload 0
iload 1
putfield android.widget.LinearLayout.mOrientation:I
2: aload 0
invokevirtual android.widget.LinearLayout.requestLayout:()V
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/widget/LinearLayout;
0 4 1 orientation I
MethodParameters:
Name Flags
orientation
public int getOrientation();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.widget.LinearLayout.mOrientation:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/widget/LinearLayout;
public void setGravity(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
getfield android.widget.LinearLayout.mGravity:I
iload 1
if_icmpeq 7
1: iload 1
ldc 8388615
iand
ifne 3
2: iload 1
ldc 8388611
ior
istore 1
3: StackMap locals:
StackMap stack:
iload 1
bipush 112
iand
ifne 5
4: iload 1
bipush 48
ior
istore 1
5: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield android.widget.LinearLayout.mGravity:I
6: aload 0
invokevirtual android.widget.LinearLayout.requestLayout:()V
7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Landroid/widget/LinearLayout;
0 8 1 gravity I
RuntimeVisibleAnnotations:
android.view.RemotableViewMethod()
MethodParameters:
Name Flags
gravity
public int getGravity();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.widget.LinearLayout.mGravity:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/widget/LinearLayout;
public void setHorizontalGravity(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: iload 1
ldc 8388615
iand
istore 2
start local 2 1: aload 0
getfield android.widget.LinearLayout.mGravity:I
ldc 8388615
iand
iload 2
if_icmpeq 4
2: aload 0
aload 0
getfield android.widget.LinearLayout.mGravity:I
ldc -8388616
iand
iload 2
ior
putfield android.widget.LinearLayout.mGravity:I
3: aload 0
invokevirtual android.widget.LinearLayout.requestLayout:()V
4: StackMap locals: int
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/widget/LinearLayout;
0 5 1 horizontalGravity I
1 5 2 gravity I
RuntimeVisibleAnnotations:
android.view.RemotableViewMethod()
MethodParameters:
Name Flags
horizontalGravity
public void setVerticalGravity(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: iload 1
bipush 112
iand
istore 2
start local 2 1: aload 0
getfield android.widget.LinearLayout.mGravity:I
bipush 112
iand
iload 2
if_icmpeq 4
2: aload 0
aload 0
getfield android.widget.LinearLayout.mGravity:I
bipush -113
iand
iload 2
ior
putfield android.widget.LinearLayout.mGravity:I
3: aload 0
invokevirtual android.widget.LinearLayout.requestLayout:()V
4: StackMap locals: int
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/widget/LinearLayout;
0 5 1 verticalGravity I
1 5 2 gravity I
RuntimeVisibleAnnotations:
android.view.RemotableViewMethod()
MethodParameters:
Name Flags
verticalGravity
public android.widget.LinearLayout$LayoutParams generateLayoutParams(android.util.AttributeSet);
descriptor: (Landroid/util/AttributeSet;)Landroid/widget/LinearLayout$LayoutParams;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new android.widget.LinearLayout$LayoutParams
dup
aload 0
invokevirtual android.widget.LinearLayout.getContext:()Landroid/content/Context;
aload 1
invokespecial android.widget.LinearLayout$LayoutParams.<init>:(Landroid/content/Context;Landroid/util/AttributeSet;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/widget/LinearLayout;
0 1 1 attrs Landroid/util/AttributeSet;
MethodParameters:
Name Flags
attrs
protected android.widget.LinearLayout$LayoutParams generateDefaultLayoutParams();
descriptor: ()Landroid/widget/LinearLayout$LayoutParams;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield android.widget.LinearLayout.mOrientation:I
ifne 2
1: new android.widget.LinearLayout$LayoutParams
dup
bipush -2
bipush -2
invokespecial android.widget.LinearLayout$LayoutParams.<init>:(II)V
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield android.widget.LinearLayout.mOrientation:I
iconst_1
if_icmpne 4
3: new android.widget.LinearLayout$LayoutParams
dup
iconst_m1
bipush -2
invokespecial android.widget.LinearLayout$LayoutParams.<init>:(II)V
areturn
4: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/widget/LinearLayout;
protected android.widget.LinearLayout$LayoutParams generateLayoutParams(android.view.ViewGroup$LayoutParams);
descriptor: (Landroid/view/ViewGroup$LayoutParams;)Landroid/widget/LinearLayout$LayoutParams;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: getstatic android.widget.LinearLayout.sPreserveMarginParamsInLayoutParamConversion:Z
ifeq 5
1: aload 1
instanceof android.widget.LinearLayout$LayoutParams
ifeq 3
2: new android.widget.LinearLayout$LayoutParams
dup
aload 1
checkcast android.widget.LinearLayout$LayoutParams
invokespecial android.widget.LinearLayout$LayoutParams.<init>:(Landroid/widget/LinearLayout$LayoutParams;)V
areturn
3: StackMap locals:
StackMap stack:
aload 1
instanceof android.view.ViewGroup$MarginLayoutParams
ifeq 5
4: new android.widget.LinearLayout$LayoutParams
dup
aload 1
checkcast android.view.ViewGroup$MarginLayoutParams
invokespecial android.widget.LinearLayout$LayoutParams.<init>:(Landroid/view/ViewGroup$MarginLayoutParams;)V
areturn
5: StackMap locals:
StackMap stack:
new android.widget.LinearLayout$LayoutParams
dup
aload 1
invokespecial android.widget.LinearLayout$LayoutParams.<init>:(Landroid/view/ViewGroup$LayoutParams;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Landroid/widget/LinearLayout;
0 6 1 lp Landroid/view/ViewGroup$LayoutParams;
MethodParameters:
Name Flags
lp
protected boolean checkLayoutParams(android.view.ViewGroup$LayoutParams);
descriptor: (Landroid/view/ViewGroup$LayoutParams;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
instanceof android.widget.LinearLayout$LayoutParams
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/widget/LinearLayout;
0 1 1 p Landroid/view/ViewGroup$LayoutParams;
MethodParameters:
Name Flags
p
public java.lang.CharSequence getAccessibilityClassName();
descriptor: ()Ljava/lang/CharSequence;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc Landroid/widget/LinearLayout;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/widget/LinearLayout;
protected void encodeProperties(android.view.ViewHierarchyEncoder);
descriptor: (Landroid/view/ViewHierarchyEncoder;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial android.view.ViewGroup.encodeProperties:(Landroid/view/ViewHierarchyEncoder;)V
1: aload 1
ldc "layout:baselineAligned"
aload 0
getfield android.widget.LinearLayout.mBaselineAligned:Z
invokevirtual android.view.ViewHierarchyEncoder.addProperty:(Ljava/lang/String;Z)V
2: aload 1
ldc "layout:baselineAlignedChildIndex"
aload 0
getfield android.widget.LinearLayout.mBaselineAlignedChildIndex:I
invokevirtual android.view.ViewHierarchyEncoder.addProperty:(Ljava/lang/String;I)V
3: aload 1
ldc "measurement:baselineChildTop"
aload 0
getfield android.widget.LinearLayout.mBaselineChildTop:I
invokevirtual android.view.ViewHierarchyEncoder.addProperty:(Ljava/lang/String;I)V
4: aload 1
ldc "measurement:orientation"
aload 0
getfield android.widget.LinearLayout.mOrientation:I
invokevirtual android.view.ViewHierarchyEncoder.addProperty:(Ljava/lang/String;I)V
5: aload 1
ldc "measurement:gravity"
aload 0
getfield android.widget.LinearLayout.mGravity:I
invokevirtual android.view.ViewHierarchyEncoder.addProperty:(Ljava/lang/String;I)V
6: aload 1
ldc "measurement:totalLength"
aload 0
getfield android.widget.LinearLayout.mTotalLength:I
invokevirtual android.view.ViewHierarchyEncoder.addProperty:(Ljava/lang/String;I)V
7: aload 1
ldc "layout:totalLength"
aload 0
getfield android.widget.LinearLayout.mTotalLength:I
invokevirtual android.view.ViewHierarchyEncoder.addProperty:(Ljava/lang/String;I)V
8: aload 1
ldc "layout:useLargestChild"
aload 0
getfield android.widget.LinearLayout.mUseLargestChild:Z
invokevirtual android.view.ViewHierarchyEncoder.addProperty:(Ljava/lang/String;Z)V
9: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Landroid/widget/LinearLayout;
0 10 1 encoder Landroid/view/ViewHierarchyEncoder;
MethodParameters:
Name Flags
encoder
protected android.view.ViewGroup$LayoutParams generateLayoutParams(android.view.ViewGroup$LayoutParams);
descriptor: (Landroid/view/ViewGroup$LayoutParams;)Landroid/view/ViewGroup$LayoutParams;
flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual android.widget.LinearLayout.generateLayoutParams:(Landroid/view/ViewGroup$LayoutParams;)Landroid/widget/LinearLayout$LayoutParams;
areturn
LocalVariableTable:
Start End Slot Name Signature
public android.view.ViewGroup$LayoutParams generateLayoutParams(android.util.AttributeSet);
descriptor: (Landroid/util/AttributeSet;)Landroid/view/ViewGroup$LayoutParams;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual android.widget.LinearLayout.generateLayoutParams:(Landroid/util/AttributeSet;)Landroid/widget/LinearLayout$LayoutParams;
areturn
LocalVariableTable:
Start End Slot Name Signature
protected android.view.ViewGroup$LayoutParams generateDefaultLayoutParams();
descriptor: ()Landroid/view/ViewGroup$LayoutParams;
flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual android.widget.LinearLayout.generateDefaultLayoutParams:()Landroid/widget/LinearLayout$LayoutParams;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "LinearLayout.java"
NestMembers:
android.widget.LinearLayout$DividerMode android.widget.LinearLayout$LayoutParams android.widget.LinearLayout$OrientationMode
InnerClasses:
public MeasureSpec = android.view.View$MeasureSpec of android.view.View
public abstract ExportedProperty = android.view.ViewDebug$ExportedProperty of android.view.ViewDebug
public abstract FlagToString = android.view.ViewDebug$FlagToString of android.view.ViewDebug
public LayoutParams = android.view.ViewGroup$LayoutParams of android.view.ViewGroup
public MarginLayoutParams = android.view.ViewGroup$MarginLayoutParams of android.view.ViewGroup
public abstract DividerMode = android.widget.LinearLayout$DividerMode of android.widget.LinearLayout
public LayoutParams = android.widget.LinearLayout$LayoutParams of android.widget.LinearLayout
public abstract OrientationMode = android.widget.LinearLayout$OrientationMode of android.widget.LinearLayout
public abstract RemoteView = android.widget.RemoteViews$RemoteView of android.widget.RemoteViews
RuntimeVisibleAnnotations:
android.widget.RemoteViews$RemoteView()