FlowLayout.smali
.class public Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout;
.super Landroid/view/ViewGroup;
.source "FlowLayout.java"
# instance fields
.field private final aKA:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List",
"<",
"Ljava/lang/Integer;",
">;"
}
.end annotation
.end field
.field private final aKy:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List",
"<",
"Ljava/util/List",
"<",
"Landroid/view/View;",
">;>;"
}
.end annotation
.end field
.field private final aKz:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List",
"<",
"Ljava/lang/Integer;",
">;"
}
.end annotation
.end field
.field private mGravity:I
# direct methods
.method public constructor <init>(Landroid/content/Context;)V
.registers 3
.prologue
.line 25
const/4 v0, 0x0
invoke-direct {p0, p1, v0}, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.line 26
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.registers 4
.prologue
.line 29
const/4 v0, 0x0
invoke-direct {p0, p1, p2, v0}, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
.line 30
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
.registers 9
.prologue
const v1, 0x800003
const/4 v2, 0x3
const/4 v3, 0x0
.line 33
invoke-direct {p0, p1, p2, p3}, Landroid/view/ViewGroup;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
.line 18
invoke-static {}, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout;->uw()Z
move-result v0
if-eqz v0, :cond_56
move v0, v1
:goto_f
or-int/lit8 v0, v0, 0x30
iput v0, p0, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout;->mGravity:I
.line 20
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout;->aKy:Ljava/util/List;
.line 21
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout;->aKz:Ljava/util/List;
.line 22
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout;->aKA:Ljava/util/List;
.line 35
sget-object v0, Lcom/cmcm/safewallet/c;->CommonFlowLayout:[I
invoke-virtual {p1, p2, v0, p3, v3}, Landroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray;
move-result-object v3
.line 39
const/4 v0, 0x0
const/4 v4, -0x1
:try_start_30
invoke-virtual {v3, v0, v4}, Landroid/content/res/TypedArray;->getInt(II)I
move-result v0
.line 40
if-lez v0, :cond_52
.line 1329
iget v4, p0, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout;->mGravity:I
if-eq v4, v0, :cond_52
.line 1330
const v4, 0x800007
and-int/2addr v4, v0
if-nez v4, :cond_47
.line 1331
invoke-static {}, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout;->uw()Z
move-result v4
if-eqz v4, :cond_58
:goto_46
or-int/2addr v0, v1
.line 1334
:cond_47
and-int/lit8 v1, v0, 0x70
if-nez v1, :cond_4d
.line 1335
or-int/lit8 v0, v0, 0x30
.line 1338
:cond_4d
iput v0, p0, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout;->mGravity:I
.line 1339
invoke-virtual {p0}, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout;->requestLayout()V
:try_end_52
.catchall {:try_start_30 .. :try_end_52} :catchall_5a
.line 44
:cond_52
invoke-virtual {v3}, Landroid/content/res/TypedArray;->recycle()V
.line 45
return-void
:cond_56
move v0, v2
.line 18
goto :goto_f
:cond_58
move v1, v2
.line 1331
goto :goto_46
.line 44
:catchall_5a
move-exception v0
invoke-virtual {v3}, Landroid/content/res/TypedArray;->recycle()V
throw v0
.end method
.method private static uw()Z
.registers 2
.prologue
.line 353
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0xe
if-lt v0, v1, :cond_8
const/4 v0, 0x1
:goto_7
return v0
:cond_8
const/4 v0, 0x0
goto :goto_7
.end method
# virtual methods
.method protected checkLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Z
.registers 3
.prologue
.line 324
invoke-super {p0, p1}, Landroid/view/ViewGroup;->checkLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Z
move-result v0
if-eqz v0, :cond_c
instance-of v0, p1, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout$LayoutParams;
if-eqz v0, :cond_c
const/4 v0, 0x1
:goto_b
return v0
:cond_c
const/4 v0, 0x0
goto :goto_b
.end method
.method protected synthetic generateDefaultLayoutParams()Landroid/view/ViewGroup$LayoutParams;
.registers 2
.prologue
.line 2319
new-instance v0, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout$LayoutParams;
invoke-direct {v0}, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout$LayoutParams;-><init>()V
.line 17
return-object v0
.end method
.method public synthetic generateLayoutParams(Landroid/util/AttributeSet;)Landroid/view/ViewGroup$LayoutParams;
.registers 4
.prologue
.line 17
.line 3311
new-instance v0, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout$LayoutParams;
invoke-virtual {p0}, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout;->getContext()Landroid/content/Context;
move-result-object v1
invoke-direct {v0, v1, p1}, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout$LayoutParams;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.line 17
return-object v0
.end method
.method protected synthetic generateLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Landroid/view/ViewGroup$LayoutParams;
.registers 3
.prologue
.line 3303
new-instance v0, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout$LayoutParams;
invoke-direct {v0, p1}, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout$LayoutParams;-><init>(Landroid/view/ViewGroup$LayoutParams;)V
.line 17
return-object v0
.end method
.method protected onLayout(ZIIII)V
.registers 28
.prologue
.line 151
move-object/from16 v0, p0
iget-object v3, v0, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout;->aKy:Ljava/util/List;
invoke-interface {v3}, Ljava/util/List;->clear()V
.line 152
move-object/from16 v0, p0
iget-object v3, v0, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout;->aKz:Ljava/util/List;
invoke-interface {v3}, Ljava/util/List;->clear()V
.line 153
move-object/from16 v0, p0
iget-object v3, v0, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout;->aKA:Ljava/util/List;
invoke-interface {v3}, Ljava/util/List;->clear()V
.line 155
invoke-virtual/range {p0 .. p0}, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout;->getWidth()I
move-result v10
.line 156
invoke-virtual/range {p0 .. p0}, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout;->getHeight()I
move-result v11
.line 158
invoke-virtual/range {p0 .. p0}, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout;->getPaddingTop()I
move-result v8
.line 160
new-instance v7, Ljava/util/ArrayList;
invoke-direct {v7}, Ljava/util/ArrayList;-><init>()V
.line 163
move-object/from16 v0, p0
iget v3, v0, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout;->mGravity:I
and-int/lit8 v3, v3, 0x7
sparse-switch v3, :sswitch_data_1fc
.line 166
const/4 v3, 0x0
move v4, v3
.line 176
:goto_31
const/4 v6, 0x0
.line 177
const/4 v5, 0x0
.line 178
const/4 v3, 0x0
move v9, v8
move-object v8, v7
move v7, v6
move v6, v5
move v5, v3
:goto_39
invoke-virtual/range {p0 .. p0}, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout;->getChildCount()I
move-result v3
if-ge v5, v3, :cond_ae
.line 180
move-object/from16 v0, p0
invoke-virtual {v0, v5}, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout;->getChildAt(I)Landroid/view/View;
move-result-object v12
.line 182
invoke-virtual {v12}, Landroid/view/View;->getVisibility()I
move-result v3
const/16 v13, 0x8
if-eq v3, v13, :cond_a2
.line 186
invoke-virtual {v12}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
move-result-object v3
check-cast v3, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout$LayoutParams;
.line 188
invoke-virtual {v12}, Landroid/view/View;->getMeasuredWidth()I
move-result v13
iget v14, v3, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout$LayoutParams;->leftMargin:I
add-int/2addr v13, v14
iget v14, v3, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout$LayoutParams;->rightMargin:I
add-int/2addr v13, v14
.line 189
invoke-virtual {v12}, Landroid/view/View;->getMeasuredHeight()I
move-result v14
iget v15, v3, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout$LayoutParams;->bottomMargin:I
add-int/2addr v14, v15
iget v3, v3, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout$LayoutParams;->topMargin:I
add-int/2addr v3, v14
.line 191
add-int v14, v6, v13
if-le v14, v10, :cond_9a
.line 192
move-object/from16 v0, p0
iget-object v14, v0, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout;->aKz:Ljava/util/List;
invoke-static {v7}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v15
invoke-interface {v14, v15}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 193
move-object/from16 v0, p0
iget-object v14, v0, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout;->aKy:Ljava/util/List;
invoke-interface {v14, v8}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 194
move-object/from16 v0, p0
iget-object v8, v0, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout;->aKA:Ljava/util/List;
sub-int v6, v10, v6
int-to-float v6, v6
mul-float/2addr v6, v4
float-to-int v6, v6
invoke-virtual/range {p0 .. p0}, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout;->getPaddingLeft()I
move-result v14
add-int/2addr v6, v14
invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v6
invoke-interface {v8, v6}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 196
add-int/2addr v9, v7
.line 198
const/4 v7, 0x0
.line 199
const/4 v6, 0x0
.line 200
new-instance v8, Ljava/util/ArrayList;
invoke-direct {v8}, Ljava/util/ArrayList;-><init>()V
.line 203
:cond_9a
add-int/2addr v6, v13
.line 204
invoke-static {v7, v3}, Ljava/lang/Math;->max(II)I
move-result v7
.line 205
invoke-interface {v8, v12}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 178
:cond_a2
add-int/lit8 v3, v5, 0x1
move v5, v3
goto :goto_39
.line 169
:sswitch_a6
const/high16 v3, 0x3f000000 # 0.5f
move v4, v3
.line 170
goto :goto_31
.line 172
:sswitch_aa
const/high16 v3, 0x3f800000 # 1.0f
move v4, v3
goto :goto_31
.line 208
:cond_ae
move-object/from16 v0, p0
iget-object v3, v0, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout;->aKz:Ljava/util/List;
invoke-static {v7}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v5
invoke-interface {v3, v5}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 209
move-object/from16 v0, p0
iget-object v3, v0, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout;->aKy:Ljava/util/List;
invoke-interface {v3, v8}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 210
move-object/from16 v0, p0
iget-object v3, v0, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout;->aKA:Ljava/util/List;
sub-int v5, v10, v6
int-to-float v5, v5
mul-float/2addr v4, v5
float-to-int v4, v4
invoke-virtual/range {p0 .. p0}, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout;->getPaddingLeft()I
move-result v5
add-int/2addr v4, v5
invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v4
invoke-interface {v3, v4}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 212
add-int v4, v9, v7
.line 214
const/4 v3, 0x0
.line 215
move-object/from16 v0, p0
iget v5, v0, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout;->mGravity:I
and-int/lit8 v5, v5, 0x70
sparse-switch v5, :sswitch_data_206
move v7, v3
.line 227
:goto_e2
move-object/from16 v0, p0
iget-object v3, v0, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout;->aKy:Ljava/util/List;
invoke-interface {v3}, Ljava/util/List;->size()I
move-result v14
.line 229
invoke-virtual/range {p0 .. p0}, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout;->getPaddingTop()I
move-result v4
.line 231
const/4 v3, 0x0
move v11, v3
move v12, v4
:goto_f1
if-ge v11, v14, :cond_1f4
.line 233
move-object/from16 v0, p0
iget-object v3, v0, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout;->aKz:Ljava/util/List;
invoke-interface {v3, v11}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v3
check-cast v3, Ljava/lang/Integer;
invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
move-result v15
.line 234
move-object/from16 v0, p0
iget-object v3, v0, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout;->aKy:Ljava/util/List;
invoke-interface {v3, v11}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v3
move-object v5, v3
check-cast v5, Ljava/util/List;
.line 235
move-object/from16 v0, p0
iget-object v3, v0, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout;->aKA:Ljava/util/List;
invoke-interface {v3, v11}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v3
check-cast v3, Ljava/lang/Integer;
invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
move-result v10
.line 237
invoke-interface {v5}, Ljava/util/List;->size()I
move-result v16
.line 239
const/4 v3, 0x0
move v13, v3
:goto_120
move/from16 v0, v16
if-ge v13, v0, :cond_1ec
.line 241
invoke-interface {v5, v13}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v3
check-cast v3, Landroid/view/View;
.line 243
invoke-virtual {v3}, Landroid/view/View;->getVisibility()I
move-result v4
const/16 v8, 0x8
if-eq v4, v8, :cond_1f5
.line 247
invoke-virtual {v3}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
move-result-object v4
check-cast v4, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout$LayoutParams;
.line 250
iget v8, v4, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout$LayoutParams;->height:I
const/4 v9, -0x1
if-ne v8, v9, :cond_164
.line 251
const/high16 v8, -0x80000000
.line 254
iget v9, v4, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout$LayoutParams;->width:I
const/16 v17, -0x1
move/from16 v0, v17
if-ne v9, v0, :cond_1c3
.line 255
const/high16 v8, 0x40000000 # 2.0f
move v9, v8
move v8, v6
.line 262
:goto_14b
invoke-static {v8, v9}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result v8
iget v9, v4, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout$LayoutParams;->topMargin:I
sub-int v9, v15, v9
iget v0, v4, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout$LayoutParams;->bottomMargin:I
move/from16 v17, v0
sub-int v9, v9, v17
const/high16 v17, 0x40000000 # 2.0f
.line 263
move/from16 v0, v17
invoke-static {v9, v0}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result v9
.line 261
invoke-virtual {v3, v8, v9}, Landroid/view/View;->measure(II)V
.line 267
:cond_164
invoke-virtual {v3}, Landroid/view/View;->getMeasuredWidth()I
move-result v9
.line 268
invoke-virtual {v3}, Landroid/view/View;->getMeasuredHeight()I
move-result v17
.line 270
const/4 v8, 0x0
.line 272
iget v0, v4, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout$LayoutParams;->gravity:I
move/from16 v18, v0
invoke-static/range {v18 .. v18}, Landroid/view/Gravity;->isVertical(I)Z
move-result v18
if-eqz v18, :cond_17e
.line 273
iget v0, v4, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout$LayoutParams;->gravity:I
move/from16 v18, v0
sparse-switch v18, :sswitch_data_210
.line 287
:cond_17e
:goto_17e
iget v0, v4, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout$LayoutParams;->leftMargin:I
move/from16 v18, v0
add-int v18, v18, v10
iget v0, v4, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout$LayoutParams;->topMargin:I
move/from16 v19, v0
add-int v19, v19, v12
add-int v19, v19, v8
add-int v19, v19, v7
add-int v20, v10, v9
iget v0, v4, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout$LayoutParams;->leftMargin:I
move/from16 v21, v0
add-int v20, v20, v21
add-int v17, v17, v12
iget v0, v4, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout$LayoutParams;->topMargin:I
move/from16 v21, v0
add-int v17, v17, v21
add-int v8, v8, v17
add-int/2addr v8, v7
move/from16 v0, v18
move/from16 v1, v19
move/from16 v2, v20
invoke-virtual {v3, v0, v1, v2, v8}, Landroid/view/View;->layout(IIII)V
.line 292
iget v3, v4, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout$LayoutParams;->leftMargin:I
add-int/2addr v3, v9
iget v4, v4, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout$LayoutParams;->rightMargin:I
add-int/2addr v3, v4
add-int/2addr v3, v10
.line 239
:goto_1b1
add-int/lit8 v4, v13, 0x1
move v10, v3
move v13, v4
goto/16 :goto_120
.line 220
:sswitch_1b7
sub-int v3, v11, v4
div-int/lit8 v3, v3, 0x2
move v7, v3
.line 221
goto/16 :goto_e2
.line 223
:sswitch_1be
sub-int v3, v11, v4
move v7, v3
goto/16 :goto_e2
.line 256
:cond_1c3
iget v9, v4, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout$LayoutParams;->width:I
if-ltz v9, :cond_1f7
.line 257
const/high16 v9, 0x40000000 # 2.0f
.line 258
iget v8, v4, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout$LayoutParams;->width:I
goto :goto_14b
.line 279
:sswitch_1cc
sub-int v8, v15, v17
iget v0, v4, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout$LayoutParams;->topMargin:I
move/from16 v18, v0
sub-int v8, v8, v18
iget v0, v4, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout$LayoutParams;->bottomMargin:I
move/from16 v18, v0
sub-int v8, v8, v18
div-int/lit8 v8, v8, 0x2
goto :goto_17e
.line 282
:sswitch_1dd
sub-int v8, v15, v17
iget v0, v4, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout$LayoutParams;->topMargin:I
move/from16 v18, v0
sub-int v8, v8, v18
iget v0, v4, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout$LayoutParams;->bottomMargin:I
move/from16 v18, v0
sub-int v8, v8, v18
goto :goto_17e
.line 296
:cond_1ec
add-int v4, v12, v15
.line 231
add-int/lit8 v3, v11, 0x1
move v11, v3
move v12, v4
goto/16 :goto_f1
.line 299
:cond_1f4
return-void
:cond_1f5
move v3, v10
goto :goto_1b1
:cond_1f7
move v9, v8
move v8, v6
goto/16 :goto_14b
.line 163
nop
:sswitch_data_1fc
.sparse-switch
0x1 -> :sswitch_a6
0x5 -> :sswitch_aa
.end sparse-switch
.line 215
:sswitch_data_206
.sparse-switch
0x10 -> :sswitch_1b7
0x50 -> :sswitch_1be
.end sparse-switch
.line 273
:sswitch_data_210
.sparse-switch
0x10 -> :sswitch_1cc
0x11 -> :sswitch_1cc
0x50 -> :sswitch_1dd
.end sparse-switch
.end method
.method protected onMeasure(II)V
.registers 21
.prologue
.line 54
invoke-super/range {p0 .. p2}, Landroid/view/ViewGroup;->onMeasure(II)V
.line 56
invoke-static/range {p1 .. p1}, Landroid/view/View$MeasureSpec;->getSize(I)I
move-result v1
invoke-virtual/range {p0 .. p0}, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout;->getPaddingLeft()I
move-result v2
sub-int/2addr v1, v2
invoke-virtual/range {p0 .. p0}, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout;->getPaddingRight()I
move-result v2
sub-int v8, v1, v2
.line 57
invoke-static/range {p2 .. p2}, Landroid/view/View$MeasureSpec;->getSize(I)I
move-result v11
.line 59
invoke-static/range {p1 .. p1}, Landroid/view/View$MeasureSpec;->getMode(I)I
move-result v15
.line 60
invoke-static/range {p2 .. p2}, Landroid/view/View$MeasureSpec;->getMode(I)I
move-result v16
.line 62
const/4 v13, 0x0
.line 63
invoke-virtual/range {p0 .. p0}, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout;->getPaddingTop()I
move-result v1
invoke-virtual/range {p0 .. p0}, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout;->getPaddingBottom()I
move-result v2
add-int v6, v1, v2
.line 65
const/4 v4, 0x0
.line 66
const/4 v12, 0x0
.line 68
invoke-virtual/range {p0 .. p0}, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout;->getChildCount()I
move-result v17
.line 70
const/4 v1, 0x0
move v14, v1
:goto_31
move/from16 v0, v17
if-ge v14, v0, :cond_d5
.line 72
move-object/from16 v0, p0
invoke-virtual {v0, v14}, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout;->getChildAt(I)Landroid/view/View;
move-result-object v2
.line 73
add-int/lit8 v1, v17, -0x1
if-ne v14, v1, :cond_58
const/4 v1, 0x1
move v7, v1
.line 75
:goto_41
invoke-virtual {v2}, Landroid/view/View;->getVisibility()I
move-result v1
const/16 v3, 0x8
if-ne v1, v3, :cond_5b
.line 77
if-eqz v7, :cond_f8
.line 78
invoke-static {v13, v4}, Ljava/lang/Math;->max(II)I
move-result v1
.line 79
add-int/2addr v6, v12
move v2, v1
move v1, v12
.line 70
:cond_52
:goto_52
add-int/lit8 v3, v14, 0x1
move v14, v3
move v12, v1
move v13, v2
goto :goto_31
.line 73
:cond_58
const/4 v1, 0x0
move v7, v1
goto :goto_41
:cond_5b
move-object/from16 v1, p0
move/from16 v3, p1
move/from16 v5, p2
.line 85
invoke-virtual/range {v1 .. v6}, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout;->measureChildWithMargins(Landroid/view/View;IIII)V
.line 87
invoke-virtual {v2}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
move-result-object v1
check-cast v1, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout$LayoutParams;
.line 89
const/high16 v3, -0x80000000
.line 94
iget v5, v1, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout$LayoutParams;->width:I
const/4 v9, -0x1
if-ne v5, v9, :cond_b6
.line 95
const/high16 v5, 0x40000000 # 2.0f
.line 96
iget v3, v1, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout$LayoutParams;->leftMargin:I
iget v9, v1, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout$LayoutParams;->rightMargin:I
add-int/2addr v3, v9
sub-int v3, v8, v3
.line 102
:goto_7a
const/high16 v9, -0x80000000
.line 103
iget v10, v1, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout$LayoutParams;->height:I
if-ltz v10, :cond_bf
.line 104
const/high16 v9, 0x40000000 # 2.0f
.line 105
iget v10, v1, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout$LayoutParams;->height:I
.line 112
:goto_84
invoke-static {v3, v5}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result v3
.line 113
invoke-static {v10, v9}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result v5
.line 111
invoke-virtual {v2, v3, v5}, Landroid/view/View;->measure(II)V
.line 116
invoke-virtual {v2}, Landroid/view/View;->getMeasuredWidth()I
move-result v3
iget v5, v1, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout$LayoutParams;->leftMargin:I
add-int/2addr v3, v5
iget v5, v1, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout$LayoutParams;->rightMargin:I
add-int/2addr v3, v5
.line 118
add-int v5, v4, v3
if-le v5, v8, :cond_c4
.line 120
invoke-static {v13, v4}, Ljava/lang/Math;->max(II)I
move-result v13
.line 123
add-int/2addr v6, v12
.line 124
invoke-virtual {v2}, Landroid/view/View;->getMeasuredHeight()I
move-result v2
iget v4, v1, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout$LayoutParams;->topMargin:I
add-int/2addr v2, v4
iget v1, v1, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout$LayoutParams;->bottomMargin:I
add-int/2addr v1, v2
move v4, v3
move v2, v13
.line 131
:goto_ae
if-eqz v7, :cond_52
.line 132
invoke-static {v2, v4}, Ljava/lang/Math;->max(II)I
move-result v2
.line 133
add-int/2addr v6, v1
goto :goto_52
.line 97
:cond_b6
iget v5, v1, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout$LayoutParams;->width:I
if-ltz v5, :cond_f5
.line 98
const/high16 v5, 0x40000000 # 2.0f
.line 99
iget v3, v1, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout$LayoutParams;->width:I
goto :goto_7a
.line 106
:cond_bf
if-nez v16, :cond_f3
.line 107
const/4 v9, 0x0
.line 108
const/4 v10, 0x0
goto :goto_84
.line 127
:cond_c4
add-int/2addr v4, v3
.line 128
invoke-virtual {v2}, Landroid/view/View;->getMeasuredHeight()I
move-result v2
iget v3, v1, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout$LayoutParams;->topMargin:I
add-int/2addr v2, v3
iget v1, v1, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout$LayoutParams;->bottomMargin:I
add-int/2addr v1, v2
invoke-static {v12, v1}, Ljava/lang/Math;->max(II)I
move-result v1
move v2, v13
goto :goto_ae
.line 138
:cond_d5
invoke-virtual/range {p0 .. p0}, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout;->getPaddingLeft()I
move-result v1
invoke-virtual/range {p0 .. p0}, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout;->getPaddingRight()I
move-result v2
add-int/2addr v1, v2
add-int/2addr v1, v13
.line 140
const/high16 v2, 0x40000000 # 2.0f
if-ne v15, v2, :cond_ef
:goto_e3
const/high16 v1, 0x40000000 # 2.0f
move/from16 v0, v16
if-ne v0, v1, :cond_f1
:goto_e9
move-object/from16 v0, p0
invoke-virtual {v0, v8, v11}, Lcom/cmcm/safewallet/ui/widget/flow/FlowLayout;->setMeasuredDimension(II)V
.line 143
return-void
:cond_ef
move v8, v1
.line 140
goto :goto_e3
:cond_f1
move v11, v6
goto :goto_e9
:cond_f3
move v10, v11
goto :goto_84
:cond_f5
move v5, v3
move v3, v8
goto :goto_7a
:cond_f8
move v1, v12
move v2, v13
goto/16 :goto_52
.end method