public class android.widget.TableLayout extends android.widget.LinearLayout
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.widget.TableLayout
  super_class: android.widget.LinearLayout
{
  private int[] mMaxWidths;
    descriptor: [I
    flags: (0x0002) ACC_PRIVATE

  private android.util.SparseBooleanArray mStretchableColumns;
    descriptor: Landroid/util/SparseBooleanArray;
    flags: (0x0002) ACC_PRIVATE

  private android.util.SparseBooleanArray mShrinkableColumns;
    descriptor: Landroid/util/SparseBooleanArray;
    flags: (0x0002) ACC_PRIVATE

  private android.util.SparseBooleanArray mCollapsedColumns;
    descriptor: Landroid/util/SparseBooleanArray;
    flags: (0x0002) ACC_PRIVATE

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

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

  private android.widget.TableLayout$PassThroughHierarchyChangeListener mPassThroughListener;
    descriptor: Landroid/widget/TableLayout$PassThroughHierarchyChangeListener;
    flags: (0x0002) ACC_PRIVATE

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

  public void <init>(android.content.Context);
    descriptor: (Landroid/content/Context;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.widget.TableLayout this
        start local 1 // android.content.Context context
         0: .line 91
            aload 0 /* this */
            aload 1 /* context */
            invokespecial android.widget.LinearLayout.<init>:(Landroid/content/Context;)V
         1: .line 92
            aload 0 /* this */
            invokevirtual android.widget.TableLayout.initTableLayout:()V
         2: .line 93
            return
        end local 1 // android.content.Context context
        end local 0 // android.widget.TableLayout this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Landroid/widget/TableLayout;
            0    3     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=3, locals=3, args_size=3
        start local 0 // android.widget.TableLayout this
         0: .line 26
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tThe import com.android.internal.R cannot be resolved\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"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // android.widget.TableLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/TableLayout;
    MethodParameters:
         Name  Flags
      context  
      attrs    

  private static android.util.SparseBooleanArray parseColumns(java.lang.String);
    descriptor: (Ljava/lang/String;)Landroid/util/SparseBooleanArray;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=9, args_size=1
        start local 0 // java.lang.String sequence
         0: .line 149
            new android.util.SparseBooleanArray
            dup
            invokespecial android.util.SparseBooleanArray.<init>:()V
            astore 1 /* columns */
        start local 1 // android.util.SparseBooleanArray columns
         1: .line 150
            ldc "\\s*,\\s*"
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
            astore 2 /* pattern */
        start local 2 // java.util.regex.Pattern pattern
         2: .line 151
            aload 2 /* pattern */
            aload 0 /* sequence */
            invokevirtual java.util.regex.Pattern.split:(Ljava/lang/CharSequence;)[Ljava/lang/String;
            astore 3 /* columnDefs */
        start local 3 // java.lang.String[] columnDefs
         3: .line 153
            aload 3 /* columnDefs */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 11
      StackMap locals: java.lang.String android.util.SparseBooleanArray java.util.regex.Pattern java.lang.String[] top int int java.lang.String[]
      StackMap stack:
         4: aload 7
            iload 5
            aaload
            astore 4 /* columnIdentifier */
        start local 4 // java.lang.String columnIdentifier
         5: .line 155
            aload 4 /* columnIdentifier */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 8 /* columnIndex */
        start local 8 // int columnIndex
         6: .line 157
            iload 8 /* columnIndex */
            iflt 10
         7: .line 160
            aload 1 /* columns */
            iload 8 /* columnIndex */
            iconst_1
            invokevirtual android.util.SparseBooleanArray.put:(IZ)V
        end local 8 // int columnIndex
         8: .line 162
            goto 10
      StackMap locals: java.lang.String android.util.SparseBooleanArray java.util.regex.Pattern java.lang.String[] java.lang.String int int java.lang.String[]
      StackMap stack: java.lang.NumberFormatException
         9: pop
        end local 4 // java.lang.String columnIdentifier
        10: .line 153
      StackMap locals: java.lang.String android.util.SparseBooleanArray java.util.regex.Pattern java.lang.String[] top int int java.lang.String[]
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
        11: iload 5
            iload 6
            if_icmplt 4
        12: .line 167
            aload 1 /* columns */
            areturn
        end local 3 // java.lang.String[] columnDefs
        end local 2 // java.util.regex.Pattern pattern
        end local 1 // android.util.SparseBooleanArray columns
        end local 0 // java.lang.String sequence
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   13     0          sequence  Ljava/lang/String;
            1   13     1           columns  Landroid/util/SparseBooleanArray;
            2   13     2           pattern  Ljava/util/regex/Pattern;
            3   13     3        columnDefs  [Ljava/lang/String;
            5   10     4  columnIdentifier  Ljava/lang/String;
            6    8     8       columnIndex  I
      Exception table:
        from    to  target  type
           5     8       9  Class java.lang.NumberFormatException
    MethodParameters:
          Name  Flags
      sequence  

  private void initTableLayout();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // android.widget.TableLayout this
         0: .line 175
            aload 0 /* this */
            getfield android.widget.TableLayout.mCollapsedColumns:Landroid/util/SparseBooleanArray;
            ifnonnull 2
         1: .line 176
            aload 0 /* this */
            new android.util.SparseBooleanArray
            dup
            invokespecial android.util.SparseBooleanArray.<init>:()V
            putfield android.widget.TableLayout.mCollapsedColumns:Landroid/util/SparseBooleanArray;
         2: .line 178
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.TableLayout.mStretchableColumns:Landroid/util/SparseBooleanArray;
            ifnonnull 4
         3: .line 179
            aload 0 /* this */
            new android.util.SparseBooleanArray
            dup
            invokespecial android.util.SparseBooleanArray.<init>:()V
            putfield android.widget.TableLayout.mStretchableColumns:Landroid/util/SparseBooleanArray;
         4: .line 181
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.TableLayout.mShrinkableColumns:Landroid/util/SparseBooleanArray;
            ifnonnull 6
         5: .line 182
            aload 0 /* this */
            new android.util.SparseBooleanArray
            dup
            invokespecial android.util.SparseBooleanArray.<init>:()V
            putfield android.widget.TableLayout.mShrinkableColumns:Landroid/util/SparseBooleanArray;
         6: .line 187
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            invokevirtual android.widget.TableLayout.setOrientation:(I)V
         7: .line 189
            aload 0 /* this */
            new android.widget.TableLayout$PassThroughHierarchyChangeListener
            dup
            aload 0 /* this */
            invokespecial android.widget.TableLayout$PassThroughHierarchyChangeListener.<init>:(Landroid/widget/TableLayout;)V
            putfield android.widget.TableLayout.mPassThroughListener:Landroid/widget/TableLayout$PassThroughHierarchyChangeListener;
         8: .line 192
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.TableLayout.mPassThroughListener:Landroid/widget/TableLayout$PassThroughHierarchyChangeListener;
            invokespecial android.widget.LinearLayout.setOnHierarchyChangeListener:(Landroid/view/ViewGroup$OnHierarchyChangeListener;)V
         9: .line 194
            aload 0 /* this */
            iconst_1
            putfield android.widget.TableLayout.mInitialized:Z
        10: .line 195
            return
        end local 0 // android.widget.TableLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Landroid/widget/TableLayout;

  public void setOnHierarchyChangeListener(android.view.ViewGroup$OnHierarchyChangeListener);
    descriptor: (Landroid/view/ViewGroup$OnHierarchyChangeListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.widget.TableLayout this
        start local 1 // android.view.ViewGroup$OnHierarchyChangeListener listener
         0: .line 204
            aload 0 /* this */
            getfield android.widget.TableLayout.mPassThroughListener:Landroid/widget/TableLayout$PassThroughHierarchyChangeListener;
            aload 1 /* listener */
            putfield android.widget.TableLayout$PassThroughHierarchyChangeListener.mOnHierarchyChangeListener:Landroid/view/ViewGroup$OnHierarchyChangeListener;
         1: .line 205
            return
        end local 1 // android.view.ViewGroup$OnHierarchyChangeListener listener
        end local 0 // android.widget.TableLayout this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Landroid/widget/TableLayout;
            0    2     1  listener  Landroid/view/ViewGroup$OnHierarchyChangeListener;
    MethodParameters:
          Name  Flags
      listener  

  private void requestRowsLayout();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // android.widget.TableLayout this
         0: .line 208
            aload 0 /* this */
            getfield android.widget.TableLayout.mInitialized:Z
            ifeq 7
         1: .line 209
            aload 0 /* this */
            invokevirtual android.widget.TableLayout.getChildCount:()I
            istore 1 /* count */
        start local 1 // int count
         2: .line 210
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         3: goto 6
         4: .line 211
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            iload 2 /* i */
            invokevirtual android.widget.TableLayout.getChildAt:(I)Landroid/view/View;
            invokevirtual android.view.View.requestLayout:()V
         5: .line 210
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            iload 1 /* count */
            if_icmplt 4
        end local 2 // int i
        end local 1 // int count
         7: .line 214
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.widget.TableLayout this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Landroid/widget/TableLayout;
            2    7     1  count  I
            3    7     2      i  I

  public void requestLayout();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // android.widget.TableLayout this
         0: .line 221
            aload 0 /* this */
            getfield android.widget.TableLayout.mInitialized:Z
            ifeq 7
         1: .line 222
            aload 0 /* this */
            invokevirtual android.widget.TableLayout.getChildCount:()I
            istore 1 /* count */
        start local 1 // int count
         2: .line 223
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         3: goto 6
         4: .line 224
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            iload 2 /* i */
            invokevirtual android.widget.TableLayout.getChildAt:(I)Landroid/view/View;
            invokevirtual android.view.View.forceLayout:()V
         5: .line 223
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            iload 1 /* count */
            if_icmplt 4
        end local 2 // int i
        end local 1 // int count
         7: .line 228
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokespecial android.widget.LinearLayout.requestLayout:()V
         8: .line 229
            return
        end local 0 // android.widget.TableLayout this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Landroid/widget/TableLayout;
            2    7     1  count  I
            3    7     2      i  I

  public boolean isShrinkAllColumns();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.widget.TableLayout this
         0: .line 239
            aload 0 /* this */
            getfield android.widget.TableLayout.mShrinkAllColumns:Z
            ireturn
        end local 0 // android.widget.TableLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/TableLayout;

  public void setShrinkAllColumns(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.widget.TableLayout this
        start local 1 // boolean shrinkAllColumns
         0: .line 250
            aload 0 /* this */
            iload 1 /* shrinkAllColumns */
            putfield android.widget.TableLayout.mShrinkAllColumns:Z
         1: .line 251
            return
        end local 1 // boolean shrinkAllColumns
        end local 0 // android.widget.TableLayout this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Landroid/widget/TableLayout;
            0    2     1  shrinkAllColumns  Z
    MethodParameters:
                  Name  Flags
      shrinkAllColumns  

  public boolean isStretchAllColumns();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.widget.TableLayout this
         0: .line 261
            aload 0 /* this */
            getfield android.widget.TableLayout.mStretchAllColumns:Z
            ireturn
        end local 0 // android.widget.TableLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/TableLayout;

  public void setStretchAllColumns(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.widget.TableLayout this
        start local 1 // boolean stretchAllColumns
         0: .line 272
            aload 0 /* this */
            iload 1 /* stretchAllColumns */
            putfield android.widget.TableLayout.mStretchAllColumns:Z
         1: .line 273
            return
        end local 1 // boolean stretchAllColumns
        end local 0 // android.widget.TableLayout this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Landroid/widget/TableLayout;
            0    2     1  stretchAllColumns  Z
    MethodParameters:
                   Name  Flags
      stretchAllColumns  

  public void setColumnCollapsed(int, boolean);
    descriptor: (IZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // android.widget.TableLayout this
        start local 1 // int columnIndex
        start local 2 // boolean isCollapsed
         0: .line 290
            aload 0 /* this */
            getfield android.widget.TableLayout.mCollapsedColumns:Landroid/util/SparseBooleanArray;
            iload 1 /* columnIndex */
            iload 2 /* isCollapsed */
            invokevirtual android.util.SparseBooleanArray.put:(IZ)V
         1: .line 292
            aload 0 /* this */
            invokevirtual android.widget.TableLayout.getChildCount:()I
            istore 3 /* count */
        start local 3 // int count
         2: .line 293
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 8
         4: .line 294
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            iload 4 /* i */
            invokevirtual android.widget.TableLayout.getChildAt:(I)Landroid/view/View;
            astore 5 /* view */
        start local 5 // android.view.View view
         5: .line 295
            aload 5 /* view */
            instanceof android.widget.TableRow
            ifeq 7
         6: .line 296
            aload 5 /* view */
            checkcast android.widget.TableRow
            iload 1 /* columnIndex */
            iload 2 /* isCollapsed */
            invokevirtual android.widget.TableRow.setColumnCollapsed:(IZ)V
        end local 5 // android.view.View view
         7: .line 293
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 4 /* i */
            iload 3 /* count */
            if_icmplt 4
        end local 4 // int i
         9: .line 300
            aload 0 /* this */
            invokevirtual android.widget.TableLayout.requestRowsLayout:()V
        10: .line 301
            return
        end local 3 // int count
        end local 2 // boolean isCollapsed
        end local 1 // int columnIndex
        end local 0 // android.widget.TableLayout this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0         this  Landroid/widget/TableLayout;
            0   11     1  columnIndex  I
            0   11     2  isCollapsed  Z
            2   11     3        count  I
            3    9     4            i  I
            5    7     5         view  Landroid/view/View;
    MethodParameters:
             Name  Flags
      columnIndex  
      isCollapsed  

  public boolean isColumnCollapsed(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.widget.TableLayout this
        start local 1 // int columnIndex
         0: .line 310
            aload 0 /* this */
            getfield android.widget.TableLayout.mCollapsedColumns:Landroid/util/SparseBooleanArray;
            iload 1 /* columnIndex */
            invokevirtual android.util.SparseBooleanArray.get:(I)Z
            ireturn
        end local 1 // int columnIndex
        end local 0 // android.widget.TableLayout this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Landroid/widget/TableLayout;
            0    1     1  columnIndex  I
    MethodParameters:
             Name  Flags
      columnIndex  

  public void setColumnStretchable(int, boolean);
    descriptor: (IZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.widget.TableLayout this
        start local 1 // int columnIndex
        start local 2 // boolean isStretchable
         0: .line 326
            aload 0 /* this */
            getfield android.widget.TableLayout.mStretchableColumns:Landroid/util/SparseBooleanArray;
            iload 1 /* columnIndex */
            iload 2 /* isStretchable */
            invokevirtual android.util.SparseBooleanArray.put:(IZ)V
         1: .line 327
            aload 0 /* this */
            invokevirtual android.widget.TableLayout.requestRowsLayout:()V
         2: .line 328
            return
        end local 2 // boolean isStretchable
        end local 1 // int columnIndex
        end local 0 // android.widget.TableLayout this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Landroid/widget/TableLayout;
            0    3     1    columnIndex  I
            0    3     2  isStretchable  Z
    MethodParameters:
               Name  Flags
      columnIndex    
      isStretchable  

  public boolean isColumnStretchable(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.widget.TableLayout this
        start local 1 // int columnIndex
         0: .line 337
            aload 0 /* this */
            getfield android.widget.TableLayout.mStretchAllColumns:Z
            ifne 1
            aload 0 /* this */
            getfield android.widget.TableLayout.mStretchableColumns:Landroid/util/SparseBooleanArray;
            iload 1 /* columnIndex */
            invokevirtual android.util.SparseBooleanArray.get:(I)Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 1 // int columnIndex
        end local 0 // android.widget.TableLayout this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Landroid/widget/TableLayout;
            0    2     1  columnIndex  I
    MethodParameters:
             Name  Flags
      columnIndex  

  public void setColumnShrinkable(int, boolean);
    descriptor: (IZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.widget.TableLayout this
        start local 1 // int columnIndex
        start local 2 // boolean isShrinkable
         0: .line 353
            aload 0 /* this */
            getfield android.widget.TableLayout.mShrinkableColumns:Landroid/util/SparseBooleanArray;
            iload 1 /* columnIndex */
            iload 2 /* isShrinkable */
            invokevirtual android.util.SparseBooleanArray.put:(IZ)V
         1: .line 354
            aload 0 /* this */
            invokevirtual android.widget.TableLayout.requestRowsLayout:()V
         2: .line 355
            return
        end local 2 // boolean isShrinkable
        end local 1 // int columnIndex
        end local 0 // android.widget.TableLayout this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Landroid/widget/TableLayout;
            0    3     1   columnIndex  I
            0    3     2  isShrinkable  Z
    MethodParameters:
              Name  Flags
      columnIndex   
      isShrinkable  

  public boolean isColumnShrinkable(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.widget.TableLayout this
        start local 1 // int columnIndex
         0: .line 364
            aload 0 /* this */
            getfield android.widget.TableLayout.mShrinkAllColumns:Z
            ifne 1
            aload 0 /* this */
            getfield android.widget.TableLayout.mShrinkableColumns:Landroid/util/SparseBooleanArray;
            iload 1 /* columnIndex */
            invokevirtual android.util.SparseBooleanArray.get:(I)Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 1 // int columnIndex
        end local 0 // android.widget.TableLayout this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Landroid/widget/TableLayout;
            0    2     1  columnIndex  I
    MethodParameters:
             Name  Flags
      columnIndex  

  private void trackCollapsedColumns(android.view.View);
    descriptor: (Landroid/view/View;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // android.widget.TableLayout this
        start local 1 // android.view.View child
         0: .line 378
            aload 1 /* child */
            instanceof android.widget.TableRow
            ifeq 12
         1: .line 379
            aload 1 /* child */
            checkcast android.widget.TableRow
            astore 2 /* row */
        start local 2 // android.widget.TableRow row
         2: .line 380
            aload 0 /* this */
            getfield android.widget.TableLayout.mCollapsedColumns:Landroid/util/SparseBooleanArray;
            astore 3 /* collapsedColumns */
        start local 3 // android.util.SparseBooleanArray collapsedColumns
         3: .line 381
            aload 3 /* collapsedColumns */
            invokevirtual android.util.SparseBooleanArray.size:()I
            istore 4 /* count */
        start local 4 // int count
         4: .line 382
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         5: goto 11
         6: .line 383
      StackMap locals: android.widget.TableLayout android.view.View android.widget.TableRow android.util.SparseBooleanArray int int
      StackMap stack:
            aload 3 /* collapsedColumns */
            iload 5 /* i */
            invokevirtual android.util.SparseBooleanArray.keyAt:(I)I
            istore 6 /* columnIndex */
        start local 6 // int columnIndex
         7: .line 384
            aload 3 /* collapsedColumns */
            iload 5 /* i */
            invokevirtual android.util.SparseBooleanArray.valueAt:(I)Z
            istore 7 /* isCollapsed */
        start local 7 // boolean isCollapsed
         8: .line 388
            iload 7 /* isCollapsed */
            ifeq 10
         9: .line 389
            aload 2 /* row */
            iload 6 /* columnIndex */
            iload 7 /* isCollapsed */
            invokevirtual android.widget.TableRow.setColumnCollapsed:(IZ)V
        end local 7 // boolean isCollapsed
        end local 6 // int columnIndex
        10: .line 382
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 5 /* i */
            iload 4 /* count */
            if_icmplt 6
        end local 5 // int i
        end local 4 // int count
        end local 3 // android.util.SparseBooleanArray collapsedColumns
        end local 2 // android.widget.TableRow row
        12: .line 393
      StackMap locals: android.widget.TableLayout android.view.View
      StackMap stack:
            return
        end local 1 // android.view.View child
        end local 0 // android.widget.TableLayout this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   13     0              this  Landroid/widget/TableLayout;
            0   13     1             child  Landroid/view/View;
            2   12     2               row  Landroid/widget/TableRow;
            3   12     3  collapsedColumns  Landroid/util/SparseBooleanArray;
            4   12     4             count  I
            5   12     5                 i  I
            7   10     6       columnIndex  I
            8   10     7       isCollapsed  Z
    MethodParameters:
       Name  Flags
      child  

  public void addView(android.view.View);
    descriptor: (Landroid/view/View;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.widget.TableLayout this
        start local 1 // android.view.View child
         0: .line 400
            aload 0 /* this */
            aload 1 /* child */
            invokespecial android.widget.LinearLayout.addView:(Landroid/view/View;)V
         1: .line 401
            aload 0 /* this */
            invokevirtual android.widget.TableLayout.requestRowsLayout:()V
         2: .line 402
            return
        end local 1 // android.view.View child
        end local 0 // android.widget.TableLayout this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Landroid/widget/TableLayout;
            0    3     1  child  Landroid/view/View;
    MethodParameters:
       Name  Flags
      child  

  public void addView(android.view.View, int);
    descriptor: (Landroid/view/View;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.widget.TableLayout this
        start local 1 // android.view.View child
        start local 2 // int index
         0: .line 409
            aload 0 /* this */
            aload 1 /* child */
            iload 2 /* index */
            invokespecial android.widget.LinearLayout.addView:(Landroid/view/View;I)V
         1: .line 410
            aload 0 /* this */
            invokevirtual android.widget.TableLayout.requestRowsLayout:()V
         2: .line 411
            return
        end local 2 // int index
        end local 1 // android.view.View child
        end local 0 // android.widget.TableLayout this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Landroid/widget/TableLayout;
            0    3     1  child  Landroid/view/View;
            0    3     2  index  I
    MethodParameters:
       Name  Flags
      child  
      index  

  public void addView(android.view.View, android.view.ViewGroup$LayoutParams);
    descriptor: (Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.widget.TableLayout this
        start local 1 // android.view.View child
        start local 2 // android.view.ViewGroup$LayoutParams params
         0: .line 418
            aload 0 /* this */
            aload 1 /* child */
            aload 2 /* params */
            invokespecial android.widget.LinearLayout.addView:(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
         1: .line 419
            aload 0 /* this */
            invokevirtual android.widget.TableLayout.requestRowsLayout:()V
         2: .line 420
            return
        end local 2 // android.view.ViewGroup$LayoutParams params
        end local 1 // android.view.View child
        end local 0 // android.widget.TableLayout this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Landroid/widget/TableLayout;
            0    3     1   child  Landroid/view/View;
            0    3     2  params  Landroid/view/ViewGroup$LayoutParams;
    MethodParameters:
        Name  Flags
      child   
      params  

  public void addView(android.view.View, int, android.view.ViewGroup$LayoutParams);
    descriptor: (Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // android.widget.TableLayout this
        start local 1 // android.view.View child
        start local 2 // int index
        start local 3 // android.view.ViewGroup$LayoutParams params
         0: .line 427
            aload 0 /* this */
            aload 1 /* child */
            iload 2 /* index */
            aload 3 /* params */
            invokespecial android.widget.LinearLayout.addView:(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V
         1: .line 428
            aload 0 /* this */
            invokevirtual android.widget.TableLayout.requestRowsLayout:()V
         2: .line 429
            return
        end local 3 // android.view.ViewGroup$LayoutParams params
        end local 2 // int index
        end local 1 // android.view.View child
        end local 0 // android.widget.TableLayout this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Landroid/widget/TableLayout;
            0    3     1   child  Landroid/view/View;
            0    3     2   index  I
            0    3     3  params  Landroid/view/ViewGroup$LayoutParams;
    MethodParameters:
        Name  Flags
      child   
      index   
      params  

  protected void onMeasure(int, int);
    descriptor: (II)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.widget.TableLayout this
        start local 1 // int widthMeasureSpec
        start local 2 // int heightMeasureSpec
         0: .line 437
            aload 0 /* this */
            iload 1 /* widthMeasureSpec */
            iload 2 /* heightMeasureSpec */
            invokevirtual android.widget.TableLayout.measureVertical:(II)V
         1: .line 438
            return
        end local 2 // int heightMeasureSpec
        end local 1 // int widthMeasureSpec
        end local 0 // android.widget.TableLayout this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Landroid/widget/TableLayout;
            0    2     1   widthMeasureSpec  I
            0    2     2  heightMeasureSpec  I
    MethodParameters:
                   Name  Flags
      widthMeasureSpec   
      heightMeasureSpec  

  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 // android.widget.TableLayout this
        start local 1 // boolean changed
        start local 2 // int l
        start local 3 // int t
        start local 4 // int r
        start local 5 // int b
         0: .line 446
            aload 0 /* this */
            iload 2 /* l */
            iload 3 /* t */
            iload 4 /* r */
            iload 5 /* b */
            invokevirtual android.widget.TableLayout.layoutVertical:(IIII)V
         1: .line 447
            return
        end local 5 // int b
        end local 4 // int r
        end local 3 // int t
        end local 2 // int l
        end local 1 // boolean changed
        end local 0 // android.widget.TableLayout this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Landroid/widget/TableLayout;
            0    2     1  changed  Z
            0    2     2        l  I
            0    2     3        t  I
            0    2     4        r  I
            0    2     5        b  I
    MethodParameters:
         Name  Flags
      changed  
      l        
      t        
      r        
      b        

  void measureChildBeforeLayout(android.view.View, int, int, int, int, int);
    descriptor: (Landroid/view/View;IIIII)V
    flags: (0x0000) 
    Code:
      stack=7, locals=7, args_size=7
        start local 0 // android.widget.TableLayout this
        start local 1 // android.view.View child
        start local 2 // int childIndex
        start local 3 // int widthMeasureSpec
        start local 4 // int totalWidth
        start local 5 // int heightMeasureSpec
        start local 6 // int totalHeight
         0: .line 458
            aload 1 /* child */
            instanceof android.widget.TableRow
            ifeq 2
         1: .line 459
            aload 1 /* child */
            checkcast android.widget.TableRow
            aload 0 /* this */
            getfield android.widget.TableLayout.mMaxWidths:[I
            invokevirtual android.widget.TableRow.setColumnsWidthConstraints:([I)V
         2: .line 462
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* child */
            iload 2 /* childIndex */
         3: .line 463
            iload 3 /* widthMeasureSpec */
            iload 4 /* totalWidth */
            iload 5 /* heightMeasureSpec */
            iload 6 /* totalHeight */
         4: .line 462
            invokespecial android.widget.LinearLayout.measureChildBeforeLayout:(Landroid/view/View;IIIII)V
         5: .line 464
            return
        end local 6 // int totalHeight
        end local 5 // int heightMeasureSpec
        end local 4 // int totalWidth
        end local 3 // int widthMeasureSpec
        end local 2 // int childIndex
        end local 1 // android.view.View child
        end local 0 // android.widget.TableLayout this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    6     0               this  Landroid/widget/TableLayout;
            0    6     1              child  Landroid/view/View;
            0    6     2         childIndex  I
            0    6     3   widthMeasureSpec  I
            0    6     4         totalWidth  I
            0    6     5  heightMeasureSpec  I
            0    6     6        totalHeight  I
    MethodParameters:
                   Name  Flags
      child              
      childIndex         
      widthMeasureSpec   
      totalWidth         
      heightMeasureSpec  
      totalHeight        

  void measureVertical(int, int);
    descriptor: (II)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.widget.TableLayout this
        start local 1 // int widthMeasureSpec
        start local 2 // int heightMeasureSpec
         0: .line 471
            aload 0 /* this */
            iload 1 /* widthMeasureSpec */
            iload 2 /* heightMeasureSpec */
            invokevirtual android.widget.TableLayout.findLargestCells:(II)V
         1: .line 472
            aload 0 /* this */
            iload 1 /* widthMeasureSpec */
            invokevirtual android.widget.TableLayout.shrinkAndStretchColumns:(I)V
         2: .line 474
            aload 0 /* this */
            iload 1 /* widthMeasureSpec */
            iload 2 /* heightMeasureSpec */
            invokespecial android.widget.LinearLayout.measureVertical:(II)V
         3: .line 475
            return
        end local 2 // int heightMeasureSpec
        end local 1 // int widthMeasureSpec
        end local 0 // android.widget.TableLayout this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    4     0               this  Landroid/widget/TableLayout;
            0    4     1   widthMeasureSpec  I
            0    4     2  heightMeasureSpec  I
    MethodParameters:
                   Name  Flags
      widthMeasureSpec   
      heightMeasureSpec  

  private void findLargestCells(int, int);
    descriptor: (II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=15, args_size=3
        start local 0 // android.widget.TableLayout this
        start local 1 // int widthMeasureSpec
        start local 2 // int heightMeasureSpec
         0: .line 484
            iconst_1
            istore 3 /* firstRow */
        start local 3 // boolean firstRow
         1: .line 493
            aload 0 /* this */
            invokevirtual android.widget.TableLayout.getChildCount:()I
            istore 4 /* count */
        start local 4 // int count
         2: .line 494
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         3: goto 38
         4: .line 495
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            iload 5 /* i */
            invokevirtual android.widget.TableLayout.getChildAt:(I)Landroid/view/View;
            astore 6 /* child */
        start local 6 // android.view.View child
         5: .line 496
            aload 6 /* child */
            invokevirtual android.view.View.getVisibility:()I
            bipush 8
            if_icmpne 7
         6: .line 497
            goto 37
         7: .line 500
      StackMap locals: android.view.View
      StackMap stack:
            aload 6 /* child */
            instanceof android.widget.TableRow
            ifeq 37
         8: .line 501
            aload 6 /* child */
            checkcast android.widget.TableRow
            astore 7 /* row */
        start local 7 // android.widget.TableRow row
         9: .line 503
            aload 7 /* row */
            invokevirtual android.widget.TableRow.getLayoutParams:()Landroid/view/ViewGroup$LayoutParams;
            astore 8 /* layoutParams */
        start local 8 // android.view.ViewGroup$LayoutParams layoutParams
        10: .line 504
            aload 8 /* layoutParams */
            bipush -2
            putfield android.view.ViewGroup$LayoutParams.height:I
        11: .line 506
            aload 7 /* row */
            iload 1 /* widthMeasureSpec */
            iload 2 /* heightMeasureSpec */
            invokevirtual android.widget.TableRow.getColumnsWidths:(II)[I
            astore 9 /* widths */
        start local 9 // int[] widths
        12: .line 507
            aload 9 /* widths */
            arraylength
            istore 10 /* newLength */
        start local 10 // int newLength
        13: .line 509
            iload 3 /* firstRow */
            ifeq 19
        14: .line 510
            aload 0 /* this */
            getfield android.widget.TableLayout.mMaxWidths:[I
            ifnull 15
            aload 0 /* this */
            getfield android.widget.TableLayout.mMaxWidths:[I
            arraylength
            iload 10 /* newLength */
            if_icmpeq 16
        15: .line 511
      StackMap locals: android.widget.TableLayout int int int int int android.view.View android.widget.TableRow android.view.ViewGroup$LayoutParams int[] int
      StackMap stack:
            aload 0 /* this */
            iload 10 /* newLength */
            newarray 10
            putfield android.widget.TableLayout.mMaxWidths:[I
        16: .line 513
      StackMap locals:
      StackMap stack:
            aload 9 /* widths */
            iconst_0
            aload 0 /* this */
            getfield android.widget.TableLayout.mMaxWidths:[I
            iconst_0
            iload 10 /* newLength */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        17: .line 514
            iconst_0
            istore 3 /* firstRow */
        18: .line 515
            goto 37
        19: .line 516
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.TableLayout.mMaxWidths:[I
            arraylength
            istore 11 /* length */
        start local 11 // int length
        20: .line 517
            iload 10 /* newLength */
            iload 11 /* length */
            isub
            istore 12 /* difference */
        start local 12 // int difference
        21: .line 520
            iload 12 /* difference */
            ifle 30
        22: .line 521
            aload 0 /* this */
            getfield android.widget.TableLayout.mMaxWidths:[I
            astore 13 /* oldMaxWidths */
        start local 13 // int[] oldMaxWidths
        23: .line 522
            aload 0 /* this */
            iload 10 /* newLength */
            newarray 10
            putfield android.widget.TableLayout.mMaxWidths:[I
        24: .line 523
            aload 13 /* oldMaxWidths */
            iconst_0
            aload 0 /* this */
            getfield android.widget.TableLayout.mMaxWidths:[I
            iconst_0
        25: .line 524
            aload 13 /* oldMaxWidths */
            arraylength
        26: .line 523
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        27: .line 525
            aload 9 /* widths */
            aload 13 /* oldMaxWidths */
            arraylength
        28: .line 526
            aload 0 /* this */
            getfield android.widget.TableLayout.mMaxWidths:[I
            aload 13 /* oldMaxWidths */
            arraylength
            iload 12 /* difference */
        29: .line 525
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        end local 13 // int[] oldMaxWidths
        30: .line 533
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield android.widget.TableLayout.mMaxWidths:[I
            astore 13 /* maxWidths */
        start local 13 // int[] maxWidths
        31: .line 534
            iload 11 /* length */
            iload 10 /* newLength */
            invokestatic java.lang.Math.min:(II)I
            istore 11 /* length */
        32: .line 535
            iconst_0
            istore 14 /* j */
        start local 14 // int j
        33: goto 36
        34: .line 536
      StackMap locals: int[] int
      StackMap stack:
            aload 13 /* maxWidths */
            iload 14 /* j */
            aload 13 /* maxWidths */
            iload 14 /* j */
            iaload
            aload 9 /* widths */
            iload 14 /* j */
            iaload
            invokestatic java.lang.Math.max:(II)I
            iastore
        35: .line 535
            iinc 14 /* j */ 1
      StackMap locals:
      StackMap stack:
        36: iload 14 /* j */
            iload 11 /* length */
            if_icmplt 34
        end local 14 // int j
        end local 13 // int[] maxWidths
        end local 12 // int difference
        end local 11 // int length
        end local 10 // int newLength
        end local 9 // int[] widths
        end local 8 // android.view.ViewGroup$LayoutParams layoutParams
        end local 7 // android.widget.TableRow row
        end local 6 // android.view.View child
        37: .line 494
      StackMap locals: android.widget.TableLayout int int int int int
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        38: iload 5 /* i */
            iload 4 /* count */
            if_icmplt 4
        end local 5 // int i
        39: .line 541
            return
        end local 4 // int count
        end local 3 // boolean firstRow
        end local 2 // int heightMeasureSpec
        end local 1 // int widthMeasureSpec
        end local 0 // android.widget.TableLayout this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   40     0               this  Landroid/widget/TableLayout;
            0   40     1   widthMeasureSpec  I
            0   40     2  heightMeasureSpec  I
            1   40     3           firstRow  Z
            2   40     4              count  I
            3   39     5                  i  I
            5   37     6              child  Landroid/view/View;
            9   37     7                row  Landroid/widget/TableRow;
           10   37     8       layoutParams  Landroid/view/ViewGroup$LayoutParams;
           12   37     9             widths  [I
           13   37    10          newLength  I
           20   37    11             length  I
           21   37    12         difference  I
           23   30    13       oldMaxWidths  [I
           31   37    13          maxWidths  [I
           33   37    14                  j  I
    MethodParameters:
                   Name  Flags
      widthMeasureSpec   
      heightMeasureSpec  

  private void shrinkAndStretchColumns(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // android.widget.TableLayout this
        start local 1 // int widthMeasureSpec
         0: .line 555
            aload 0 /* this */
            getfield android.widget.TableLayout.mMaxWidths:[I
            ifnonnull 2
         1: .line 556
            return
         2: .line 560
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* totalWidth */
        start local 2 // int totalWidth
         3: .line 561
            aload 0 /* this */
            getfield android.widget.TableLayout.mMaxWidths:[I
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 7
      StackMap locals: android.widget.TableLayout int int top int int int[]
      StackMap stack:
         4: aload 6
            iload 4
            iaload
            istore 3 /* width */
        start local 3 // int width
         5: .line 562
            iload 2 /* totalWidth */
            iload 3 /* width */
            iadd
            istore 2 /* totalWidth */
        end local 3 // int width
         6: .line 561
            iinc 4 1
      StackMap locals:
      StackMap stack:
         7: iload 4
            iload 5
            if_icmplt 4
         8: .line 565
            iload 1 /* widthMeasureSpec */
            invokestatic android.view.View$MeasureSpec.getSize:(I)I
            aload 0 /* this */
            getfield android.widget.TableLayout.mPaddingLeft:I
            isub
            aload 0 /* this */
            getfield android.widget.TableLayout.mPaddingRight:I
            isub
            istore 3 /* size */
        start local 3 // int size
         9: .line 567
            iload 2 /* totalWidth */
            iload 3 /* size */
            if_icmple 12
            aload 0 /* this */
            getfield android.widget.TableLayout.mShrinkAllColumns:Z
            ifne 10
            aload 0 /* this */
            getfield android.widget.TableLayout.mShrinkableColumns:Landroid/util/SparseBooleanArray;
            invokevirtual android.util.SparseBooleanArray.size:()I
            ifle 12
        10: .line 570
      StackMap locals: android.widget.TableLayout int int int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.TableLayout.mShrinkableColumns:Landroid/util/SparseBooleanArray;
            aload 0 /* this */
            getfield android.widget.TableLayout.mShrinkAllColumns:Z
            iload 3 /* size */
            iload 2 /* totalWidth */
            invokevirtual android.widget.TableLayout.mutateColumnsWidth:(Landroid/util/SparseBooleanArray;ZII)V
        11: .line 571
            goto 14
      StackMap locals:
      StackMap stack:
        12: iload 2 /* totalWidth */
            iload 3 /* size */
            if_icmpge 14
            aload 0 /* this */
            getfield android.widget.TableLayout.mStretchAllColumns:Z
            ifne 13
            aload 0 /* this */
            getfield android.widget.TableLayout.mStretchableColumns:Landroid/util/SparseBooleanArray;
            invokevirtual android.util.SparseBooleanArray.size:()I
            ifle 14
        13: .line 574
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield android.widget.TableLayout.mStretchableColumns:Landroid/util/SparseBooleanArray;
            aload 0 /* this */
            getfield android.widget.TableLayout.mStretchAllColumns:Z
            iload 3 /* size */
            iload 2 /* totalWidth */
            invokevirtual android.widget.TableLayout.mutateColumnsWidth:(Landroid/util/SparseBooleanArray;ZII)V
        14: .line 576
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int size
        end local 2 // int totalWidth
        end local 1 // int widthMeasureSpec
        end local 0 // android.widget.TableLayout this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   15     0              this  Landroid/widget/TableLayout;
            0   15     1  widthMeasureSpec  I
            3   15     2        totalWidth  I
            5    6     3             width  I
            9   15     3              size  I
    MethodParameters:
                  Name  Flags
      widthMeasureSpec  

  private void mutateColumnsWidth(android.util.SparseBooleanArray, boolean, int, int);
    descriptor: (Landroid/util/SparseBooleanArray;ZII)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=14, args_size=5
        start local 0 // android.widget.TableLayout this
        start local 1 // android.util.SparseBooleanArray columns
        start local 2 // boolean allColumns
        start local 3 // int size
        start local 4 // int totalWidth
         0: .line 580
            iconst_0
            istore 5 /* skipped */
        start local 5 // int skipped
         1: .line 581
            aload 0 /* this */
            getfield android.widget.TableLayout.mMaxWidths:[I
            astore 6 /* maxWidths */
        start local 6 // int[] maxWidths
         2: .line 582
            aload 6 /* maxWidths */
            arraylength
            istore 7 /* length */
        start local 7 // int length
         3: .line 583
            iload 2 /* allColumns */
            ifeq 4
            iload 7 /* length */
            goto 5
      StackMap locals: int int[] int
      StackMap stack:
         4: aload 1 /* columns */
            invokevirtual android.util.SparseBooleanArray.size:()I
      StackMap locals:
      StackMap stack: int
         5: istore 8 /* count */
        start local 8 // int count
         6: .line 584
            iload 3 /* size */
            iload 4 /* totalWidth */
            isub
            istore 9 /* totalExtraSpace */
        start local 9 // int totalExtraSpace
         7: .line 585
            iload 9 /* totalExtraSpace */
            iload 8 /* count */
            idiv
            istore 10 /* extraSpace */
        start local 10 // int extraSpace
         8: .line 589
            aload 0 /* this */
            invokevirtual android.widget.TableLayout.getChildCount:()I
            istore 11 /* nbChildren */
        start local 11 // int nbChildren
         9: .line 590
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        10: goto 15
        11: .line 591
      StackMap locals: android.widget.TableLayout android.util.SparseBooleanArray int int int int int[] int int int int int int
      StackMap stack:
            aload 0 /* this */
            iload 12 /* i */
            invokevirtual android.widget.TableLayout.getChildAt:(I)Landroid/view/View;
            astore 13 /* child */
        start local 13 // android.view.View child
        12: .line 592
            aload 13 /* child */
            instanceof android.widget.TableRow
            ifeq 14
        13: .line 593
            aload 13 /* child */
            invokevirtual android.view.View.forceLayout:()V
        end local 13 // android.view.View child
        14: .line 590
      StackMap locals:
      StackMap stack:
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 12 /* i */
            iload 11 /* nbChildren */
            if_icmplt 11
        end local 12 // int i
        16: .line 597
            iload 2 /* allColumns */
            ifne 28
        17: .line 598
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        18: goto 26
        19: .line 599
      StackMap locals:
      StackMap stack:
            aload 1 /* columns */
            iload 12 /* i */
            invokevirtual android.util.SparseBooleanArray.keyAt:(I)I
            istore 13 /* column */
        start local 13 // int column
        20: .line 600
            aload 1 /* columns */
            iload 12 /* i */
            invokevirtual android.util.SparseBooleanArray.valueAt:(I)Z
            ifeq 25
        21: .line 601
            iload 13 /* column */
            iload 7 /* length */
            if_icmpge 24
        22: .line 602
            aload 6 /* maxWidths */
            iload 13 /* column */
            dup2
            iaload
            iload 10 /* extraSpace */
            iadd
            iastore
        23: .line 603
            goto 25
        24: .line 604
      StackMap locals: int
      StackMap stack:
            iinc 5 /* skipped */ 1
        end local 13 // int column
        25: .line 598
      StackMap locals:
      StackMap stack:
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        26: iload 12 /* i */
            iload 8 /* count */
            if_icmplt 19
        end local 12 // int i
        27: .line 608
            goto 34
        28: .line 609
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        29: goto 32
        30: .line 610
      StackMap locals: int
      StackMap stack:
            aload 6 /* maxWidths */
            iload 12 /* i */
            dup2
            iaload
            iload 10 /* extraSpace */
            iadd
            iastore
        31: .line 609
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        32: iload 12 /* i */
            iload 8 /* count */
            if_icmplt 30
        end local 12 // int i
        33: .line 614
            return
        34: .line 617
      StackMap locals:
      StackMap stack:
            iload 5 /* skipped */
            ifle 46
            iload 5 /* skipped */
            iload 8 /* count */
            if_icmpge 46
        35: .line 619
            iload 5 /* skipped */
            iload 10 /* extraSpace */
            imul
            iload 8 /* count */
            iload 5 /* skipped */
            isub
            idiv
            istore 10 /* extraSpace */
        36: .line 620
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        37: goto 45
        38: .line 621
      StackMap locals: int
      StackMap stack:
            aload 1 /* columns */
            iload 12 /* i */
            invokevirtual android.util.SparseBooleanArray.keyAt:(I)I
            istore 13 /* column */
        start local 13 // int column
        39: .line 622
            aload 1 /* columns */
            iload 12 /* i */
            invokevirtual android.util.SparseBooleanArray.valueAt:(I)Z
            ifeq 44
            iload 13 /* column */
            iload 7 /* length */
            if_icmpge 44
        40: .line 623
            iload 10 /* extraSpace */
            aload 6 /* maxWidths */
            iload 13 /* column */
            iaload
            if_icmple 43
        41: .line 624
            aload 6 /* maxWidths */
            iload 13 /* column */
            iconst_0
            iastore
        42: .line 625
            goto 44
        43: .line 626
      StackMap locals: int
      StackMap stack:
            aload 6 /* maxWidths */
            iload 13 /* column */
            dup2
            iaload
            iload 10 /* extraSpace */
            iadd
            iastore
        end local 13 // int column
        44: .line 620
      StackMap locals:
      StackMap stack:
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        45: iload 12 /* i */
            iload 8 /* count */
            if_icmplt 38
        end local 12 // int i
        46: .line 631
      StackMap locals:
      StackMap stack:
            return
        end local 11 // int nbChildren
        end local 10 // int extraSpace
        end local 9 // int totalExtraSpace
        end local 8 // int count
        end local 7 // int length
        end local 6 // int[] maxWidths
        end local 5 // int skipped
        end local 4 // int totalWidth
        end local 3 // int size
        end local 2 // boolean allColumns
        end local 1 // android.util.SparseBooleanArray columns
        end local 0 // android.widget.TableLayout this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   47     0             this  Landroid/widget/TableLayout;
            0   47     1          columns  Landroid/util/SparseBooleanArray;
            0   47     2       allColumns  Z
            0   47     3             size  I
            0   47     4       totalWidth  I
            1   47     5          skipped  I
            2   47     6        maxWidths  [I
            3   47     7           length  I
            6   47     8            count  I
            7   47     9  totalExtraSpace  I
            8   47    10       extraSpace  I
            9   47    11       nbChildren  I
           10   16    12                i  I
           12   14    13            child  Landroid/view/View;
           18   27    12                i  I
           20   25    13           column  I
           29   33    12                i  I
           37   46    12                i  I
           39   44    13           column  I
    MethodParameters:
            Name  Flags
      columns     
      allColumns  
      size        
      totalWidth  

  public android.widget.TableLayout$LayoutParams generateLayoutParams(android.util.AttributeSet);
    descriptor: (Landroid/util/AttributeSet;)Landroid/widget/TableLayout$LayoutParams;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // android.widget.TableLayout this
        start local 1 // android.util.AttributeSet attrs
         0: .line 638
            new android.widget.TableLayout$LayoutParams
            dup
            aload 0 /* this */
            invokevirtual android.widget.TableLayout.getContext:()Landroid/content/Context;
            aload 1 /* attrs */
            invokespecial android.widget.TableLayout$LayoutParams.<init>:(Landroid/content/Context;Landroid/util/AttributeSet;)V
            areturn
        end local 1 // android.util.AttributeSet attrs
        end local 0 // android.widget.TableLayout this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Landroid/widget/TableLayout;
            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=2, locals=1, args_size=1
        start local 0 // android.widget.TableLayout this
         0: .line 648
            new android.widget.TableLayout$LayoutParams
            dup
            invokespecial android.widget.TableLayout$LayoutParams.<init>:()V
            areturn
        end local 0 // android.widget.TableLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/TableLayout;

  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 // android.widget.TableLayout this
        start local 1 // android.view.ViewGroup$LayoutParams p
         0: .line 656
            aload 1 /* p */
            instanceof android.widget.TableLayout$LayoutParams
            ireturn
        end local 1 // android.view.ViewGroup$LayoutParams p
        end local 0 // android.widget.TableLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/TableLayout;
            0    1     1     p  Landroid/view/ViewGroup$LayoutParams;
    MethodParameters:
      Name  Flags
      p     

  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 // android.widget.TableLayout this
        start local 1 // android.view.ViewGroup$LayoutParams p
         0: .line 664
            new android.widget.TableLayout$LayoutParams
            dup
            aload 1 /* p */
            invokespecial android.widget.TableLayout$LayoutParams.<init>:(Landroid/view/ViewGroup$LayoutParams;)V
            areturn
        end local 1 // android.view.ViewGroup$LayoutParams p
        end local 0 // android.widget.TableLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/TableLayout;
            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 // android.widget.TableLayout this
         0: .line 669
            ldc Landroid/widget/TableLayout;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            areturn
        end local 0 // android.widget.TableLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/widget/TableLayout;

  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: .line 1
            aload 0
            invokevirtual android.widget.TableLayout.generateDefaultLayoutParams:()Landroid/widget/LinearLayout$LayoutParams;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  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: .line 1
            aload 0
            aload 1
            invokevirtual android.widget.TableLayout.generateLayoutParams:(Landroid/view/ViewGroup$LayoutParams;)Landroid/widget/LinearLayout$LayoutParams;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public android.widget.LinearLayout$LayoutParams generateLayoutParams(android.util.AttributeSet);
    descriptor: (Landroid/util/AttributeSet;)Landroid/widget/LinearLayout$LayoutParams;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual android.widget.TableLayout.generateLayoutParams:(Landroid/util/AttributeSet;)Landroid/widget/TableLayout$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: .line 1
            aload 0
            aload 1
            invokevirtual android.widget.TableLayout.generateLayoutParams:(Landroid/util/AttributeSet;)Landroid/widget/TableLayout$LayoutParams;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "TableLayout.java"
NestMembers:
  android.widget.TableLayout$LayoutParams  android.widget.TableLayout$PassThroughHierarchyChangeListener
InnerClasses:
  public MeasureSpec = android.view.View$MeasureSpec of android.view.View
  public LayoutParams = android.view.ViewGroup$LayoutParams of android.view.ViewGroup
  public abstract OnHierarchyChangeListener = android.view.ViewGroup$OnHierarchyChangeListener of android.view.ViewGroup
  public LayoutParams = android.widget.LinearLayout$LayoutParams of android.widget.LinearLayout
  public LayoutParams = android.widget.TableLayout$LayoutParams of android.widget.TableLayout
  private PassThroughHierarchyChangeListener = android.widget.TableLayout$PassThroughHierarchyChangeListener of android.widget.TableLayout