GridLayoutManagerFixed.smali

.class public Landroidx/recyclerview/widget/GridLayoutManagerFixed;
.super Landroidx/recyclerview/widget/GridLayoutManager;
.source "GridLayoutManagerFixed.java"


# instance fields
.field private additionalViews:Ljava/util/ArrayList;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/ArrayList<",
            "Landroid/view/View;",
            ">;"
        }
    .end annotation
.end field

.field private canScrollVertically:Z


# direct methods
.method static constructor <clinit>()V
    .registers 1

    return-void
.end method

.method public constructor <init>(Landroid/content/Context;I)V
    .registers 5
    .param p1, "context"    # Landroid/content/Context;
    .param p2, "spanCount"    # I

    .line 23
    invoke-direct {p0, p1, p2}, Landroidx/recyclerview/widget/GridLayoutManager;-><init>(Landroid/content/Context;I)V

    .line 19
    new-instance v0, Ljava/util/ArrayList;

    const/4 v1, 0x4

    invoke-direct {v0, v1}, Ljava/util/ArrayList;-><init>(I)V

    iput-object v0, p0, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->additionalViews:Ljava/util/ArrayList;

    .line 20
    const/4 v0, 0x1

    iput-boolean v0, p0, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->canScrollVertically:Z

    .line 24
    return-void
.end method

.method public constructor <init>(Landroid/content/Context;IIZ)V
    .registers 7
    .param p1, "context"    # Landroid/content/Context;
    .param p2, "spanCount"    # I
    .param p3, "orientation"    # I
    .param p4, "reverseLayout"    # Z

    .line 27
    invoke-direct {p0, p1, p2, p3, p4}, Landroidx/recyclerview/widget/GridLayoutManager;-><init>(Landroid/content/Context;IIZ)V

    .line 19
    new-instance v0, Ljava/util/ArrayList;

    const/4 v1, 0x4

    invoke-direct {v0, v1}, Ljava/util/ArrayList;-><init>(I)V

    iput-object v0, p0, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->additionalViews:Ljava/util/ArrayList;

    .line 20
    const/4 v0, 0x1

    iput-boolean v0, p0, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->canScrollVertically:Z

    .line 28
    return-void
.end method


# virtual methods
.method protected calculateItemBorders([III)[I
    .registers 7
    .param p1, "cachedBorders"    # [I
    .param p2, "spanCount"    # I
    .param p3, "totalSpace"    # I

    .line 77
    if-eqz p1, :cond_e

    array-length v0, p1

    add-int/lit8 v1, p2, 0x1

    if-ne v0, v1, :cond_e

    array-length v0, p1

    add-int/lit8 v0, v0, -0x1

    aget v0, p1, v0

    if-eq v0, p3, :cond_12

    .line 78
    :cond_e
    add-int/lit8 v0, p2, 0x1

    new-array p1, v0, [I

    .line 80
    :cond_12
    const/4 v0, 0x0

    aput v0, p1, v0

    .line 81
    const/4 v0, 0x1

    .local v0, "i":I
    :goto_16
    if-gt v0, p2, :cond_29

    .line 82
    int-to-float v1, v0

    int-to-float v2, p2

    div-float/2addr v1, v2

    int-to-float v2, p3

    mul-float v1, v1, v2

    float-to-double v1, v1

    invoke-static {v1, v2}, Ljava/lang/Math;->ceil(D)D

    move-result-wide v1

    double-to-int v1, v1

    aput v1, p1, v0

    .line 81
    add-int/lit8 v0, v0, 0x1

    goto :goto_16

    .line 84
    .end local v0    # "i":I
    :cond_29
    return-object p1
.end method

.method public canScrollVertically()Z
    .registers 2

    .line 40
    iget-boolean v0, p0, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->canScrollVertically:Z

    return v0
.end method

.method protected hasSiblingChild(I)Z
    .registers 3
    .param p1, "position"    # I

    .line 31
    const/4 v0, 0x0

    return v0
.end method

.method layoutChunk(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;Landroidx/recyclerview/widget/LinearLayoutManager$LayoutChunkResult;)V
    .registers 34
    .param p1, "recycler"    # Landroidx/recyclerview/widget/RecyclerView$Recycler;
    .param p2, "state"    # Landroidx/recyclerview/widget/RecyclerView$State;
    .param p3, "layoutState"    # Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
    .param p4, "result"    # Landroidx/recyclerview/widget/LinearLayoutManager$LayoutChunkResult;

    .line 109
    move-object/from16 v6, p0

    move-object/from16 v7, p1

    move-object/from16 v8, p2

    move-object/from16 v9, p3

    move-object/from16 v10, p4

    iget-object v0, v6, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;

    invoke-virtual {v0}, Landroidx/recyclerview/widget/OrientationHelper;->getModeInOther()I

    move-result v11

    .line 111
    .local v11, "otherDirSpecMode":I
    iget v0, v9, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mItemDirection:I

    const/4 v12, 0x0

    const/4 v13, 0x1

    if-ne v0, v13, :cond_18

    const/4 v0, 0x1

    goto :goto_19

    :cond_18
    const/4 v0, 0x0

    :goto_19
    move v14, v0

    .line 112
    .local v14, "layingOutInPrimaryDirection":Z
    const/4 v0, 0x1

    .line 113
    .local v0, "working":Z
    iput v12, v10, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutChunkResult;->mConsumed:I

    .line 114
    const/4 v15, 0x0

    .line 116
    .local v15, "yOffset":I
    iget v5, v9, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mCurrentPosition:I

    .line 117
    .local v5, "startPosition":I
    iget v1, v9, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mLayoutDirection:I

    const/4 v4, -0x1

    if-eq v1, v4, :cond_7c

    iget v1, v9, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mCurrentPosition:I

    invoke-virtual {v6, v1}, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->hasSiblingChild(I)Z

    move-result v1

    if-eqz v1, :cond_7c

    iget v1, v9, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mCurrentPosition:I

    add-int/2addr v1, v13

    invoke-virtual {v6, v1}, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->findViewByPosition(I)Landroid/view/View;

    move-result-object v1

    if-nez v1, :cond_7c

    .line 118
    iget v1, v9, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mCurrentPosition:I

    add-int/2addr v1, v13

    invoke-virtual {v6, v1}, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->hasSiblingChild(I)Z

    move-result v1

    if-eqz v1, :cond_46

    .line 119
    iget v1, v9, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mCurrentPosition:I

    add-int/lit8 v1, v1, 0x3

    iput v1, v9, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mCurrentPosition:I

    goto :goto_4c

    .line 121
    :cond_46
    iget v1, v9, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mCurrentPosition:I

    add-int/lit8 v1, v1, 0x2

    iput v1, v9, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mCurrentPosition:I

    .line 123
    :goto_4c
    iget v1, v9, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mCurrentPosition:I

    .line 124
    .local v1, "backupPosition":I
    iget v2, v9, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mCurrentPosition:I

    .local v2, "a":I
    :goto_50
    if-le v2, v5, :cond_7a

    .line 125
    invoke-virtual {v9, v7}, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->next(Landroidx/recyclerview/widget/RecyclerView$Recycler;)Landroid/view/View;

    move-result-object v3

    .line 126
    .local v3, "view":Landroid/view/View;
    iget-object v4, v6, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->additionalViews:Ljava/util/ArrayList;

    invoke-virtual {v4, v3}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z

    .line 127
    if-eq v2, v1, :cond_75

    .line 128
    iget-object v4, v6, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->mDecorInsets:Landroid/graphics/Rect;

    invoke-virtual {v6, v3, v4}, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->calculateItemDecorationsForChild(Landroid/view/View;Landroid/graphics/Rect;)V

    .line 129
    invoke-virtual {v6, v3, v11, v12}, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->measureChild(Landroid/view/View;IZ)V

    .line 130
    iget-object v4, v6, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;

    invoke-virtual {v4, v3}, Landroidx/recyclerview/widget/OrientationHelper;->getDecoratedMeasurement(Landroid/view/View;)I

    move-result v4

    .line 131
    .local v4, "size":I
    iget v12, v9, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mOffset:I

    sub-int/2addr v12, v4

    iput v12, v9, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mOffset:I

    .line 132
    iget v12, v9, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mAvailable:I

    add-int/2addr v12, v4

    iput v12, v9, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mAvailable:I

    .line 124
    .end local v3    # "view":Landroid/view/View;
    .end local v4    # "size":I
    :cond_75
    add-int/lit8 v2, v2, -0x1

    const/4 v4, -0x1

    const/4 v12, 0x0

    goto :goto_50

    .line 135
    .end local v2    # "a":I
    :cond_7a
    iput v1, v9, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mCurrentPosition:I

    .line 138
    .end local v1    # "backupPosition":I
    :cond_7c
    :goto_7c
    if-eqz v0, :cond_2fb

    .line 139
    const/4 v1, 0x0

    .line 140
    .local v1, "count":I
    const/4 v2, 0x0

    .line 141
    .local v2, "consumedSpanCount":I
    iget v3, v6, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->mSpanCount:I

    .line 143
    .local v3, "remainingSpan":I
    iget-object v4, v6, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->additionalViews:Ljava/util/ArrayList;

    invoke-virtual {v4}, Ljava/util/ArrayList;->isEmpty()Z

    move-result v4

    xor-int/2addr v4, v13

    move v0, v4

    .line 144
    iget v12, v9, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mCurrentPosition:I

    move/from16 v18, v0

    move v4, v1

    move/from16 v19, v2

    .line 146
    .end local v0    # "working":Z
    .end local v1    # "count":I
    .end local v2    # "consumedSpanCount":I
    .local v4, "count":I
    .local v12, "firstPositionStart":I
    .local v18, "working":Z
    .local v19, "consumedSpanCount":I
    :goto_91
    iget v0, v6, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->mSpanCount:I

    if-ge v4, v0, :cond_ea

    invoke-virtual {v9, v8}, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->hasMore(Landroidx/recyclerview/widget/RecyclerView$State;)Z

    move-result v0

    if-eqz v0, :cond_ea

    if-lez v3, :cond_ea

    .line 147
    iget v0, v9, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mCurrentPosition:I

    .line 148
    .local v0, "pos":I
    invoke-virtual {v6, v7, v8, v0}, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->getSpanSize(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;I)I

    move-result v1

    .line 150
    .local v1, "spanSize":I
    sub-int/2addr v3, v1

    .line 151
    if-gez v3, :cond_a7

    .line 152
    goto :goto_ea

    .line 155
    :cond_a7
    iget-object v2, v6, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->additionalViews:Ljava/util/ArrayList;

    invoke-virtual {v2}, Ljava/util/ArrayList;->isEmpty()Z

    move-result v2

    if-nez v2, :cond_c8

    .line 156
    iget-object v2, v6, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->additionalViews:Ljava/util/ArrayList;

    const/4 v13, 0x0

    invoke-virtual {v2, v13}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;

    move-result-object v2

    check-cast v2, Landroid/view/View;

    .line 157
    .local v2, "view":Landroid/view/View;
    move-object/from16 v20, v2

    .end local v2    # "view":Landroid/view/View;
    .local v20, "view":Landroid/view/View;
    iget-object v2, v6, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->additionalViews:Ljava/util/ArrayList;

    invoke-virtual {v2, v13}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object;

    .line 158
    iget v2, v9, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mCurrentPosition:I

    const/4 v13, 0x1

    sub-int/2addr v2, v13

    iput v2, v9, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mCurrentPosition:I

    move-object/from16 v2, v20

    goto :goto_cc

    .line 160
    .end local v20    # "view":Landroid/view/View;
    :cond_c8
    invoke-virtual {v9, v7}, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->next(Landroidx/recyclerview/widget/RecyclerView$Recycler;)Landroid/view/View;

    move-result-object v2

    .line 162
    .restart local v2    # "view":Landroid/view/View;
    :goto_cc
    if-nez v2, :cond_cf

    .line 163
    goto :goto_ea

    .line 165
    :cond_cf
    add-int v19, v19, v1

    .line 166
    iget-object v13, v6, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->mSet:[Landroid/view/View;

    aput-object v2, v13, v4

    .line 167
    add-int/lit8 v4, v4, 0x1

    .line 168
    iget v13, v9, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mLayoutDirection:I

    move/from16 v20, v1

    const/4 v1, -0x1

    .end local v1    # "spanSize":I
    .local v20, "spanSize":I
    if-ne v13, v1, :cond_e8

    if-gtz v3, :cond_e8

    invoke-virtual {v6, v0}, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->hasSiblingChild(I)Z

    move-result v1

    if-eqz v1, :cond_e8

    .line 169
    const/16 v18, 0x1

    .line 171
    .end local v0    # "pos":I
    .end local v2    # "view":Landroid/view/View;
    .end local v20    # "spanSize":I
    :cond_e8
    const/4 v13, 0x1

    goto :goto_91

    .line 173
    :cond_ea
    :goto_ea
    move v13, v3

    .end local v3    # "remainingSpan":I
    .local v13, "remainingSpan":I
    if-nez v4, :cond_f1

    .line 174
    const/4 v0, 0x1

    iput-boolean v0, v10, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutChunkResult;->mFinished:Z

    .line 175
    return-void

    .line 178
    :cond_f1
    const/4 v0, 0x0

    .line 179
    .local v0, "maxSize":I
    const/4 v1, 0x0

    .line 181
    .local v1, "maxSizeInOther":F
    invoke-virtual {v6, v7, v8, v4, v14}, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->assignSpans(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;IZ)V

    .line 182
    const/4 v2, 0x0

    move v3, v0

    move/from16 v20, v1

    .end local v0    # "maxSize":I
    .end local v1    # "maxSizeInOther":F
    .local v2, "i":I
    .local v3, "maxSize":I
    .local v20, "maxSizeInOther":F
    :goto_fa
    if-ge v2, v4, :cond_155

    .line 183
    iget-object v0, v6, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->mSet:[Landroid/view/View;

    aget-object v0, v0, v2

    .line 184
    .local v0, "view":Landroid/view/View;
    iget-object v1, v9, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mScrapList:Ljava/util/List;

    if-nez v1, :cond_110

    .line 185
    if-eqz v14, :cond_10b

    .line 186
    invoke-virtual {v6, v0}, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->addView(Landroid/view/View;)V

    const/4 v1, 0x0

    goto :goto_11a

    .line 188
    :cond_10b
    const/4 v1, 0x0

    invoke-virtual {v6, v0, v1}, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->addView(Landroid/view/View;I)V

    goto :goto_11a

    .line 191
    :cond_110
    const/4 v1, 0x0

    if-eqz v14, :cond_117

    .line 192
    invoke-virtual {v6, v0}, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->addDisappearingView(Landroid/view/View;)V

    goto :goto_11a

    .line 194
    :cond_117
    invoke-virtual {v6, v0, v1}, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->addDisappearingView(Landroid/view/View;I)V

    .line 197
    :goto_11a
    iget-object v1, v6, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->mDecorInsets:Landroid/graphics/Rect;

    invoke-virtual {v6, v0, v1}, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->calculateItemDecorationsForChild(Landroid/view/View;Landroid/graphics/Rect;)V

    .line 199
    const/4 v1, 0x0

    invoke-virtual {v6, v0, v11, v1}, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->measureChild(Landroid/view/View;IZ)V

    .line 200
    iget-object v1, v6, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;

    invoke-virtual {v1, v0}, Landroidx/recyclerview/widget/OrientationHelper;->getDecoratedMeasurement(Landroid/view/View;)I

    move-result v1

    .line 201
    .local v1, "size":I
    if-le v1, v3, :cond_12c

    .line 202
    move v3, v1

    .line 204
    :cond_12c
    invoke-virtual {v0}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;

    move-result-object v21

    move/from16 v22, v1

    .end local v1    # "size":I
    .local v22, "size":I
    move-object/from16 v1, v21

    check-cast v1, Landroidx/recyclerview/widget/GridLayoutManager$LayoutParams;

    .line 205
    .local v1, "lp":Landroidx/recyclerview/widget/GridLayoutManager$LayoutParams;
    const/high16 v21, 0x3f800000    # 1.0f

    move/from16 v23, v3

    .end local v3    # "maxSize":I
    .local v23, "maxSize":I
    iget-object v3, v6, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;

    invoke-virtual {v3, v0}, Landroidx/recyclerview/widget/OrientationHelper;->getDecoratedMeasurementInOther(Landroid/view/View;)I

    move-result v3

    int-to-float v3, v3

    mul-float v3, v3, v21

    move-object/from16 v21, v0

    .end local v0    # "view":Landroid/view/View;
    .local v21, "view":Landroid/view/View;
    iget v0, v1, Landroidx/recyclerview/widget/GridLayoutManager$LayoutParams;->mSpanSize:I

    int-to-float v0, v0

    div-float/2addr v3, v0

    .line 206
    .local v3, "otherSize":F
    cmpl-float v0, v3, v20

    if-lez v0, :cond_150

    .line 207
    move v0, v3

    move/from16 v20, v0

    .line 182
    .end local v1    # "lp":Landroidx/recyclerview/widget/GridLayoutManager$LayoutParams;
    .end local v3    # "otherSize":F
    .end local v21    # "view":Landroid/view/View;
    .end local v22    # "size":I
    :cond_150
    add-int/lit8 v2, v2, 0x1

    move/from16 v3, v23

    goto :goto_fa

    .line 213
    .end local v2    # "i":I
    .end local v23    # "maxSize":I
    .local v3, "maxSize":I
    :cond_155
    const/4 v0, 0x0

    .local v0, "i":I
    :goto_156
    if-ge v0, v4, :cond_1b9

    .line 214
    iget-object v1, v6, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->mSet:[Landroid/view/View;

    aget-object v1, v1, v0

    .line 215
    .local v1, "view":Landroid/view/View;
    iget-object v2, v6, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;

    invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/OrientationHelper;->getDecoratedMeasurement(Landroid/view/View;)I

    move-result v2

    if-eq v2, v3, :cond_1a6

    .line 216
    invoke-virtual {v1}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;

    move-result-object v2

    check-cast v2, Landroidx/recyclerview/widget/GridLayoutManager$LayoutParams;

    .line 217
    .local v2, "lp":Landroidx/recyclerview/widget/GridLayoutManager$LayoutParams;
    move/from16 v21, v5

    .end local v5    # "startPosition":I
    .local v21, "startPosition":I
    iget-object v5, v2, Landroidx/recyclerview/widget/GridLayoutManager$LayoutParams;->mDecorInsets:Landroid/graphics/Rect;

    .line 218
    .local v5, "decorInsets":Landroid/graphics/Rect;
    iget v7, v5, Landroid/graphics/Rect;->top:I

    iget v8, v5, Landroid/graphics/Rect;->bottom:I

    add-int/2addr v7, v8

    iget v8, v2, Landroidx/recyclerview/widget/GridLayoutManager$LayoutParams;->topMargin:I

    add-int/2addr v7, v8

    iget v8, v2, Landroidx/recyclerview/widget/GridLayoutManager$LayoutParams;->bottomMargin:I

    add-int/2addr v7, v8

    .line 219
    .local v7, "verticalInsets":I
    iget v8, v5, Landroid/graphics/Rect;->left:I

    move/from16 v22, v11

    .end local v11    # "otherDirSpecMode":I
    .local v22, "otherDirSpecMode":I
    iget v11, v5, Landroid/graphics/Rect;->right:I

    add-int/2addr v8, v11

    iget v11, v2, Landroidx/recyclerview/widget/GridLayoutManager$LayoutParams;->leftMargin:I

    add-int/2addr v8, v11

    iget v11, v2, Landroidx/recyclerview/widget/GridLayoutManager$LayoutParams;->rightMargin:I

    add-int/2addr v8, v11

    .line 220
    .local v8, "horizontalInsets":I
    iget-object v11, v6, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->mCachedBorders:[I

    move-object/from16 v23, v5

    .end local v5    # "decorInsets":Landroid/graphics/Rect;
    .local v23, "decorInsets":Landroid/graphics/Rect;
    iget v5, v2, Landroidx/recyclerview/widget/GridLayoutManager$LayoutParams;->mSpanSize:I

    aget v5, v11, v5

    .line 222
    .local v5, "totalSpaceInOther":I
    iget v11, v2, Landroidx/recyclerview/widget/GridLayoutManager$LayoutParams;->width:I

    move-object/from16 v24, v2

    .end local v2    # "lp":Landroidx/recyclerview/widget/GridLayoutManager$LayoutParams;
    .local v24, "lp":Landroidx/recyclerview/widget/GridLayoutManager$LayoutParams;
    const/high16 v2, 0x40000000    # 2.0f

    move/from16 v25, v12

    const/4 v12, 0x0

    .end local v12    # "firstPositionStart":I
    .local v25, "firstPositionStart":I
    invoke-static {v5, v2, v8, v11, v12}, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->getChildMeasureSpec(IIIIZ)I

    move-result v11

    .line 223
    .local v11, "wSpec":I
    sub-int v12, v3, v7

    invoke-static {v12, v2}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I

    move-result v2

    .line 225
    .local v2, "hSpec":I
    const/4 v12, 0x1

    invoke-virtual {v6, v1, v11, v2, v12}, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->measureChildWithDecorationsAndMargin(Landroid/view/View;IIZ)V

    goto :goto_1ac

    .line 215
    .end local v2    # "hSpec":I
    .end local v7    # "verticalInsets":I
    .end local v8    # "horizontalInsets":I
    .end local v21    # "startPosition":I
    .end local v22    # "otherDirSpecMode":I
    .end local v23    # "decorInsets":Landroid/graphics/Rect;
    .end local v24    # "lp":Landroidx/recyclerview/widget/GridLayoutManager$LayoutParams;
    .end local v25    # "firstPositionStart":I
    .local v5, "startPosition":I
    .local v11, "otherDirSpecMode":I
    .restart local v12    # "firstPositionStart":I
    :cond_1a6
    move/from16 v21, v5

    move/from16 v22, v11

    move/from16 v25, v12

    .line 213
    .end local v1    # "view":Landroid/view/View;
    .end local v5    # "startPosition":I
    .end local v11    # "otherDirSpecMode":I
    .end local v12    # "firstPositionStart":I
    .restart local v21    # "startPosition":I
    .restart local v22    # "otherDirSpecMode":I
    .restart local v25    # "firstPositionStart":I
    :goto_1ac
    add-int/lit8 v0, v0, 0x1

    move-object/from16 v7, p1

    move-object/from16 v8, p2

    move/from16 v5, v21

    move/from16 v11, v22

    move/from16 v12, v25

    goto :goto_156

    .end local v21    # "startPosition":I
    .end local v22    # "otherDirSpecMode":I
    .end local v25    # "firstPositionStart":I
    .restart local v5    # "startPosition":I
    .restart local v11    # "otherDirSpecMode":I
    .restart local v12    # "firstPositionStart":I
    :cond_1b9
    move/from16 v21, v5

    move/from16 v22, v11

    move/from16 v25, v12

    .line 231
    .end local v0    # "i":I
    .end local v5    # "startPosition":I
    .end local v11    # "otherDirSpecMode":I
    .end local v12    # "firstPositionStart":I
    .restart local v21    # "startPosition":I
    .restart local v22    # "otherDirSpecMode":I
    .restart local v25    # "firstPositionStart":I
    iget-object v0, v6, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->mSet:[Landroid/view/View;

    const/4 v7, 0x0

    aget-object v0, v0, v7

    invoke-virtual {v6, v0}, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->shouldLayoutChildFromOpositeSide(Landroid/view/View;)Z

    move-result v8

    .line 232
    .local v8, "fromOpositeSide":Z
    if-eqz v8, :cond_1cf

    iget v0, v9, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mLayoutDirection:I

    const/4 v1, -0x1

    if-eq v0, v1, :cond_1d6

    :cond_1cf
    if-nez v8, :cond_261

    iget v0, v9, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mLayoutDirection:I

    const/4 v1, 0x1

    if-ne v0, v1, :cond_261

    .line 233
    :cond_1d6
    iget v0, v9, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mLayoutDirection:I

    const/4 v5, -0x1

    if-ne v0, v5, :cond_1e6

    .line 234
    iget v0, v9, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mOffset:I

    iget v1, v10, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutChunkResult;->mConsumed:I

    sub-int/2addr v0, v1

    .line 235
    .local v0, "bottom":I
    sub-int v1, v0, v3

    .line 236
    .local v1, "top":I
    const/4 v2, 0x0

    move v11, v0

    move v12, v1

    .local v2, "left":I
    goto :goto_1f3

    .line 238
    .end local v0    # "bottom":I
    .end local v1    # "top":I
    .end local v2    # "left":I
    :cond_1e6
    iget v0, v9, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mOffset:I

    iget v1, v10, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutChunkResult;->mConsumed:I

    add-int/2addr v1, v0

    .line 239
    .restart local v1    # "top":I
    add-int v0, v1, v3

    .line 240
    .restart local v0    # "bottom":I
    invoke-virtual/range {p0 .. p0}, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->getWidth()I

    move-result v2

    move v11, v0

    move v12, v1

    .line 242
    .end local v0    # "bottom":I
    .end local v1    # "top":I
    .restart local v2    # "left":I
    .local v11, "bottom":I
    .local v12, "top":I
    :goto_1f3
    add-int/lit8 v0, v4, -0x1

    move/from16 v16, v0

    .local v16, "i":I
    :goto_1f7
    if-ltz v16, :cond_258

    .line 243
    iget-object v0, v6, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->mSet:[Landroid/view/View;

    aget-object v1, v0, v16

    .line 244
    .local v1, "view":Landroid/view/View;
    invoke-virtual {v1}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;

    move-result-object v0

    move-object/from16 v17, v0

    check-cast v17, Landroidx/recyclerview/widget/GridLayoutManager$LayoutParams;

    .line 246
    .local v17, "params":Landroidx/recyclerview/widget/GridLayoutManager$LayoutParams;
    iget-object v0, v6, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;

    invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/OrientationHelper;->getDecoratedMeasurementInOther(Landroid/view/View;)I

    move-result v23

    .line 247
    .local v23, "right":I
    iget v0, v9, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mLayoutDirection:I

    const/4 v5, 0x1

    if-ne v0, v5, :cond_215

    .line 248
    sub-int v2, v2, v23

    move/from16 v26, v2

    goto :goto_217

    .line 247
    :cond_215
    move/from16 v26, v2

    .line 250
    .end local v2    # "left":I
    .local v26, "left":I
    :goto_217
    add-int v5, v26, v23

    move-object/from16 v0, p0

    move-object/from16 v27, v1

    .end local v1    # "view":Landroid/view/View;
    .local v27, "view":Landroid/view/View;
    move/from16 v2, v26

    move/from16 v28, v3

    .end local v3    # "maxSize":I
    .local v28, "maxSize":I
    move v3, v12

    move v7, v4

    move/from16 v24, v8

    const/4 v8, -0x1

    .end local v4    # "count":I
    .end local v8    # "fromOpositeSide":Z
    .local v7, "count":I
    .local v24, "fromOpositeSide":Z
    move v4, v5

    move v5, v11

    invoke-virtual/range {v0 .. v5}, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->layoutDecoratedWithMargins(Landroid/view/View;IIII)V

    .line 251
    iget v0, v9, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mLayoutDirection:I

    if-ne v0, v8, :cond_234

    .line 252
    add-int v26, v26, v23

    move/from16 v2, v26

    goto :goto_236

    .line 251
    :cond_234
    move/from16 v2, v26

    .line 254
    .end local v26    # "left":I
    .restart local v2    # "left":I
    :goto_236
    invoke-virtual/range {v17 .. v17}, Landroidx/recyclerview/widget/GridLayoutManager$LayoutParams;->isItemRemoved()Z

    move-result v0

    if-nez v0, :cond_242

    invoke-virtual/range {v17 .. v17}, Landroidx/recyclerview/widget/GridLayoutManager$LayoutParams;->isItemChanged()Z

    move-result v0

    if-eqz v0, :cond_245

    .line 255
    :cond_242
    const/4 v0, 0x1

    iput-boolean v0, v10, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutChunkResult;->mIgnoreConsumed:Z

    .line 257
    :cond_245
    iget-boolean v0, v10, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutChunkResult;->mFocusable:Z

    invoke-virtual/range {v27 .. v27}, Landroid/view/View;->hasFocusable()Z

    move-result v1

    or-int/2addr v0, v1

    iput-boolean v0, v10, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutChunkResult;->mFocusable:Z

    .line 242
    .end local v17    # "params":Landroidx/recyclerview/widget/GridLayoutManager$LayoutParams;
    .end local v27    # "view":Landroid/view/View;
    add-int/lit8 v16, v16, -0x1

    move v4, v7

    move/from16 v8, v24

    move/from16 v3, v28

    const/4 v5, -0x1

    const/4 v7, 0x0

    goto :goto_1f7

    .end local v7    # "count":I
    .end local v23    # "right":I
    .end local v24    # "fromOpositeSide":Z
    .end local v28    # "maxSize":I
    .restart local v3    # "maxSize":I
    .restart local v4    # "count":I
    .restart local v8    # "fromOpositeSide":Z
    :cond_258
    move/from16 v28, v3

    move v7, v4

    move/from16 v24, v8

    const/4 v8, -0x1

    .end local v3    # "maxSize":I
    .end local v4    # "count":I
    .end local v8    # "fromOpositeSide":Z
    .restart local v7    # "count":I
    .restart local v24    # "fromOpositeSide":Z
    .restart local v28    # "maxSize":I
    const/4 v1, 0x1

    .end local v16    # "i":I
    goto/16 :goto_2e2

    .line 232
    .end local v2    # "left":I
    .end local v7    # "count":I
    .end local v11    # "bottom":I
    .end local v12    # "top":I
    .end local v24    # "fromOpositeSide":Z
    .end local v28    # "maxSize":I
    .restart local v3    # "maxSize":I
    .restart local v4    # "count":I
    .restart local v8    # "fromOpositeSide":Z
    :cond_261
    move/from16 v28, v3

    move v7, v4

    move/from16 v24, v8

    const/4 v8, -0x1

    .line 260
    .end local v3    # "maxSize":I
    .end local v4    # "count":I
    .end local v8    # "fromOpositeSide":Z
    .restart local v7    # "count":I
    .restart local v24    # "fromOpositeSide":Z
    .restart local v28    # "maxSize":I
    iget v0, v9, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mLayoutDirection:I

    if-ne v0, v8, :cond_279

    .line 261
    iget v0, v9, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mOffset:I

    iget v1, v10, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutChunkResult;->mConsumed:I

    sub-int/2addr v0, v1

    .line 262
    .restart local v0    # "bottom":I
    sub-int v1, v0, v28

    .line 263
    .local v1, "top":I
    invoke-virtual/range {p0 .. p0}, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->getWidth()I

    move-result v2

    move v11, v0

    move v12, v1

    .restart local v2    # "left":I
    goto :goto_283

    .line 265
    .end local v0    # "bottom":I
    .end local v1    # "top":I
    .end local v2    # "left":I
    :cond_279
    iget v0, v9, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mOffset:I

    iget v1, v10, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutChunkResult;->mConsumed:I

    add-int/2addr v0, v1

    .line 266
    .local v0, "top":I
    add-int v3, v0, v28

    .line 267
    .local v3, "bottom":I
    const/4 v2, 0x0

    move v12, v0

    move v11, v3

    .line 269
    .end local v0    # "top":I
    .end local v3    # "bottom":I
    .restart local v2    # "left":I
    .restart local v11    # "bottom":I
    .restart local v12    # "top":I
    :goto_283
    const/4 v0, 0x0

    move v5, v0

    .local v5, "i":I
    :goto_285
    if-ge v5, v7, :cond_2df

    .line 270
    iget-object v0, v6, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->mSet:[Landroid/view/View;

    aget-object v4, v0, v5

    .line 271
    .local v4, "view":Landroid/view/View;
    invoke-virtual {v4}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;

    move-result-object v0

    move-object/from16 v16, v0

    check-cast v16, Landroidx/recyclerview/widget/GridLayoutManager$LayoutParams;

    .line 273
    .local v16, "params":Landroidx/recyclerview/widget/GridLayoutManager$LayoutParams;
    iget-object v0, v6, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;

    invoke-virtual {v0, v4}, Landroidx/recyclerview/widget/OrientationHelper;->getDecoratedMeasurementInOther(Landroid/view/View;)I

    move-result v17

    .line 274
    .local v17, "right":I
    iget v0, v9, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mLayoutDirection:I

    if-ne v0, v8, :cond_2a2

    .line 275
    sub-int v2, v2, v17

    move/from16 v23, v2

    goto :goto_2a4

    .line 274
    :cond_2a2
    move/from16 v23, v2

    .line 277
    .end local v2    # "left":I
    .local v23, "left":I
    :goto_2a4
    add-int v26, v23, v17

    move-object/from16 v0, p0

    move-object v1, v4

    move/from16 v2, v23

    move v3, v12

    move-object/from16 v27, v4

    .end local v4    # "view":Landroid/view/View;
    .restart local v27    # "view":Landroid/view/View;
    move/from16 v4, v26

    move/from16 v26, v5

    .end local v5    # "i":I
    .local v26, "i":I
    move v5, v11

    invoke-virtual/range {v0 .. v5}, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->layoutDecoratedWithMargins(Landroid/view/View;IIII)V

    .line 278
    iget v0, v9, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mLayoutDirection:I

    if-eq v0, v8, :cond_2bf

    .line 279
    add-int v23, v23, v17

    move/from16 v2, v23

    goto :goto_2c1

    .line 278
    :cond_2bf
    move/from16 v2, v23

    .line 281
    .end local v23    # "left":I
    .restart local v2    # "left":I
    :goto_2c1
    invoke-virtual/range {v16 .. v16}, Landroidx/recyclerview/widget/GridLayoutManager$LayoutParams;->isItemRemoved()Z

    move-result v0

    if-nez v0, :cond_2d0

    invoke-virtual/range {v16 .. v16}, Landroidx/recyclerview/widget/GridLayoutManager$LayoutParams;->isItemChanged()Z

    move-result v0

    if-eqz v0, :cond_2ce

    goto :goto_2d0

    :cond_2ce
    const/4 v1, 0x1

    goto :goto_2d3

    .line 282
    :cond_2d0
    :goto_2d0
    const/4 v1, 0x1

    iput-boolean v1, v10, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutChunkResult;->mIgnoreConsumed:Z

    .line 284
    :goto_2d3
    iget-boolean v0, v10, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutChunkResult;->mFocusable:Z

    invoke-virtual/range {v27 .. v27}, Landroid/view/View;->hasFocusable()Z

    move-result v3

    or-int/2addr v0, v3

    iput-boolean v0, v10, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutChunkResult;->mFocusable:Z

    .line 269
    .end local v16    # "params":Landroidx/recyclerview/widget/GridLayoutManager$LayoutParams;
    .end local v27    # "view":Landroid/view/View;
    add-int/lit8 v5, v26, 0x1

    .end local v26    # "i":I
    .restart local v5    # "i":I
    goto :goto_285

    .end local v17    # "right":I
    :cond_2df
    move/from16 v26, v5

    const/4 v1, 0x1

    .line 287
    .end local v5    # "i":I
    :goto_2e2
    iget v0, v10, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutChunkResult;->mConsumed:I

    add-int v0, v0, v28

    iput v0, v10, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutChunkResult;->mConsumed:I

    .line 288
    iget-object v0, v6, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->mSet:[Landroid/view/View;

    const/4 v3, 0x0

    invoke-static {v0, v3}, Ljava/util/Arrays;->fill([Ljava/lang/Object;Ljava/lang/Object;)V

    .line 289
    .end local v2    # "left":I
    .end local v7    # "count":I
    .end local v11    # "bottom":I
    .end local v12    # "top":I
    .end local v13    # "remainingSpan":I
    .end local v19    # "consumedSpanCount":I
    .end local v20    # "maxSizeInOther":F
    .end local v24    # "fromOpositeSide":Z
    .end local v25    # "firstPositionStart":I
    .end local v28    # "maxSize":I
    move-object/from16 v7, p1

    move-object/from16 v8, p2

    move/from16 v0, v18

    move/from16 v5, v21

    move/from16 v11, v22

    const/4 v13, 0x1

    goto/16 :goto_7c

    .line 290
    .end local v18    # "working":Z
    .end local v21    # "startPosition":I
    .end local v22    # "otherDirSpecMode":I
    .local v0, "working":Z
    .local v5, "startPosition":I
    .local v11, "otherDirSpecMode":I
    :cond_2fb
    return-void
.end method

.method protected measureChild(Landroid/view/View;IZ)V
    .registers 14
    .param p1, "view"    # Landroid/view/View;
    .param p2, "otherDirParentSpecMode"    # I
    .param p3, "alreadyMeasured"    # Z

    .line 93
    invoke-virtual {p1}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;

    move-result-object v0

    check-cast v0, Landroidx/recyclerview/widget/GridLayoutManager$LayoutParams;

    .line 94
    .local v0, "lp":Landroidx/recyclerview/widget/GridLayoutManager$LayoutParams;
    iget-object v1, v0, Landroidx/recyclerview/widget/GridLayoutManager$LayoutParams;->mDecorInsets:Landroid/graphics/Rect;

    .line 95
    .local v1, "decorInsets":Landroid/graphics/Rect;
    iget v2, v1, Landroid/graphics/Rect;->top:I

    iget v3, v1, Landroid/graphics/Rect;->bottom:I

    add-int/2addr v2, v3

    iget v3, v0, Landroidx/recyclerview/widget/GridLayoutManager$LayoutParams;->topMargin:I

    add-int/2addr v2, v3

    iget v3, v0, Landroidx/recyclerview/widget/GridLayoutManager$LayoutParams;->bottomMargin:I

    add-int/2addr v2, v3

    .line 97
    .local v2, "verticalInsets":I
    iget v3, v1, Landroid/graphics/Rect;->left:I

    iget v4, v1, Landroid/graphics/Rect;->right:I

    add-int/2addr v3, v4

    iget v4, v0, Landroidx/recyclerview/widget/GridLayoutManager$LayoutParams;->leftMargin:I

    add-int/2addr v3, v4

    iget v4, v0, Landroidx/recyclerview/widget/GridLayoutManager$LayoutParams;->rightMargin:I

    add-int/2addr v3, v4

    .line 99
    .local v3, "horizontalInsets":I
    iget-object v4, p0, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->mCachedBorders:[I

    iget v5, v0, Landroidx/recyclerview/widget/GridLayoutManager$LayoutParams;->mSpanSize:I

    aget v4, v4, v5

    .line 100
    .local v4, "availableSpaceInOther":I
    iget v5, v0, Landroidx/recyclerview/widget/GridLayoutManager$LayoutParams;->width:I

    const/4 v6, 0x0

    invoke-static {v4, p2, v3, v5, v6}, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->getChildMeasureSpec(IIIIZ)I

    move-result v5

    .line 102
    .local v5, "wSpec":I
    iget-object v6, p0, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;

    invoke-virtual {v6}, Landroidx/recyclerview/widget/OrientationHelper;->getTotalSpace()I

    move-result v6

    invoke-virtual {p0}, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->getHeightMode()I

    move-result v7

    iget v8, v0, Landroidx/recyclerview/widget/GridLayoutManager$LayoutParams;->height:I

    const/4 v9, 0x1

    invoke-static {v6, v7, v2, v8, v9}, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->getChildMeasureSpec(IIIIZ)I

    move-result v6

    .line 104
    .local v6, "hSpec":I
    invoke-virtual {p0, p1, v5, v6, p3}, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->measureChildWithDecorationsAndMargin(Landroid/view/View;IIZ)V

    .line 105
    return-void
.end method

.method protected recycleViewsFromStart(Landroidx/recyclerview/widget/RecyclerView$Recycler;II)V
    .registers 10
    .param p1, "recycler"    # Landroidx/recyclerview/widget/RecyclerView$Recycler;
    .param p2, "scrollingOffset"    # I
    .param p3, "noRecycleSpace"    # I

    .line 46
    if-gez p2, :cond_3

    .line 47
    return-void

    .line 50
    :cond_3
    invoke-virtual {p0}, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->getChildCount()I

    move-result v0

    .line 51
    .local v0, "childCount":I
    iget-boolean v1, p0, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->mShouldReverseLayout:Z

    if-eqz v1, :cond_38

    .line 52
    add-int/lit8 v1, v0, -0x1

    .local v1, "i":I
    :goto_d
    if-ltz v1, :cond_37

    .line 53
    invoke-virtual {p0, v1}, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->getChildAt(I)Landroid/view/View;

    move-result-object v2

    .line 54
    .local v2, "child":Landroid/view/View;
    invoke-virtual {v2}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;

    move-result-object v3

    check-cast v3, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;

    .line 55
    .local v3, "params":Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
    invoke-virtual {v2}, Landroid/view/View;->getBottom()I

    move-result v4

    iget v5, v3, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->bottomMargin:I

    add-int/2addr v4, v5

    if-gt v4, p2, :cond_31

    .line 56
    invoke-virtual {v2}, Landroid/view/View;->getTop()I

    move-result v4

    invoke-virtual {v2}, Landroid/view/View;->getHeight()I

    move-result v5

    add-int/2addr v4, v5

    if-le v4, p2, :cond_2e

    goto :goto_31

    .line 52
    .end local v2    # "child":Landroid/view/View;
    .end local v3    # "params":Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
    :cond_2e
    add-int/lit8 v1, v1, -0x1

    goto :goto_d

    .line 58
    .restart local v2    # "child":Landroid/view/View;
    .restart local v3    # "params":Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
    :cond_31
    :goto_31
    add-int/lit8 v4, v0, -0x1

    invoke-virtual {p0, p1, v4, v1}, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->recycleChildren(Landroidx/recyclerview/widget/RecyclerView$Recycler;II)V

    .line 59
    return-void

    .line 52
    .end local v1    # "i":I
    .end local v2    # "child":Landroid/view/View;
    .end local v3    # "params":Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
    :cond_37
    goto :goto_58

    .line 63
    :cond_38
    const/4 v1, 0x0

    .restart local v1    # "i":I
    :goto_39
    if-ge v1, v0, :cond_58

    .line 64
    invoke-virtual {p0, v1}, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->getChildAt(I)Landroid/view/View;

    move-result-object v2

    .line 65
    .restart local v2    # "child":Landroid/view/View;
    iget-object v3, p0, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;

    invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/OrientationHelper;->getDecoratedEnd(Landroid/view/View;)I

    move-result v3

    if-gt v3, p2, :cond_53

    iget-object v3, p0, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;

    .line 66
    invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/OrientationHelper;->getTransformedEndWithDecoration(Landroid/view/View;)I

    move-result v3

    if-le v3, p2, :cond_50

    goto :goto_53

    .line 63
    .end local v2    # "child":Landroid/view/View;
    :cond_50
    add-int/lit8 v1, v1, 0x1

    goto :goto_39

    .line 68
    .restart local v2    # "child":Landroid/view/View;
    :cond_53
    :goto_53
    const/4 v3, 0x0

    invoke-virtual {p0, p1, v3, v1}, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->recycleChildren(Landroidx/recyclerview/widget/RecyclerView$Recycler;II)V

    .line 69
    return-void

    .line 73
    .end local v1    # "i":I
    .end local v2    # "child":Landroid/view/View;
    :cond_58
    :goto_58
    return-void
.end method

.method public setCanScrollVertically(Z)V
    .registers 2
    .param p1, "value"    # Z

    .line 35
    iput-boolean p1, p0, Landroidx/recyclerview/widget/GridLayoutManagerFixed;->canScrollVertically:Z

    .line 36
    return-void
.end method

.method public shouldLayoutChildFromOpositeSide(Landroid/view/View;)Z
    .registers 3
    .param p1, "child"    # Landroid/view/View;

    .line 88
    const/4 v0, 0x0

    return v0
.end method