FlowLayout.smali
.class public Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout;
.super Landroid/view/ViewGroup;
.source "FlowLayout.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout$LayoutParams;
}
.end annotation
# instance fields
.field private mGravity:I
.field private final mLineHeights:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List",
"<",
"Ljava/lang/Integer;",
">;"
}
.end annotation
.end field
.field private final mLineMargins:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List",
"<",
"Ljava/lang/Integer;",
">;"
}
.end annotation
.end field
.field private final mLines:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List",
"<",
"Ljava/util/List",
"<",
"Landroid/view/View;",
">;>;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>(Landroid/content/Context;)V
.registers 3
.prologue
.line 37
const/4 v0, 0x0
invoke-direct {p0, p1, v0}, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.line 38
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.registers 4
.prologue
.line 41
const/4 v0, 0x0
invoke-direct {p0, p1, p2, v0}, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
.line 42
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
.registers 7
.prologue
.line 45
invoke-direct {p0, p1, p2, p3}, Landroid/view/ViewGroup;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
.line 30
invoke-static {}, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout;->isIcs()Z
move-result v0
if-eqz v0, :cond_3c
const v0, 0x800003
:goto_c
or-int/lit8 v0, v0, 0x30
iput v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout;->mGravity:I
.line 32
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout;->mLines:Ljava/util/List;
.line 33
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout;->mLineHeights:Ljava/util/List;
.line 34
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout;->mLineMargins:Ljava/util/List;
.line 47
sget-object v0, Lcom/cleanmaster/hpsharelib/R$styleable;->common_flowlayout:[I
const/4 v1, 0x0
invoke-virtual {p1, p2, v0, p3, v1}, Landroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray;
move-result-object v1
.line 51
:try_start_2c
sget v0, Lcom/cleanmaster/hpsharelib/R$styleable;->common_flowlayout_android_gravity:I
const/4 v2, -0x1
invoke-virtual {v1, v0, v2}, Landroid/content/res/TypedArray;->getInt(II)I
move-result v0
.line 52
if-lez v0, :cond_38
.line 53
invoke-virtual {p0, v0}, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout;->setGravity(I)V
:try_end_38
.catchall {:try_start_2c .. :try_end_38} :catchall_3e
.line 56
:cond_38
invoke-virtual {v1}, Landroid/content/res/TypedArray;->recycle()V
.line 59
return-void
.line 30
:cond_3c
const/4 v0, 0x3
goto :goto_c
.line 56
:catchall_3e
move-exception v0
invoke-virtual {v1}, Landroid/content/res/TypedArray;->recycle()V
throw v0
.end method
.method private static isIcs()Z
.registers 2
.prologue
.line 364
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 337
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/cleanmaster/hpsharelib/base/widget/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 bridge synthetic generateDefaultLayoutParams()Landroid/view/ViewGroup$LayoutParams;
.registers 2
.prologue
.line 29
invoke-virtual {p0}, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout;->generateDefaultLayoutParams()Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout$LayoutParams;
move-result-object v0
return-object v0
.end method
.method protected generateDefaultLayoutParams()Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout$LayoutParams;
.registers 3
.prologue
const/4 v1, -0x1
.line 332
new-instance v0, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout$LayoutParams;
invoke-direct {v0, v1, v1}, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout$LayoutParams;-><init>(II)V
return-object v0
.end method
.method public bridge synthetic generateLayoutParams(Landroid/util/AttributeSet;)Landroid/view/ViewGroup$LayoutParams;
.registers 3
.prologue
.line 29
invoke-virtual {p0, p1}, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout;->generateLayoutParams(Landroid/util/AttributeSet;)Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout$LayoutParams;
move-result-object v0
return-object v0
.end method
.method protected bridge synthetic generateLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Landroid/view/ViewGroup$LayoutParams;
.registers 3
.prologue
.line 29
invoke-virtual {p0, p1}, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout;->generateLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout$LayoutParams;
move-result-object v0
return-object v0
.end method
.method public generateLayoutParams(Landroid/util/AttributeSet;)Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout$LayoutParams;
.registers 4
.prologue
.line 324
new-instance v0, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout$LayoutParams;
invoke-virtual {p0}, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout;->getContext()Landroid/content/Context;
move-result-object v1
invoke-direct {v0, v1, p1}, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout$LayoutParams;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
return-object v0
.end method
.method protected generateLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout$LayoutParams;
.registers 3
.prologue
.line 316
new-instance v0, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout$LayoutParams;
invoke-direct {v0, p1}, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout$LayoutParams;-><init>(Landroid/view/ViewGroup$LayoutParams;)V
return-object v0
.end method
.method public getGravity()I
.registers 2
.prologue
.line 357
iget v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout;->mGravity:I
return v0
.end method
.method protected onLayout(ZIIII)V
.registers 28
.prologue
.line 163
move-object/from16 v0, p0
iget-object v3, v0, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout;->mLines:Ljava/util/List;
invoke-interface {v3}, Ljava/util/List;->clear()V
.line 164
move-object/from16 v0, p0
iget-object v3, v0, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout;->mLineHeights:Ljava/util/List;
invoke-interface {v3}, Ljava/util/List;->clear()V
.line 165
move-object/from16 v0, p0
iget-object v3, v0, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout;->mLineMargins:Ljava/util/List;
invoke-interface {v3}, Ljava/util/List;->clear()V
.line 167
invoke-virtual/range {p0 .. p0}, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout;->getWidth()I
move-result v10
.line 168
invoke-virtual/range {p0 .. p0}, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout;->getHeight()I
move-result v11
.line 170
invoke-virtual/range {p0 .. p0}, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout;->getPaddingTop()I
move-result v8
.line 172
const/4 v7, 0x0
.line 173
const/4 v6, 0x0
.line 174
new-instance v5, Ljava/util/ArrayList;
invoke-direct {v5}, Ljava/util/ArrayList;-><init>()V
.line 177
move-object/from16 v0, p0
iget v3, v0, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout;->mGravity:I
and-int/lit8 v3, v3, 0x7
sparse-switch v3, :sswitch_data_1fa
.line 180
const/4 v3, 0x0
move v4, v3
.line 190
:goto_33
const/4 v3, 0x0
move v9, v8
move v8, v7
move v7, v6
move-object v6, v5
move v5, v3
:goto_39
invoke-virtual/range {p0 .. p0}, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout;->getChildCount()I
move-result v3
if-ge v5, v3, :cond_af
.line 192
move-object/from16 v0, p0
invoke-virtual {v0, v5}, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout;->getChildAt(I)Landroid/view/View;
move-result-object v12
.line 194
invoke-virtual {v12}, Landroid/view/View;->getVisibility()I
move-result v3
const/16 v13, 0x8
if-ne v3, v13, :cond_59
.line 190
:goto_4d
add-int/lit8 v3, v5, 0x1
move v5, v3
goto :goto_39
.line 183
:sswitch_51
const/high16 v3, 0x3f000000 # 0.5f
move v4, v3
.line 184
goto :goto_33
.line 186
:sswitch_55
const/high16 v3, 0x3f800000 # 1.0f
move v4, v3
goto :goto_33
.line 198
:cond_59
invoke-virtual {v12}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
move-result-object v3
check-cast v3, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout$LayoutParams;
.line 200
invoke-virtual {v12}, Landroid/view/View;->getMeasuredWidth()I
move-result v13
iget v14, v3, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout$LayoutParams;->leftMargin:I
add-int/2addr v13, v14
iget v14, v3, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout$LayoutParams;->rightMargin:I
add-int/2addr v13, v14
.line 201
invoke-virtual {v12}, Landroid/view/View;->getMeasuredHeight()I
move-result v14
iget v15, v3, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout$LayoutParams;->bottomMargin:I
add-int/2addr v14, v15
iget v3, v3, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout$LayoutParams;->topMargin:I
add-int/2addr v3, v14
.line 203
add-int v14, v8, v13
if-le v14, v10, :cond_a6
.line 204
move-object/from16 v0, p0
iget-object v14, v0, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout;->mLineHeights: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 205
move-object/from16 v0, p0
iget-object v14, v0, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout;->mLines:Ljava/util/List;
invoke-interface {v14, v6}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 206
move-object/from16 v0, p0
iget-object v6, v0, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout;->mLineMargins:Ljava/util/List;
sub-int v8, v10, v8
int-to-float v8, v8
mul-float/2addr v8, v4
float-to-int v8, v8
invoke-virtual/range {p0 .. p0}, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout;->getPaddingLeft()I
move-result v14
add-int/2addr v8, v14
invoke-static {v8}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v8
invoke-interface {v6, v8}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 208
add-int/2addr v9, v7
.line 210
const/4 v7, 0x0
.line 211
const/4 v8, 0x0
.line 212
new-instance v6, Ljava/util/ArrayList;
invoke-direct {v6}, Ljava/util/ArrayList;-><init>()V
.line 215
:cond_a6
add-int/2addr v8, v13
.line 216
invoke-static {v7, v3}, Ljava/lang/Math;->max(II)I
move-result v7
.line 217
invoke-interface {v6, v12}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_4d
.line 220
:cond_af
move-object/from16 v0, p0
iget-object v3, v0, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout;->mLineHeights: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 221
move-object/from16 v0, p0
iget-object v3, v0, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout;->mLines:Ljava/util/List;
invoke-interface {v3, v6}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 222
move-object/from16 v0, p0
iget-object v3, v0, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout;->mLineMargins:Ljava/util/List;
sub-int v5, v10, v8
int-to-float v5, v5
mul-float/2addr v4, v5
float-to-int v4, v4
invoke-virtual/range {p0 .. p0}, Lcom/cleanmaster/hpsharelib/base/widget/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 224
add-int v4, v9, v7
.line 226
const/4 v3, 0x0
.line 227
move-object/from16 v0, p0
iget v5, v0, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout;->mGravity:I
and-int/lit8 v5, v5, 0x70
sparse-switch v5, :sswitch_data_204
move v6, v3
.line 239
:goto_e3
move-object/from16 v0, p0
iget-object v3, v0, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout;->mLines:Ljava/util/List;
invoke-interface {v3}, Ljava/util/List;->size()I
move-result v14
.line 242
invoke-virtual/range {p0 .. p0}, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout;->getPaddingTop()I
move-result v4
.line 244
const/4 v3, 0x0
move v11, v3
move v12, v4
:goto_f2
if-ge v11, v14, :cond_1f5
.line 246
move-object/from16 v0, p0
iget-object v3, v0, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout;->mLineHeights: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 247
move-object/from16 v0, p0
iget-object v3, v0, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout;->mLines: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 248
move-object/from16 v0, p0
iget-object v3, v0, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout;->mLineMargins: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 250
invoke-interface {v5}, Ljava/util/List;->size()I
move-result v16
.line 252
const/4 v3, 0x0
move v13, v3
:goto_121
move/from16 v0, v16
if-ge v13, v0, :cond_1ed
.line 254
invoke-interface {v5, v13}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v3
check-cast v3, Landroid/view/View;
.line 256
invoke-virtual {v3}, Landroid/view/View;->getVisibility()I
move-result v4
const/16 v7, 0x8
if-ne v4, v7, :cond_143
move v3, v10
.line 252
:goto_134
add-int/lit8 v4, v13, 0x1
move v13, v4
move v10, v3
goto :goto_121
.line 232
:sswitch_139
sub-int v3, v11, v4
div-int/lit8 v3, v3, 0x2
move v6, v3
.line 233
goto :goto_e3
.line 235
:sswitch_13f
sub-int v3, v11, v4
move v6, v3
goto :goto_e3
.line 260
:cond_143
invoke-virtual {v3}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
move-result-object v4
check-cast v4, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout$LayoutParams;
.line 263
iget v7, v4, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout$LayoutParams;->height:I
const/4 v9, -0x1
if-ne v7, v9, :cond_175
.line 264
const/high16 v7, -0x80000000
.line 267
iget v9, v4, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout$LayoutParams;->width:I
const/16 v17, -0x1
move/from16 v0, v17
if-ne v9, v0, :cond_1c4
.line 268
const/high16 v7, 0x40000000 # 2.0f
move v9, v7
move v7, v8
.line 275
:goto_15c
invoke-static {v7, v9}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result v7
iget v9, v4, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout$LayoutParams;->topMargin:I
sub-int v9, v15, v9
iget v0, v4, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout$LayoutParams;->bottomMargin:I
move/from16 v17, v0
sub-int v9, v9, v17
const/high16 v17, 0x40000000 # 2.0f
.line 276
move/from16 v0, v17
invoke-static {v9, v0}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result v9
.line 274
invoke-virtual {v3, v7, v9}, Landroid/view/View;->measure(II)V
.line 280
:cond_175
invoke-virtual {v3}, Landroid/view/View;->getMeasuredWidth()I
move-result v9
.line 281
invoke-virtual {v3}, Landroid/view/View;->getMeasuredHeight()I
move-result v17
.line 283
const/4 v7, 0x0
.line 285
iget v0, v4, Lcom/cleanmaster/hpsharelib/base/widget/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_18f
.line 286
iget v0, v4, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout$LayoutParams;->gravity:I
move/from16 v18, v0
sparse-switch v18, :sswitch_data_20e
.line 300
:cond_18f
:goto_18f
iget v0, v4, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout$LayoutParams;->leftMargin:I
move/from16 v18, v0
add-int v18, v18, v10
iget v0, v4, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout$LayoutParams;->topMargin:I
move/from16 v19, v0
add-int v19, v19, v12
add-int v19, v19, v7
add-int v19, v19, v6
add-int v20, v10, v9
iget v0, v4, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout$LayoutParams;->leftMargin:I
move/from16 v21, v0
add-int v20, v20, v21
add-int v17, v17, v12
iget v0, v4, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout$LayoutParams;->topMargin:I
move/from16 v21, v0
add-int v17, v17, v21
add-int v7, v7, v17
add-int/2addr v7, v6
move/from16 v0, v18
move/from16 v1, v19
move/from16 v2, v20
invoke-virtual {v3, v0, v1, v2, v7}, Landroid/view/View;->layout(IIII)V
.line 305
iget v3, v4, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout$LayoutParams;->leftMargin:I
add-int/2addr v3, v9
iget v4, v4, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout$LayoutParams;->rightMargin:I
add-int/2addr v3, v4
add-int/2addr v3, v10
goto/16 :goto_134
.line 269
:cond_1c4
iget v9, v4, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout$LayoutParams;->width:I
if-ltz v9, :cond_1f6
.line 270
const/high16 v9, 0x40000000 # 2.0f
.line 271
iget v7, v4, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout$LayoutParams;->width:I
goto :goto_15c
.line 292
:sswitch_1cd
sub-int v7, v15, v17
iget v0, v4, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout$LayoutParams;->topMargin:I
move/from16 v18, v0
sub-int v7, v7, v18
iget v0, v4, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout$LayoutParams;->bottomMargin:I
move/from16 v18, v0
sub-int v7, v7, v18
div-int/lit8 v7, v7, 0x2
goto :goto_18f
.line 295
:sswitch_1de
sub-int v7, v15, v17
iget v0, v4, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout$LayoutParams;->topMargin:I
move/from16 v18, v0
sub-int v7, v7, v18
iget v0, v4, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout$LayoutParams;->bottomMargin:I
move/from16 v18, v0
sub-int v7, v7, v18
goto :goto_18f
.line 309
:cond_1ed
add-int v4, v12, v15
.line 244
add-int/lit8 v3, v11, 0x1
move v11, v3
move v12, v4
goto/16 :goto_f2
.line 312
:cond_1f5
return-void
:cond_1f6
move v9, v7
move v7, v8
goto/16 :goto_15c
.line 177
:sswitch_data_1fa
.sparse-switch
0x1 -> :sswitch_51
0x5 -> :sswitch_55
.end sparse-switch
.line 227
:sswitch_data_204
.sparse-switch
0x10 -> :sswitch_139
0x50 -> :sswitch_13f
.end sparse-switch
.line 286
:sswitch_data_20e
.sparse-switch
0x10 -> :sswitch_1cd
0x11 -> :sswitch_1cd
0x50 -> :sswitch_1de
.end sparse-switch
.end method
.method protected onMeasure(II)V
.registers 21
.prologue
.line 66
invoke-super/range {p0 .. p2}, Landroid/view/ViewGroup;->onMeasure(II)V
.line 68
invoke-static/range {p1 .. p1}, Landroid/view/View$MeasureSpec;->getSize(I)I
move-result v1
invoke-virtual/range {p0 .. p0}, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout;->getPaddingLeft()I
move-result v2
sub-int/2addr v1, v2
invoke-virtual/range {p0 .. p0}, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout;->getPaddingRight()I
move-result v2
sub-int v8, v1, v2
.line 69
invoke-static/range {p2 .. p2}, Landroid/view/View$MeasureSpec;->getSize(I)I
move-result v10
.line 71
invoke-static/range {p1 .. p1}, Landroid/view/View$MeasureSpec;->getMode(I)I
move-result v15
.line 72
invoke-static/range {p2 .. p2}, Landroid/view/View$MeasureSpec;->getMode(I)I
move-result v16
.line 74
const/4 v13, 0x0
.line 75
invoke-virtual/range {p0 .. p0}, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout;->getPaddingTop()I
move-result v1
invoke-virtual/range {p0 .. p0}, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout;->getPaddingBottom()I
move-result v2
add-int v6, v1, v2
.line 77
const/4 v4, 0x0
.line 78
const/4 v12, 0x0
.line 80
invoke-virtual/range {p0 .. p0}, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout;->getChildCount()I
move-result v17
.line 82
const/4 v1, 0x0
move v14, v1
:goto_31
move/from16 v0, v17
if-ge v14, v0, :cond_d5
.line 84
move-object/from16 v0, p0
invoke-virtual {v0, v14}, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout;->getChildAt(I)Landroid/view/View;
move-result-object v2
.line 85
add-int/lit8 v1, v17, -0x1
if-ne v14, v1, :cond_58
const/4 v1, 0x1
move v7, v1
.line 87
:goto_41
invoke-virtual {v2}, Landroid/view/View;->getVisibility()I
move-result v1
const/16 v3, 0x8
if-ne v1, v3, :cond_5b
.line 89
if-eqz v7, :cond_f9
.line 90
invoke-static {v13, v4}, Ljava/lang/Math;->max(II)I
move-result v1
.line 91
add-int/2addr v6, v12
move v2, v1
move v1, v12
.line 82
:cond_52
:goto_52
add-int/lit8 v3, v14, 0x1
move v14, v3
move v12, v1
move v13, v2
goto :goto_31
.line 85
: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 97
invoke-virtual/range {v1 .. v6}, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout;->measureChildWithMargins(Landroid/view/View;IIII)V
.line 99
invoke-virtual {v2}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
move-result-object v1
check-cast v1, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout$LayoutParams;
.line 101
const/high16 v3, -0x80000000
.line 104
const/high16 v9, -0x80000000
.line 107
iget v5, v1, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout$LayoutParams;->width:I
const/4 v11, -0x1
if-ne v5, v11, :cond_b6
.line 108
const/high16 v5, 0x40000000 # 2.0f
.line 109
iget v3, v1, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout$LayoutParams;->leftMargin:I
iget v11, v1, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout$LayoutParams;->rightMargin:I
add-int/2addr v3, v11
sub-int v3, v8, v3
.line 115
:goto_7c
iget v11, v1, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout$LayoutParams;->height:I
if-ltz v11, :cond_bf
.line 116
const/high16 v11, 0x40000000 # 2.0f
.line 117
iget v9, v1, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout$LayoutParams;->height:I
.line 124
:goto_84
invoke-static {v3, v5}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result v3
.line 125
invoke-static {v9, v11}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result v5
.line 123
invoke-virtual {v2, v3, v5}, Landroid/view/View;->measure(II)V
.line 128
invoke-virtual {v2}, Landroid/view/View;->getMeasuredWidth()I
move-result v3
iget v5, v1, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout$LayoutParams;->leftMargin:I
add-int/2addr v3, v5
iget v5, v1, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout$LayoutParams;->rightMargin:I
add-int/2addr v3, v5
.line 130
add-int v5, v4, v3
if-le v5, v8, :cond_c4
.line 132
invoke-static {v13, v4}, Ljava/lang/Math;->max(II)I
move-result v13
.line 135
add-int/2addr v6, v12
.line 136
invoke-virtual {v2}, Landroid/view/View;->getMeasuredHeight()I
move-result v2
iget v4, v1, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout$LayoutParams;->topMargin:I
add-int/2addr v2, v4
iget v1, v1, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout$LayoutParams;->bottomMargin:I
add-int/2addr v1, v2
move v4, v3
move v2, v13
.line 143
:goto_ae
if-eqz v7, :cond_52
.line 144
invoke-static {v2, v4}, Ljava/lang/Math;->max(II)I
move-result v2
.line 145
add-int/2addr v6, v1
goto :goto_52
.line 110
:cond_b6
iget v5, v1, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout$LayoutParams;->width:I
if-ltz v5, :cond_f6
.line 111
const/high16 v5, 0x40000000 # 2.0f
.line 112
iget v3, v1, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout$LayoutParams;->width:I
goto :goto_7c
.line 118
:cond_bf
if-nez v16, :cond_f3
.line 119
const/4 v11, 0x0
.line 120
const/4 v9, 0x0
goto :goto_84
.line 139
:cond_c4
add-int/2addr v4, v3
.line 140
invoke-virtual {v2}, Landroid/view/View;->getMeasuredHeight()I
move-result v2
iget v3, v1, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout$LayoutParams;->topMargin:I
add-int/2addr v2, v3
iget v1, v1, Lcom/cleanmaster/hpsharelib/base/widget/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 150
:cond_d5
invoke-virtual/range {p0 .. p0}, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout;->getPaddingLeft()I
move-result v1
invoke-virtual/range {p0 .. p0}, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout;->getPaddingRight()I
move-result v2
add-int/2addr v1, v2
add-int/2addr v1, v13
.line 152
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, v10}, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout;->setMeasuredDimension(II)V
.line 155
return-void
:cond_ef
move v8, v1
.line 152
goto :goto_e3
:cond_f1
move v10, v6
goto :goto_e9
:cond_f3
move v11, v9
move v9, v10
goto :goto_84
:cond_f6
move v5, v3
move v3, v8
goto :goto_7c
:cond_f9
move v1, v12
move v2, v13
goto/16 :goto_52
.end method
.method public setGravity(I)V
.registers 4
.annotation build Landroid/annotation/TargetApi;
value = 0xe
.end annotation
.prologue
.line 342
iget v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout;->mGravity:I
if-eq v0, p1, :cond_1f
.line 343
const v0, 0x800007
and-int/2addr v0, p1
if-nez v0, :cond_22
.line 344
invoke-static {}, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout;->isIcs()Z
move-result v0
if-eqz v0, :cond_20
const v0, 0x800003
:goto_13
or-int/2addr v0, p1
.line 347
:goto_14
and-int/lit8 v1, v0, 0x70
if-nez v1, :cond_1a
.line 348
or-int/lit8 v0, v0, 0x30
.line 351
:cond_1a
iput v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout;->mGravity:I
.line 352
invoke-virtual {p0}, Lcom/cleanmaster/hpsharelib/base/widget/FlowLayout;->requestLayout()V
.line 354
:cond_1f
return-void
.line 344
:cond_20
const/4 v0, 0x3
goto :goto_13
:cond_22
move v0, p1
goto :goto_14
.end method