LinearLayoutManager.smali
.class public Landroidx/recyclerview/widget/LinearLayoutManager;
.super Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
.source "LinearLayoutManager.java"
# interfaces
.implements Landroidx/recyclerview/widget/ItemTouchHelper$ViewDropHandler;
.implements Landroidx/recyclerview/widget/RecyclerView$SmoothScroller$ScrollVectorProvider;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Landroidx/recyclerview/widget/LinearLayoutManager$LayoutChunkResult;,
Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;,
Landroidx/recyclerview/widget/LinearLayoutManager$SavedState;,
Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
}
.end annotation
# static fields
.field static final DEBUG:Z = false
.field public static final HORIZONTAL:I
.field public static final INVALID_OFFSET:I
.field private static final MAX_SCROLL_FACTOR:F = 0.33333334f
.field private static final TAG:Ljava/lang/String; = "LinearLayoutManager"
.field public static final VERTICAL:I
# instance fields
.field final mAnchorInfo:Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;
.field private mInitialPrefetchItemCount:I
.field private mLastStackFromEnd:Z
.field private final mLayoutChunkResult:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutChunkResult;
.field private mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
.field mOrientation:I
.field mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
.field mPendingSavedState:Landroidx/recyclerview/widget/LinearLayoutManager$SavedState;
.field mPendingScrollPosition:I
.field mPendingScrollPositionBottom:Z
.field mPendingScrollPositionOffset:I
.field private mRecycleChildrenOnDetach:Z
.field private mReusableIntPair:[I
.field private mReverseLayout:Z
.field mShouldReverseLayout:Z
.field private mSmoothScrollbarEnabled:Z
.field private mStackFromEnd:Z
# direct methods
.method static constructor <clinit>()V
.registers 1
const v0, 0x156f
invoke-static {v0}, Lnp/NPFog;->d(I)I
move-result v0
sput v0, Landroidx/recyclerview/widget/LinearLayoutManager;->HORIZONTAL:I
const v0, -0x7fffea91
invoke-static {v0}, Lnp/NPFog;->d(I)I
move-result v0
sput v0, Landroidx/recyclerview/widget/LinearLayoutManager;->INVALID_OFFSET:I
const v0, 0x156e
invoke-static {v0}, Lnp/NPFog;->d(I)I
move-result v0
sput v0, Landroidx/recyclerview/widget/LinearLayoutManager;->VERTICAL:I
return-void
.end method
.method public constructor <init>(Landroid/content/Context;)V
.registers 4
.param p1, "context" # Landroid/content/Context;
.line 161
const/4 v0, 0x1
const/4 v1, 0x0
invoke-direct {p0, p1, v0, v1}, Landroidx/recyclerview/widget/LinearLayoutManager;-><init>(Landroid/content/Context;IZ)V
.line 162
return-void
.end method
.method public constructor <init>(Landroid/content/Context;IZ)V
.registers 6
.param p1, "context" # Landroid/content/Context;
.param p2, "orientation" # I
.param p3, "reverseLayout" # Z
.line 171
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;-><init>()V
.line 67
const/4 v0, 0x1
iput v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientation:I
.line 94
const/4 v1, 0x0
iput-boolean v1, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mReverseLayout:Z
.line 101
iput-boolean v1, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mShouldReverseLayout:Z
.line 108
iput-boolean v1, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mStackFromEnd:Z
.line 114
iput-boolean v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mSmoothScrollbarEnabled:Z
.line 120
const/4 v1, -0x1
iput v1, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mPendingScrollPosition:I
.line 122
iput-boolean v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mPendingScrollPositionBottom:Z
.line 128
const/high16 v0, -0x80000000
iput v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mPendingScrollPositionOffset:I
.line 132
const/4 v0, 0x0
iput-object v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mPendingSavedState:Landroidx/recyclerview/widget/LinearLayoutManager$SavedState;
.line 138
new-instance v0, Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;
invoke-direct {v0}, Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;-><init>()V
iput-object v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mAnchorInfo:Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;
.line 143
new-instance v0, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutChunkResult;
invoke-direct {v0}, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutChunkResult;-><init>()V
iput-object v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutChunkResult:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutChunkResult;
.line 148
const/4 v0, 0x2
iput v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mInitialPrefetchItemCount:I
.line 153
new-array v0, v0, [I
iput-object v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mReusableIntPair:[I
.line 172
invoke-virtual {p0, p2}, Landroidx/recyclerview/widget/LinearLayoutManager;->setOrientation(I)V
.line 173
invoke-virtual {p0, p3}, Landroidx/recyclerview/widget/LinearLayoutManager;->setReverseLayout(Z)V
.line 174
return-void
.end method
.method private computeScrollExtent(Landroidx/recyclerview/widget/RecyclerView$State;)I
.registers 9
.param p1, "state" # Landroidx/recyclerview/widget/RecyclerView$State;
.line 1164
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildCount()I
move-result v0
if-nez v0, :cond_8
.line 1165
const/4 v0, 0x0
return v0
.line 1167
:cond_8
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->ensureLayoutState()V
.line 1168
iget-object v2, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
iget-boolean v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mSmoothScrollbarEnabled:Z
const/4 v1, 0x1
xor-int/2addr v0, v1
.line 1169
invoke-virtual {p0, v0, v1}, Landroidx/recyclerview/widget/LinearLayoutManager;->findFirstVisibleChildClosestToStart(ZZ)Landroid/view/View;
move-result-object v3
iget-boolean v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mSmoothScrollbarEnabled:Z
xor-int/2addr v0, v1
.line 1170
invoke-virtual {p0, v0, v1}, Landroidx/recyclerview/widget/LinearLayoutManager;->findFirstVisibleChildClosestToEnd(ZZ)Landroid/view/View;
move-result-object v4
iget-boolean v6, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mSmoothScrollbarEnabled:Z
.line 1168
move-object v1, p1
move-object v5, p0
invoke-static/range {v1 .. v6}, Landroidx/recyclerview/widget/ScrollbarHelper;->computeScrollExtent(Landroidx/recyclerview/widget/RecyclerView$State;Landroidx/recyclerview/widget/OrientationHelper;Landroid/view/View;Landroid/view/View;Landroidx/recyclerview/widget/RecyclerView$LayoutManager;Z)I
move-result v0
return v0
.end method
.method private computeScrollOffset(Landroidx/recyclerview/widget/RecyclerView$State;)I
.registers 10
.param p1, "state" # Landroidx/recyclerview/widget/RecyclerView$State;
.line 1153
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildCount()I
move-result v0
if-nez v0, :cond_8
.line 1154
const/4 v0, 0x0
return v0
.line 1156
:cond_8
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->ensureLayoutState()V
.line 1157
iget-object v2, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
iget-boolean v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mSmoothScrollbarEnabled:Z
const/4 v1, 0x1
xor-int/2addr v0, v1
.line 1158
invoke-virtual {p0, v0, v1}, Landroidx/recyclerview/widget/LinearLayoutManager;->findFirstVisibleChildClosestToStart(ZZ)Landroid/view/View;
move-result-object v3
iget-boolean v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mSmoothScrollbarEnabled:Z
xor-int/2addr v0, v1
.line 1159
invoke-virtual {p0, v0, v1}, Landroidx/recyclerview/widget/LinearLayoutManager;->findFirstVisibleChildClosestToEnd(ZZ)Landroid/view/View;
move-result-object v4
iget-boolean v6, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mSmoothScrollbarEnabled:Z
iget-boolean v7, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mShouldReverseLayout:Z
.line 1157
move-object v1, p1
move-object v5, p0
invoke-static/range {v1 .. v7}, Landroidx/recyclerview/widget/ScrollbarHelper;->computeScrollOffset(Landroidx/recyclerview/widget/RecyclerView$State;Landroidx/recyclerview/widget/OrientationHelper;Landroid/view/View;Landroid/view/View;Landroidx/recyclerview/widget/RecyclerView$LayoutManager;ZZ)I
move-result v0
return v0
.end method
.method private computeScrollRange(Landroidx/recyclerview/widget/RecyclerView$State;)I
.registers 9
.param p1, "state" # Landroidx/recyclerview/widget/RecyclerView$State;
.line 1175
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildCount()I
move-result v0
if-nez v0, :cond_8
.line 1176
const/4 v0, 0x0
return v0
.line 1178
:cond_8
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->ensureLayoutState()V
.line 1179
iget-object v2, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
iget-boolean v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mSmoothScrollbarEnabled:Z
const/4 v1, 0x1
xor-int/2addr v0, v1
.line 1180
invoke-virtual {p0, v0, v1}, Landroidx/recyclerview/widget/LinearLayoutManager;->findFirstVisibleChildClosestToStart(ZZ)Landroid/view/View;
move-result-object v3
iget-boolean v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mSmoothScrollbarEnabled:Z
xor-int/2addr v0, v1
.line 1181
invoke-virtual {p0, v0, v1}, Landroidx/recyclerview/widget/LinearLayoutManager;->findFirstVisibleChildClosestToEnd(ZZ)Landroid/view/View;
move-result-object v4
iget-boolean v6, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mSmoothScrollbarEnabled:Z
.line 1179
move-object v1, p1
move-object v5, p0
invoke-static/range {v1 .. v6}, Landroidx/recyclerview/widget/ScrollbarHelper;->computeScrollRange(Landroidx/recyclerview/widget/RecyclerView$State;Landroidx/recyclerview/widget/OrientationHelper;Landroid/view/View;Landroid/view/View;Landroidx/recyclerview/widget/RecyclerView$LayoutManager;Z)I
move-result v0
return v0
.end method
.method private findFirstPartiallyOrCompletelyInvisibleChild()Landroid/view/View;
.registers 3
.line 1888
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildCount()I
move-result v0
const/4 v1, 0x0
invoke-virtual {p0, v1, v0}, Landroidx/recyclerview/widget/LinearLayoutManager;->findOnePartiallyOrCompletelyInvisibleChild(II)Landroid/view/View;
move-result-object v0
return-object v0
.end method
.method private findFirstReferenceChild(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)Landroid/view/View;
.registers 9
.param p1, "recycler" # Landroidx/recyclerview/widget/RecyclerView$Recycler;
.param p2, "state" # Landroidx/recyclerview/widget/RecyclerView$State;
.line 1836
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildCount()I
move-result v4
invoke-virtual {p2}, Landroidx/recyclerview/widget/RecyclerView$State;->getItemCount()I
move-result v5
const/4 v3, 0x0
move-object v0, p0
move-object v1, p1
move-object v2, p2
invoke-virtual/range {v0 .. v5}, Landroidx/recyclerview/widget/LinearLayoutManager;->findReferenceChild(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;III)Landroid/view/View;
move-result-object v0
return-object v0
.end method
.method private findLastPartiallyOrCompletelyInvisibleChild()Landroid/view/View;
.registers 3
.line 1892
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildCount()I
move-result v0
add-int/lit8 v0, v0, -0x1
const/4 v1, -0x1
invoke-virtual {p0, v0, v1}, Landroidx/recyclerview/widget/LinearLayoutManager;->findOnePartiallyOrCompletelyInvisibleChild(II)Landroid/view/View;
move-result-object v0
return-object v0
.end method
.method private findLastReferenceChild(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)Landroid/view/View;
.registers 10
.param p1, "recycler" # Landroidx/recyclerview/widget/RecyclerView$Recycler;
.param p2, "state" # Landroidx/recyclerview/widget/RecyclerView$State;
.line 1840
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildCount()I
move-result v0
add-int/lit8 v4, v0, -0x1
invoke-virtual {p2}, Landroidx/recyclerview/widget/RecyclerView$State;->getItemCount()I
move-result v6
const/4 v5, -0x1
move-object v1, p0
move-object v2, p1
move-object v3, p2
invoke-virtual/range {v1 .. v6}, Landroidx/recyclerview/widget/LinearLayoutManager;->findReferenceChild(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;III)Landroid/view/View;
move-result-object v0
return-object v0
.end method
.method private findPartiallyOrCompletelyInvisibleChildClosestToEnd()Landroid/view/View;
.registers 2
.line 1876
iget-boolean v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mShouldReverseLayout:Z
if-eqz v0, :cond_9
invoke-direct {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->findFirstPartiallyOrCompletelyInvisibleChild()Landroid/view/View;
move-result-object v0
goto :goto_d
.line 1877
:cond_9
invoke-direct {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->findLastPartiallyOrCompletelyInvisibleChild()Landroid/view/View;
move-result-object v0
.line 1876
:goto_d
return-object v0
.end method
.method private findPartiallyOrCompletelyInvisibleChildClosestToStart()Landroid/view/View;
.registers 2
.line 1883
iget-boolean v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mShouldReverseLayout:Z
if-eqz v0, :cond_9
invoke-direct {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->findLastPartiallyOrCompletelyInvisibleChild()Landroid/view/View;
move-result-object v0
goto :goto_d
.line 1884
:cond_9
invoke-direct {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->findFirstPartiallyOrCompletelyInvisibleChild()Landroid/view/View;
move-result-object v0
.line 1883
:goto_d
return-object v0
.end method
.method private findReferenceChildClosestToEnd(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)Landroid/view/View;
.registers 4
.param p1, "recycler" # Landroidx/recyclerview/widget/RecyclerView$Recycler;
.param p2, "state" # Landroidx/recyclerview/widget/RecyclerView$State;
.line 1814
iget-boolean v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mShouldReverseLayout:Z
if-eqz v0, :cond_9
invoke-direct {p0, p1, p2}, Landroidx/recyclerview/widget/LinearLayoutManager;->findFirstReferenceChild(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)Landroid/view/View;
move-result-object v0
goto :goto_d
.line 1815
:cond_9
invoke-direct {p0, p1, p2}, Landroidx/recyclerview/widget/LinearLayoutManager;->findLastReferenceChild(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)Landroid/view/View;
move-result-object v0
.line 1814
:goto_d
return-object v0
.end method
.method private findReferenceChildClosestToStart(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)Landroid/view/View;
.registers 4
.param p1, "recycler" # Landroidx/recyclerview/widget/RecyclerView$Recycler;
.param p2, "state" # Landroidx/recyclerview/widget/RecyclerView$State;
.line 1831
iget-boolean v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mShouldReverseLayout:Z
if-eqz v0, :cond_9
invoke-direct {p0, p1, p2}, Landroidx/recyclerview/widget/LinearLayoutManager;->findLastReferenceChild(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)Landroid/view/View;
move-result-object v0
goto :goto_d
.line 1832
:cond_9
invoke-direct {p0, p1, p2}, Landroidx/recyclerview/widget/LinearLayoutManager;->findFirstReferenceChild(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)Landroid/view/View;
move-result-object v0
.line 1831
:goto_d
return-object v0
.end method
.method private fixLayoutEndGap(ILandroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;Z)I
.registers 8
.param p1, "endOffset" # I
.param p2, "recycler" # Landroidx/recyclerview/widget/RecyclerView$Recycler;
.param p3, "state" # Landroidx/recyclerview/widget/RecyclerView$State;
.param p4, "canOffsetChildren" # Z
.line 947
iget-object v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/OrientationHelper;->getEndAfterPadding()I
move-result v0
sub-int/2addr v0, p1
.line 948
.local v0, "gap":I
const/4 v1, 0x0
.line 949
.local v1, "fixOffset":I
if-lez v0, :cond_26
.line 950
neg-int v2, v0
invoke-virtual {p0, v2, p2, p3}, Landroidx/recyclerview/widget/LinearLayoutManager;->scrollBy(ILandroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)I
move-result v2
neg-int v1, v2
.line 955
add-int/2addr p1, v1
.line 956
if-eqz p4, :cond_25
.line 958
iget-object v2, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
invoke-virtual {v2}, Landroidx/recyclerview/widget/OrientationHelper;->getEndAfterPadding()I
move-result v2
sub-int v0, v2, p1
.line 959
if-lez v0, :cond_25
.line 960
iget-object v2, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
invoke-virtual {v2, v0}, Landroidx/recyclerview/widget/OrientationHelper;->offsetChildren(I)V
.line 961
add-int v2, v0, v1
return v2
.line 964
:cond_25
return v1
.line 952
:cond_26
const/4 v2, 0x0
return v2
.end method
.method private fixLayoutStartGap(ILandroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;Z)I
.registers 9
.param p1, "startOffset" # I
.param p2, "recycler" # Landroidx/recyclerview/widget/RecyclerView$Recycler;
.param p3, "state" # Landroidx/recyclerview/widget/RecyclerView$State;
.param p4, "canOffsetChildren" # Z
.line 972
iget-object v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/OrientationHelper;->getStartAfterPadding()I
move-result v0
sub-int v0, p1, v0
.line 973
.local v0, "gap":I
const/4 v1, 0x0
.line 974
.local v1, "fixOffset":I
if-lez v0, :cond_27
.line 976
invoke-virtual {p0, v0, p2, p3}, Landroidx/recyclerview/widget/LinearLayoutManager;->scrollBy(ILandroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)I
move-result v2
neg-int v1, v2
.line 980
add-int/2addr p1, v1
.line 981
if-eqz p4, :cond_26
.line 983
iget-object v2, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
invoke-virtual {v2}, Landroidx/recyclerview/widget/OrientationHelper;->getStartAfterPadding()I
move-result v2
sub-int v0, p1, v2
.line 984
if-lez v0, :cond_26
.line 985
iget-object v2, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
neg-int v3, v0
invoke-virtual {v2, v3}, Landroidx/recyclerview/widget/OrientationHelper;->offsetChildren(I)V
.line 986
sub-int v2, v1, v0
return v2
.line 989
:cond_26
return v1
.line 978
:cond_27
const/4 v2, 0x0
return v2
.end method
.method private getChildClosestToEnd()Landroid/view/View;
.registers 2
.line 1762
iget-boolean v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mShouldReverseLayout:Z
if-eqz v0, :cond_6
const/4 v0, 0x0
goto :goto_c
:cond_6
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildCount()I
move-result v0
add-int/lit8 v0, v0, -0x1
:goto_c
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildAt(I)Landroid/view/View;
move-result-object v0
return-object v0
.end method
.method private getChildClosestToStart()Landroid/view/View;
.registers 2
.line 1752
iget-boolean v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mShouldReverseLayout:Z
if-eqz v0, :cond_b
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildCount()I
move-result v0
add-int/lit8 v0, v0, -0x1
goto :goto_c
:cond_b
const/4 v0, 0x0
:goto_c
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildAt(I)Landroid/view/View;
move-result-object v0
return-object v0
.end method
.method private layoutForPredictiveAnimations(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;II)V
.registers 21
.param p1, "recycler" # Landroidx/recyclerview/widget/RecyclerView$Recycler;
.param p2, "state" # Landroidx/recyclerview/widget/RecyclerView$State;
.param p3, "startOffset" # I
.param p4, "endOffset" # I
.line 741
move-object/from16 v0, p0
move-object/from16 v1, p1
move-object/from16 v2, p2
invoke-virtual/range {p2 .. p2}, Landroidx/recyclerview/widget/RecyclerView$State;->willRunPredictiveAnimations()Z
move-result v3
if-eqz v3, :cond_c1
invoke-virtual/range {p0 .. p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildCount()I
move-result v3
if-eqz v3, :cond_c1
invoke-virtual/range {p2 .. p2}, Landroidx/recyclerview/widget/RecyclerView$State;->isPreLayout()Z
move-result v3
if-nez v3, :cond_c1
.line 742
invoke-virtual/range {p0 .. p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->supportsPredictiveItemAnimations()Z
move-result v3
if-nez v3, :cond_24
move/from16 v11, p3
move/from16 v12, p4
goto/16 :goto_c5
.line 746
:cond_24
const/4 v3, 0x0
.local v3, "scrapExtraStart":I
const/4 v4, 0x0
.line 747
.local v4, "scrapExtraEnd":I
invoke-virtual/range {p1 .. p1}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->getScrapList()Ljava/util/List;
move-result-object v5
.line 748
.local v5, "scrapList":Ljava/util/List;, "Ljava/util/List<Landroidx/recyclerview/widget/RecyclerView$ViewHolder;>;"
invoke-interface {v5}, Ljava/util/List;->size()I
move-result v6
.line 749
.local v6, "scrapSize":I
const/4 v7, 0x0
invoke-virtual {v0, v7}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildAt(I)Landroid/view/View;
move-result-object v8
invoke-virtual {v0, v8}, Landroidx/recyclerview/widget/LinearLayoutManager;->getPosition(Landroid/view/View;)I
move-result v8
.line 750
.local v8, "firstChildPos":I
const/4 v9, 0x0
.local v9, "i":I
:goto_38
if-ge v9, v6, :cond_6f
.line 751
invoke-interface {v5, v9}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v10
check-cast v10, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.line 752
.local v10, "scrap":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
invoke-virtual {v10}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isRemoved()Z
move-result v11
if-eqz v11, :cond_47
.line 753
goto :goto_6c
.line 755
:cond_47
invoke-virtual {v10}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getLayoutPosition()I
move-result v11
.line 756
.local v11, "position":I
const/4 v12, 0x1
if-ge v11, v8, :cond_50
const/4 v13, 0x1
goto :goto_51
:cond_50
const/4 v13, 0x0
:goto_51
iget-boolean v14, v0, Landroidx/recyclerview/widget/LinearLayoutManager;->mShouldReverseLayout:Z
const/4 v15, -0x1
if-eq v13, v14, :cond_57
const/4 v12, -0x1
.line 758
.local v12, "direction":I
:cond_57
if-ne v12, v15, :cond_63
.line 759
iget-object v13, v0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
iget-object v14, v10, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
invoke-virtual {v13, v14}, Landroidx/recyclerview/widget/OrientationHelper;->getDecoratedMeasurement(Landroid/view/View;)I
move-result v13
add-int/2addr v3, v13
goto :goto_6c
.line 761
:cond_63
iget-object v13, v0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
iget-object v14, v10, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
invoke-virtual {v13, v14}, Landroidx/recyclerview/widget/OrientationHelper;->getDecoratedMeasurement(Landroid/view/View;)I
move-result v13
add-int/2addr v4, v13
.line 750
.end local v10 # "scrap":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.end local v11 # "position":I
.end local v12 # "direction":I
:goto_6c
add-int/lit8 v9, v9, 0x1
goto :goto_38
.line 769
.end local v9 # "i":I
:cond_6f
iget-object v9, v0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iput-object v5, v9, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mScrapList:Ljava/util/List;
.line 770
if-lez v3, :cond_95
.line 771
invoke-direct/range {p0 .. p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildClosestToStart()Landroid/view/View;
move-result-object v9
.line 772
.local v9, "anchor":Landroid/view/View;
invoke-virtual {v0, v9}, Landroidx/recyclerview/widget/LinearLayoutManager;->getPosition(Landroid/view/View;)I
move-result v10
move/from16 v11, p3
invoke-direct {v0, v10, v11}, Landroidx/recyclerview/widget/LinearLayoutManager;->updateLayoutStateToFillStart(II)V
.line 773
iget-object v10, v0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iput v3, v10, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mExtraFillSpace:I
.line 774
iget-object v10, v0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iput v7, v10, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mAvailable:I
.line 775
iget-object v10, v0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
invoke-virtual {v10}, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->assignPositionFromScrapList()V
.line 776
iget-object v10, v0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
invoke-virtual {v0, v1, v10, v2, v7}, Landroidx/recyclerview/widget/LinearLayoutManager;->fill(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;Landroidx/recyclerview/widget/RecyclerView$State;Z)I
goto :goto_97
.line 770
.end local v9 # "anchor":Landroid/view/View;
:cond_95
move/from16 v11, p3
.line 779
:goto_97
if-lez v4, :cond_b9
.line 780
invoke-direct/range {p0 .. p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildClosestToEnd()Landroid/view/View;
move-result-object v9
.line 781
.restart local v9 # "anchor":Landroid/view/View;
invoke-virtual {v0, v9}, Landroidx/recyclerview/widget/LinearLayoutManager;->getPosition(Landroid/view/View;)I
move-result v10
move/from16 v12, p4
invoke-direct {v0, v10, v12}, Landroidx/recyclerview/widget/LinearLayoutManager;->updateLayoutStateToFillEnd(II)V
.line 782
iget-object v10, v0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iput v4, v10, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mExtraFillSpace:I
.line 783
iget-object v10, v0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iput v7, v10, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mAvailable:I
.line 784
iget-object v10, v0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
invoke-virtual {v10}, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->assignPositionFromScrapList()V
.line 785
iget-object v10, v0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
invoke-virtual {v0, v1, v10, v2, v7}, Landroidx/recyclerview/widget/LinearLayoutManager;->fill(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;Landroidx/recyclerview/widget/RecyclerView$State;Z)I
goto :goto_bb
.line 779
.end local v9 # "anchor":Landroid/view/View;
:cond_b9
move/from16 v12, p4
.line 787
:goto_bb
iget-object v7, v0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
const/4 v9, 0x0
iput-object v9, v7, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mScrapList:Ljava/util/List;
.line 788
return-void
.line 741
.end local v3 # "scrapExtraStart":I
.end local v4 # "scrapExtraEnd":I
.end local v5 # "scrapList":Ljava/util/List;, "Ljava/util/List<Landroidx/recyclerview/widget/RecyclerView$ViewHolder;>;"
.end local v6 # "scrapSize":I
.end local v8 # "firstChildPos":I
:cond_c1
move/from16 v11, p3
move/from16 v12, p4
.line 743
:goto_c5
return-void
.end method
.method private logChildren()V
.registers 6
.line 2080
const-string v0, "LinearLayoutManager"
const-string v1, "internal representation of views on the screen"
invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 2081
const/4 v1, 0x0
.local v1, "i":I
:goto_8
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildCount()I
move-result v2
if-ge v1, v2, :cond_3b
.line 2082
invoke-virtual {p0, v1}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildAt(I)Landroid/view/View;
move-result-object v2
.line 2083
.local v2, "child":Landroid/view/View;
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "item "
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/LinearLayoutManager;->getPosition(Landroid/view/View;)I
move-result v4
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v4, ", coord:"
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v4, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
.line 2084
invoke-virtual {v4, v2}, Landroidx/recyclerview/widget/OrientationHelper;->getDecoratedStart(Landroid/view/View;)I
move-result v4
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
.line 2083
invoke-static {v0, v3}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 2081
.end local v2 # "child":Landroid/view/View;
add-int/lit8 v1, v1, 0x1
goto :goto_8
.line 2086
.end local v1 # "i":I
:cond_3b
const-string v1, "=============="
invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 2087
return-void
.end method
.method private recycleByLayoutState(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;)V
.registers 7
.param p1, "recycler" # Landroidx/recyclerview/widget/RecyclerView$Recycler;
.param p2, "layoutState" # Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
.line 1537
iget-boolean v0, p2, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mRecycle:Z
if-eqz v0, :cond_1a
iget-boolean v0, p2, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mInfinite:Z
if-eqz v0, :cond_9
goto :goto_1a
.line 1540
:cond_9
iget v0, p2, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mScrollingOffset:I
.line 1541
.local v0, "scrollingOffset":I
iget v1, p2, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mNoRecycleSpace:I
.line 1542
.local v1, "noRecycleSpace":I
iget v2, p2, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mLayoutDirection:I
const/4 v3, -0x1
if-ne v2, v3, :cond_16
.line 1543
invoke-direct {p0, p1, v0, v1}, Landroidx/recyclerview/widget/LinearLayoutManager;->recycleViewsFromEnd(Landroidx/recyclerview/widget/RecyclerView$Recycler;II)V
goto :goto_19
.line 1545
:cond_16
invoke-virtual {p0, p1, v0, v1}, Landroidx/recyclerview/widget/LinearLayoutManager;->recycleViewsFromStart(Landroidx/recyclerview/widget/RecyclerView$Recycler;II)V
.line 1547
:goto_19
return-void
.line 1538
.end local v0 # "scrollingOffset":I
.end local v1 # "noRecycleSpace":I
:cond_1a
:goto_1a
return-void
.end method
.method private recycleViewsFromEnd(Landroidx/recyclerview/widget/RecyclerView$Recycler;II)V
.registers 9
.param p1, "recycler" # Landroidx/recyclerview/widget/RecyclerView$Recycler;
.param p2, "scrollingOffset" # I
.param p3, "noRecycleSpace" # I
.line 1493
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildCount()I
move-result v0
.line 1494
.local v0, "childCount":I
if-gez p2, :cond_7
.line 1499
return-void
.line 1501
:cond_7
iget-object v1, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
invoke-virtual {v1}, Landroidx/recyclerview/widget/OrientationHelper;->getEnd()I
move-result v1
sub-int/2addr v1, p2
add-int/2addr v1, p3
.line 1502
.local v1, "limit":I
iget-boolean v2, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mShouldReverseLayout:Z
if-eqz v2, :cond_34
.line 1503
const/4 v2, 0x0
.local v2, "i":I
:goto_14
if-ge v2, v0, :cond_33
.line 1504
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildAt(I)Landroid/view/View;
move-result-object v3
.line 1505
.local v3, "child":Landroid/view/View;
iget-object v4, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
invoke-virtual {v4, v3}, Landroidx/recyclerview/widget/OrientationHelper;->getDecoratedStart(Landroid/view/View;)I
move-result v4
if-lt v4, v1, :cond_2e
iget-object v4, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
.line 1506
invoke-virtual {v4, v3}, Landroidx/recyclerview/widget/OrientationHelper;->getTransformedStartWithDecoration(Landroid/view/View;)I
move-result v4
if-ge v4, v1, :cond_2b
goto :goto_2e
.line 1503
.end local v3 # "child":Landroid/view/View;
:cond_2b
add-int/lit8 v2, v2, 0x1
goto :goto_14
.line 1508
.restart local v3 # "child":Landroid/view/View;
:cond_2e
:goto_2e
const/4 v4, 0x0
invoke-virtual {p0, p1, v4, v2}, Landroidx/recyclerview/widget/LinearLayoutManager;->recycleChildren(Landroidx/recyclerview/widget/RecyclerView$Recycler;II)V
.line 1509
return-void
.line 1503
.end local v2 # "i":I
.end local v3 # "child":Landroid/view/View;
:cond_33
goto :goto_56
.line 1513
:cond_34
add-int/lit8 v2, v0, -0x1
.restart local v2 # "i":I
:goto_36
if-ltz v2, :cond_56
.line 1514
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildAt(I)Landroid/view/View;
move-result-object v3
.line 1515
.restart local v3 # "child":Landroid/view/View;
iget-object v4, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
invoke-virtual {v4, v3}, Landroidx/recyclerview/widget/OrientationHelper;->getDecoratedStart(Landroid/view/View;)I
move-result v4
if-lt v4, v1, :cond_50
iget-object v4, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
.line 1516
invoke-virtual {v4, v3}, Landroidx/recyclerview/widget/OrientationHelper;->getTransformedStartWithDecoration(Landroid/view/View;)I
move-result v4
if-ge v4, v1, :cond_4d
goto :goto_50
.line 1513
.end local v3 # "child":Landroid/view/View;
:cond_4d
add-int/lit8 v2, v2, -0x1
goto :goto_36
.line 1518
.restart local v3 # "child":Landroid/view/View;
:cond_50
:goto_50
add-int/lit8 v4, v0, -0x1
invoke-virtual {p0, p1, v4, v2}, Landroidx/recyclerview/widget/LinearLayoutManager;->recycleChildren(Landroidx/recyclerview/widget/RecyclerView$Recycler;II)V
.line 1519
return-void
.line 1523
.end local v2 # "i":I
.end local v3 # "child":Landroid/view/View;
:cond_56
:goto_56
return-void
.end method
.method private resolveShouldLayoutReverse()V
.registers 3
.line 348
iget v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientation:I
const/4 v1, 0x1
if-eq v0, v1, :cond_12
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->isLayoutRTL()Z
move-result v0
if-nez v0, :cond_c
goto :goto_12
.line 351
:cond_c
iget-boolean v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mReverseLayout:Z
xor-int/2addr v0, v1
iput-boolean v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mShouldReverseLayout:Z
goto :goto_16
.line 349
:cond_12
:goto_12
iget-boolean v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mReverseLayout:Z
iput-boolean v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mShouldReverseLayout:Z
.line 353
:goto_16
return-void
.end method
.method private updateAnchorFromChildren(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;)Z
.registers 10
.param p1, "recycler" # Landroidx/recyclerview/widget/RecyclerView$Recycler;
.param p2, "state" # Landroidx/recyclerview/widget/RecyclerView$State;
.param p3, "anchorInfo" # Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;
.line 820
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildCount()I
move-result v0
const/4 v1, 0x0
if-nez v0, :cond_8
.line 821
return v1
.line 823
:cond_8
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getFocusedChild()Landroid/view/View;
move-result-object v0
.line 824
.local v0, "focused":Landroid/view/View;
const/4 v2, 0x1
if-eqz v0, :cond_1d
invoke-virtual {p3, v0, p2}, Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;->isViewValidAsAnchor(Landroid/view/View;Landroidx/recyclerview/widget/RecyclerView$State;)Z
move-result v3
if-eqz v3, :cond_1d
.line 825
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getPosition(Landroid/view/View;)I
move-result v1
invoke-virtual {p3, v0, v1}, Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;->assignFromViewAndKeepVisibleRect(Landroid/view/View;I)V
.line 826
return v2
.line 828
:cond_1d
iget-boolean v3, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLastStackFromEnd:Z
iget-boolean v4, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mStackFromEnd:Z
if-eq v3, v4, :cond_24
.line 829
return v1
.line 831
:cond_24
iget-boolean v3, p3, Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;->mLayoutFromEnd:Z
if-eqz v3, :cond_2d
.line 832
invoke-direct {p0, p1, p2}, Landroidx/recyclerview/widget/LinearLayoutManager;->findReferenceChildClosestToEnd(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)Landroid/view/View;
move-result-object v3
goto :goto_31
.line 833
:cond_2d
invoke-direct {p0, p1, p2}, Landroidx/recyclerview/widget/LinearLayoutManager;->findReferenceChildClosestToStart(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)Landroid/view/View;
move-result-object v3
:goto_31
nop
.line 834
.local v3, "referenceChild":Landroid/view/View;
if-eqz v3, :cond_7a
.line 835
invoke-virtual {p0, v3}, Landroidx/recyclerview/widget/LinearLayoutManager;->getPosition(Landroid/view/View;)I
move-result v4
invoke-virtual {p3, v3, v4}, Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;->assignFromView(Landroid/view/View;I)V
.line 838
invoke-virtual {p2}, Landroidx/recyclerview/widget/RecyclerView$State;->isPreLayout()Z
move-result v4
if-nez v4, :cond_79
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->supportsPredictiveItemAnimations()Z
move-result v4
if-eqz v4, :cond_79
.line 840
iget-object v4, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
.line 841
invoke-virtual {v4, v3}, Landroidx/recyclerview/widget/OrientationHelper;->getDecoratedStart(Landroid/view/View;)I
move-result v4
iget-object v5, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
.line 842
invoke-virtual {v5}, Landroidx/recyclerview/widget/OrientationHelper;->getEndAfterPadding()I
move-result v5
if-ge v4, v5, :cond_63
iget-object v4, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
.line 843
invoke-virtual {v4, v3}, Landroidx/recyclerview/widget/OrientationHelper;->getDecoratedEnd(Landroid/view/View;)I
move-result v4
iget-object v5, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
.line 844
invoke-virtual {v5}, Landroidx/recyclerview/widget/OrientationHelper;->getStartAfterPadding()I
move-result v5
if-ge v4, v5, :cond_64
:cond_63
const/4 v1, 0x1
.line 845
.local v1, "notVisible":Z
:cond_64
if-eqz v1, :cond_79
.line 846
iget-boolean v4, p3, Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;->mLayoutFromEnd:Z
if-eqz v4, :cond_71
iget-object v4, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
.line 847
invoke-virtual {v4}, Landroidx/recyclerview/widget/OrientationHelper;->getEndAfterPadding()I
move-result v4
goto :goto_77
:cond_71
iget-object v4, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
.line 848
invoke-virtual {v4}, Landroidx/recyclerview/widget/OrientationHelper;->getStartAfterPadding()I
move-result v4
:goto_77
iput v4, p3, Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;->mCoordinate:I
.line 851
.end local v1 # "notVisible":Z
:cond_79
return v2
.line 853
:cond_7a
return v1
.end method
.method private updateAnchorFromPendingData(Landroidx/recyclerview/widget/RecyclerView$State;Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;)Z
.registers 10
.param p1, "state" # Landroidx/recyclerview/widget/RecyclerView$State;
.param p2, "anchorInfo" # Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;
.line 861
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$State;->isPreLayout()Z
move-result v0
const/4 v1, 0x0
if-nez v0, :cond_101
iget v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mPendingScrollPosition:I
const/4 v2, -0x1
if-ne v0, v2, :cond_e
goto/16 :goto_101
.line 865
:cond_e
const/high16 v3, -0x80000000
if-ltz v0, :cond_fc
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$State;->getItemCount()I
move-result v4
if-lt v0, v4, :cond_1a
goto/16 :goto_fc
.line 876
:cond_1a
iget v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mPendingScrollPosition:I
iput v0, p2, Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;->mPosition:I
.line 877
iget-object v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mPendingSavedState:Landroidx/recyclerview/widget/LinearLayoutManager$SavedState;
const/4 v2, 0x1
if-eqz v0, :cond_4f
invoke-virtual {v0}, Landroidx/recyclerview/widget/LinearLayoutManager$SavedState;->hasValidAnchor()Z
move-result v0
if-eqz v0, :cond_4f
.line 880
iget-object v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mPendingSavedState:Landroidx/recyclerview/widget/LinearLayoutManager$SavedState;
iget-boolean v0, v0, Landroidx/recyclerview/widget/LinearLayoutManager$SavedState;->mAnchorLayoutFromEnd:Z
iput-boolean v0, p2, Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;->mLayoutFromEnd:Z
.line 881
iget-boolean v0, p2, Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;->mLayoutFromEnd:Z
if-eqz v0, :cond_41
.line 882
iget-object v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/OrientationHelper;->getEndAfterPadding()I
move-result v0
iget-object v1, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mPendingSavedState:Landroidx/recyclerview/widget/LinearLayoutManager$SavedState;
iget v1, v1, Landroidx/recyclerview/widget/LinearLayoutManager$SavedState;->mAnchorOffset:I
sub-int/2addr v0, v1
iput v0, p2, Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;->mCoordinate:I
goto :goto_4e
.line 885
:cond_41
iget-object v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/OrientationHelper;->getStartAfterPadding()I
move-result v0
iget-object v1, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mPendingSavedState:Landroidx/recyclerview/widget/LinearLayoutManager$SavedState;
iget v1, v1, Landroidx/recyclerview/widget/LinearLayoutManager$SavedState;->mAnchorOffset:I
add-int/2addr v0, v1
iput v0, p2, Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;->mCoordinate:I
.line 888
:goto_4e
return v2
.line 891
:cond_4f
iget v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mPendingScrollPositionOffset:I
if-ne v0, v3, :cond_dc
.line 892
iget v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mPendingScrollPosition:I
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/LinearLayoutManager;->findViewByPosition(I)Landroid/view/View;
move-result-object v0
.line 893
.local v0, "child":Landroid/view/View;
if-eqz v0, :cond_bc
.line 894
iget-object v3, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
invoke-virtual {v3, v0}, Landroidx/recyclerview/widget/OrientationHelper;->getDecoratedMeasurement(Landroid/view/View;)I
move-result v3
.line 895
.local v3, "childSize":I
iget-object v4, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
invoke-virtual {v4}, Landroidx/recyclerview/widget/OrientationHelper;->getTotalSpace()I
move-result v4
if-le v3, v4, :cond_6d
.line 897
invoke-virtual {p2}, Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;->assignCoordinateFromPadding()V
.line 898
return v2
.line 900
:cond_6d
iget-object v4, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
invoke-virtual {v4, v0}, Landroidx/recyclerview/widget/OrientationHelper;->getDecoratedStart(Landroid/view/View;)I
move-result v4
iget-object v5, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
.line 901
invoke-virtual {v5}, Landroidx/recyclerview/widget/OrientationHelper;->getStartAfterPadding()I
move-result v5
sub-int/2addr v4, v5
.line 902
.local v4, "startGap":I
if-gez v4, :cond_87
.line 903
iget-object v5, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
invoke-virtual {v5}, Landroidx/recyclerview/widget/OrientationHelper;->getStartAfterPadding()I
move-result v5
iput v5, p2, Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;->mCoordinate:I
.line 904
iput-boolean v1, p2, Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;->mLayoutFromEnd:Z
.line 905
return v2
.line 907
:cond_87
iget-object v1, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
invoke-virtual {v1}, Landroidx/recyclerview/widget/OrientationHelper;->getEndAfterPadding()I
move-result v1
iget-object v5, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
.line 908
invoke-virtual {v5, v0}, Landroidx/recyclerview/widget/OrientationHelper;->getDecoratedEnd(Landroid/view/View;)I
move-result v5
sub-int/2addr v1, v5
.line 909
.local v1, "endGap":I
if-gez v1, :cond_a1
.line 910
iget-object v5, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
invoke-virtual {v5}, Landroidx/recyclerview/widget/OrientationHelper;->getEndAfterPadding()I
move-result v5
iput v5, p2, Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;->mCoordinate:I
.line 911
iput-boolean v2, p2, Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;->mLayoutFromEnd:Z
.line 912
return v2
.line 914
:cond_a1
iget-boolean v5, p2, Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;->mLayoutFromEnd:Z
if-eqz v5, :cond_b3
iget-object v5, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
.line 915
invoke-virtual {v5, v0}, Landroidx/recyclerview/widget/OrientationHelper;->getDecoratedEnd(Landroid/view/View;)I
move-result v5
iget-object v6, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
.line 916
invoke-virtual {v6}, Landroidx/recyclerview/widget/OrientationHelper;->getTotalSpaceChange()I
move-result v6
add-int/2addr v5, v6
goto :goto_b9
:cond_b3
iget-object v5, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
.line 917
invoke-virtual {v5, v0}, Landroidx/recyclerview/widget/OrientationHelper;->getDecoratedStart(Landroid/view/View;)I
move-result v5
:goto_b9
iput v5, p2, Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;->mCoordinate:I
.line 918
.end local v1 # "endGap":I
.end local v3 # "childSize":I
.end local v4 # "startGap":I
goto :goto_db
.line 919
:cond_bc
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildCount()I
move-result v3
if-lez v3, :cond_d8
.line 921
invoke-virtual {p0, v1}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildAt(I)Landroid/view/View;
move-result-object v3
invoke-virtual {p0, v3}, Landroidx/recyclerview/widget/LinearLayoutManager;->getPosition(Landroid/view/View;)I
move-result v3
.line 922
.local v3, "pos":I
iget v4, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mPendingScrollPosition:I
if-ge v4, v3, :cond_d0
const/4 v4, 0x1
goto :goto_d1
:cond_d0
const/4 v4, 0x0
:goto_d1
iget-boolean v5, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mPendingScrollPositionBottom:Z
if-ne v4, v5, :cond_d6
const/4 v1, 0x1
:cond_d6
iput-boolean v1, p2, Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;->mLayoutFromEnd:Z
.line 925
.end local v3 # "pos":I
:cond_d8
invoke-virtual {p2}, Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;->assignCoordinateFromPadding()V
.line 927
:goto_db
return v2
.line 930
.end local v0 # "child":Landroid/view/View;
:cond_dc
iget-boolean v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mPendingScrollPositionBottom:Z
iput-boolean v0, p2, Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;->mLayoutFromEnd:Z
.line 932
iget-boolean v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mPendingScrollPositionBottom:Z
if-eqz v0, :cond_f0
.line 933
iget-object v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/OrientationHelper;->getEndAfterPadding()I
move-result v0
iget v1, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mPendingScrollPositionOffset:I
sub-int/2addr v0, v1
iput v0, p2, Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;->mCoordinate:I
goto :goto_fb
.line 936
:cond_f0
iget-object v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/OrientationHelper;->getStartAfterPadding()I
move-result v0
iget v1, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mPendingScrollPositionOffset:I
add-int/2addr v0, v1
iput v0, p2, Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;->mCoordinate:I
.line 939
:goto_fb
return v2
.line 866
:cond_fc
:goto_fc
iput v2, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mPendingScrollPosition:I
.line 867
iput v3, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mPendingScrollPositionOffset:I
.line 871
return v1
.line 862
:cond_101
:goto_101
return v1
.end method
.method private updateAnchorInfoForLayout(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;)V
.registers 5
.param p1, "recycler" # Landroidx/recyclerview/widget/RecyclerView$Recycler;
.param p2, "state" # Landroidx/recyclerview/widget/RecyclerView$State;
.param p3, "anchorInfo" # Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;
.line 792
invoke-direct {p0, p2, p3}, Landroidx/recyclerview/widget/LinearLayoutManager;->updateAnchorFromPendingData(Landroidx/recyclerview/widget/RecyclerView$State;Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;)Z
move-result v0
if-eqz v0, :cond_7
.line 796
return-void
.line 799
:cond_7
invoke-direct {p0, p1, p2, p3}, Landroidx/recyclerview/widget/LinearLayoutManager;->updateAnchorFromChildren(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;)Z
move-result v0
if-eqz v0, :cond_e
.line 803
return-void
.line 808
:cond_e
invoke-virtual {p3}, Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;->assignCoordinateFromPadding()V
.line 809
iget-boolean v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mStackFromEnd:Z
if-eqz v0, :cond_1c
invoke-virtual {p2}, Landroidx/recyclerview/widget/RecyclerView$State;->getItemCount()I
move-result v0
add-int/lit8 v0, v0, -0x1
goto :goto_1d
:cond_1c
const/4 v0, 0x0
:goto_1d
iput v0, p3, Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;->mPosition:I
.line 810
return-void
.end method
.method private updateLayoutState(IIZLandroidx/recyclerview/widget/RecyclerView$State;)V
.registers 14
.param p1, "layoutDirection" # I
.param p2, "requiredSpace" # I
.param p3, "canUseExistingSpace" # Z
.param p4, "state" # Landroidx/recyclerview/widget/RecyclerView$State;
.line 1220
iget-object v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->resolveIsInfinite()Z
move-result v1
iput-boolean v1, v0, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mInfinite:Z
.line 1221
iget-object v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iput p1, v0, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mLayoutDirection:I
.line 1222
iget-object v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mReusableIntPair:[I
const/4 v1, 0x0
aput v1, v0, v1
.line 1223
const/4 v2, 0x1
aput v1, v0, v2
.line 1224
invoke-virtual {p0, p4, v0}, Landroidx/recyclerview/widget/LinearLayoutManager;->calculateExtraLayoutSpace(Landroidx/recyclerview/widget/RecyclerView$State;[I)V
.line 1225
iget-object v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mReusableIntPair:[I
aget v0, v0, v1
invoke-static {v1, v0}, Ljava/lang/Math;->max(II)I
move-result v0
.line 1226
.local v0, "extraForStart":I
iget-object v3, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mReusableIntPair:[I
aget v3, v3, v2
invoke-static {v1, v3}, Ljava/lang/Math;->max(II)I
move-result v3
.line 1227
.local v3, "extraForEnd":I
if-ne p1, v2, :cond_2a
const/4 v1, 0x1
.line 1228
.local v1, "layoutToEnd":Z
:cond_2a
iget-object v4, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
if-eqz v1, :cond_30
move v5, v3
goto :goto_31
:cond_30
move v5, v0
:goto_31
iput v5, v4, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mExtraFillSpace:I
.line 1229
iget-object v4, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
if-eqz v1, :cond_39
move v5, v0
goto :goto_3a
:cond_39
move v5, v3
:goto_3a
iput v5, v4, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mNoRecycleSpace:I
.line 1231
const/4 v4, -0x1
if-eqz v1, :cond_7e
.line 1232
iget-object v5, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iget v6, v5, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mExtraFillSpace:I
iget-object v7, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
invoke-virtual {v7}, Landroidx/recyclerview/widget/OrientationHelper;->getEndPadding()I
move-result v7
add-int/2addr v6, v7
iput v6, v5, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mExtraFillSpace:I
.line 1234
invoke-direct {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildClosestToEnd()Landroid/view/View;
move-result-object v5
.line 1236
.local v5, "child":Landroid/view/View;
iget-object v6, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iget-boolean v7, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mShouldReverseLayout:Z
if-eqz v7, :cond_57
const/4 v2, -0x1
:cond_57
iput v2, v6, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mItemDirection:I
.line 1238
iget-object v2, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
invoke-virtual {p0, v5}, Landroidx/recyclerview/widget/LinearLayoutManager;->getPosition(Landroid/view/View;)I
move-result v4
iget-object v6, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iget v6, v6, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mItemDirection:I
add-int/2addr v4, v6
iput v4, v2, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mCurrentPosition:I
.line 1239
iget-object v2, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iget-object v4, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
invoke-virtual {v4, v5}, Landroidx/recyclerview/widget/OrientationHelper;->getDecoratedEnd(Landroid/view/View;)I
move-result v4
iput v4, v2, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mOffset:I
.line 1241
iget-object v2, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
invoke-virtual {v2, v5}, Landroidx/recyclerview/widget/OrientationHelper;->getDecoratedEnd(Landroid/view/View;)I
move-result v2
iget-object v4, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
.line 1242
invoke-virtual {v4}, Landroidx/recyclerview/widget/OrientationHelper;->getEndAfterPadding()I
move-result v4
sub-int/2addr v2, v4
.line 1244
.end local v5 # "child":Landroid/view/View;
.local v2, "scrollingOffset":I
goto :goto_be
.line 1245
.end local v2 # "scrollingOffset":I
:cond_7e
invoke-direct {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildClosestToStart()Landroid/view/View;
move-result-object v5
.line 1246
.restart local v5 # "child":Landroid/view/View;
iget-object v6, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iget v7, v6, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mExtraFillSpace:I
iget-object v8, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
invoke-virtual {v8}, Landroidx/recyclerview/widget/OrientationHelper;->getStartAfterPadding()I
move-result v8
add-int/2addr v7, v8
iput v7, v6, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mExtraFillSpace:I
.line 1247
iget-object v6, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iget-boolean v7, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mShouldReverseLayout:Z
if-eqz v7, :cond_96
goto :goto_97
:cond_96
const/4 v2, -0x1
:goto_97
iput v2, v6, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mItemDirection:I
.line 1249
iget-object v2, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
invoke-virtual {p0, v5}, Landroidx/recyclerview/widget/LinearLayoutManager;->getPosition(Landroid/view/View;)I
move-result v4
iget-object v6, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iget v6, v6, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mItemDirection:I
add-int/2addr v4, v6
iput v4, v2, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mCurrentPosition:I
.line 1250
iget-object v2, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iget-object v4, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
invoke-virtual {v4, v5}, Landroidx/recyclerview/widget/OrientationHelper;->getDecoratedStart(Landroid/view/View;)I
move-result v4
iput v4, v2, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mOffset:I
.line 1251
iget-object v2, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
invoke-virtual {v2, v5}, Landroidx/recyclerview/widget/OrientationHelper;->getDecoratedStart(Landroid/view/View;)I
move-result v2
neg-int v2, v2
iget-object v4, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
.line 1252
invoke-virtual {v4}, Landroidx/recyclerview/widget/OrientationHelper;->getStartAfterPadding()I
move-result v4
add-int/2addr v2, v4
.line 1254
.end local v5 # "child":Landroid/view/View;
.restart local v2 # "scrollingOffset":I
:goto_be
iget-object v4, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iput p2, v4, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mAvailable:I
.line 1255
if-eqz p3, :cond_cb
.line 1256
iget-object v4, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iget v5, v4, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mAvailable:I
sub-int/2addr v5, v2
iput v5, v4, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mAvailable:I
.line 1258
:cond_cb
iget-object v4, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iput v2, v4, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mScrollingOffset:I
.line 1259
return-void
.end method
.method private updateLayoutStateToFillEnd(II)V
.registers 6
.param p1, "itemPosition" # I
.param p2, "offset" # I
.line 997
iget-object v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iget-object v1, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
invoke-virtual {v1}, Landroidx/recyclerview/widget/OrientationHelper;->getEndAfterPadding()I
move-result v1
sub-int/2addr v1, p2
iput v1, v0, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mAvailable:I
.line 998
iget-object v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iget-boolean v1, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mShouldReverseLayout:Z
const/4 v2, 0x1
if-eqz v1, :cond_14
const/4 v1, -0x1
goto :goto_15
:cond_14
const/4 v1, 0x1
:goto_15
iput v1, v0, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mItemDirection:I
.line 1000
iget-object v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iput p1, v0, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mCurrentPosition:I
.line 1001
iget-object v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iput v2, v0, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mLayoutDirection:I
.line 1002
iget-object v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iput p2, v0, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mOffset:I
.line 1003
iget-object v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
const/high16 v1, -0x80000000
iput v1, v0, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mScrollingOffset:I
.line 1004
return-void
.end method
.method private updateLayoutStateToFillEnd(Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;)V
.registers 4
.param p1, "anchorInfo" # Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;
.line 993
iget v0, p1, Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;->mPosition:I
iget v1, p1, Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;->mCoordinate:I
invoke-direct {p0, v0, v1}, Landroidx/recyclerview/widget/LinearLayoutManager;->updateLayoutStateToFillEnd(II)V
.line 994
return-void
.end method
.method private updateLayoutStateToFillStart(II)V
.registers 6
.param p1, "itemPosition" # I
.param p2, "offset" # I
.line 1011
iget-object v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iget-object v1, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
invoke-virtual {v1}, Landroidx/recyclerview/widget/OrientationHelper;->getStartAfterPadding()I
move-result v1
sub-int v1, p2, v1
iput v1, v0, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mAvailable:I
.line 1012
iget-object v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iput p1, v0, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mCurrentPosition:I
.line 1013
iget-object v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iget-boolean v1, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mShouldReverseLayout:Z
const/4 v2, -0x1
if-eqz v1, :cond_19
const/4 v1, 0x1
goto :goto_1a
:cond_19
const/4 v1, -0x1
:goto_1a
iput v1, v0, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mItemDirection:I
.line 1015
iget-object v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iput v2, v0, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mLayoutDirection:I
.line 1016
iget-object v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iput p2, v0, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mOffset:I
.line 1017
iget-object v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
const/high16 v1, -0x80000000
iput v1, v0, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mScrollingOffset:I
.line 1019
return-void
.end method
.method private updateLayoutStateToFillStart(Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;)V
.registers 4
.param p1, "anchorInfo" # Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;
.line 1007
iget v0, p1, Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;->mPosition:I
iget v1, p1, Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;->mCoordinate:I
invoke-direct {p0, v0, v1}, Landroidx/recyclerview/widget/LinearLayoutManager;->updateLayoutStateToFillStart(II)V
.line 1008
return-void
.end method
# virtual methods
.method public assertNotInLayoutOrScroll(Ljava/lang/String;)V
.registers 3
.param p1, "message" # Ljava/lang/String;
.line 1400
iget-object v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mPendingSavedState:Landroidx/recyclerview/widget/LinearLayoutManager$SavedState;
if-nez v0, :cond_7
.line 1401
invoke-super {p0, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->assertNotInLayoutOrScroll(Ljava/lang/String;)V
.line 1403
:cond_7
return-void
.end method
.method protected calculateExtraLayoutSpace(Landroidx/recyclerview/widget/RecyclerView$State;[I)V
.registers 8
.param p1, "state" # Landroidx/recyclerview/widget/RecyclerView$State;
.param p2, "extraLayoutSpace" # [I
.line 468
const/4 v0, 0x0
.line 469
.local v0, "extraLayoutSpaceStart":I
const/4 v1, 0x0
.line 474
.local v1, "extraLayoutSpaceEnd":I
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/LinearLayoutManager;->getExtraLayoutSpace(Landroidx/recyclerview/widget/RecyclerView$State;)I
move-result v2
.line 475
.local v2, "extraScrollSpace":I
iget-object v3, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iget v3, v3, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mLayoutDirection:I
const/4 v4, -0x1
if-ne v3, v4, :cond_f
.line 476
move v0, v2
goto :goto_10
.line 478
:cond_f
move v1, v2
.line 481
:goto_10
const/4 v3, 0x0
aput v0, p2, v3
.line 482
const/4 v3, 0x1
aput v1, p2, v3
.line 483
return-void
.end method
.method public canScrollHorizontally()Z
.registers 2
.line 281
iget v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientation:I
if-nez v0, :cond_6
const/4 v0, 0x1
goto :goto_7
:cond_6
const/4 v0, 0x0
:goto_7
return v0
.end method
.method public canScrollVertically()Z
.registers 3
.line 289
iget v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientation:I
const/4 v1, 0x1
if-ne v0, v1, :cond_6
goto :goto_7
:cond_6
const/4 v1, 0x0
:goto_7
return v1
.end method
.method public collectAdjacentPrefetchPositions(IILandroidx/recyclerview/widget/RecyclerView$State;Landroidx/recyclerview/widget/RecyclerView$LayoutManager$LayoutPrefetchRegistry;)V
.registers 9
.param p1, "dx" # I
.param p2, "dy" # I
.param p3, "state" # Landroidx/recyclerview/widget/RecyclerView$State;
.param p4, "layoutPrefetchRegistry" # Landroidx/recyclerview/widget/RecyclerView$LayoutManager$LayoutPrefetchRegistry;
.line 1359
iget v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientation:I
if-nez v0, :cond_6
move v0, p1
goto :goto_7
:cond_6
move v0, p2
.line 1360
.local v0, "delta":I
:goto_7
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildCount()I
move-result v1
if-eqz v1, :cond_26
if-nez v0, :cond_10
goto :goto_26
.line 1365
:cond_10
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->ensureLayoutState()V
.line 1366
const/4 v1, 0x1
if-lez v0, :cond_18
const/4 v2, 0x1
goto :goto_19
:cond_18
const/4 v2, -0x1
.line 1367
.local v2, "layoutDirection":I
:goto_19
invoke-static {v0}, Ljava/lang/Math;->abs(I)I
move-result v3
.line 1368
.local v3, "absDelta":I
invoke-direct {p0, v2, v3, v1, p3}, Landroidx/recyclerview/widget/LinearLayoutManager;->updateLayoutState(IIZLandroidx/recyclerview/widget/RecyclerView$State;)V
.line 1369
iget-object v1, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
invoke-virtual {p0, p3, v1, p4}, Landroidx/recyclerview/widget/LinearLayoutManager;->collectPrefetchPositionsForLayoutState(Landroidx/recyclerview/widget/RecyclerView$State;Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;Landroidx/recyclerview/widget/RecyclerView$LayoutManager$LayoutPrefetchRegistry;)V
.line 1370
return-void
.line 1362
.end local v2 # "layoutDirection":I
.end local v3 # "absDelta":I
:cond_26
:goto_26
return-void
.end method
.method public collectInitialPrefetchPositions(ILandroidx/recyclerview/widget/RecyclerView$LayoutManager$LayoutPrefetchRegistry;)V
.registers 10
.param p1, "adapterItemCount" # I
.param p2, "layoutPrefetchRegistry" # Landroidx/recyclerview/widget/RecyclerView$LayoutManager$LayoutPrefetchRegistry;
.line 1279
iget-object v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mPendingSavedState:Landroidx/recyclerview/widget/LinearLayoutManager$SavedState;
const/4 v1, 0x0
const/4 v2, -0x1
if-eqz v0, :cond_15
invoke-virtual {v0}, Landroidx/recyclerview/widget/LinearLayoutManager$SavedState;->hasValidAnchor()Z
move-result v0
if-eqz v0, :cond_15
.line 1281
iget-object v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mPendingSavedState:Landroidx/recyclerview/widget/LinearLayoutManager$SavedState;
iget-boolean v0, v0, Landroidx/recyclerview/widget/LinearLayoutManager$SavedState;->mAnchorLayoutFromEnd:Z
.line 1282
.local v0, "fromEnd":Z
iget-object v3, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mPendingSavedState:Landroidx/recyclerview/widget/LinearLayoutManager$SavedState;
iget v3, v3, Landroidx/recyclerview/widget/LinearLayoutManager$SavedState;->mAnchorPosition:I
.local v3, "anchorPos":I
goto :goto_27
.line 1284
.end local v0 # "fromEnd":Z
.end local v3 # "anchorPos":I
:cond_15
invoke-direct {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->resolveShouldLayoutReverse()V
.line 1285
iget-boolean v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mShouldReverseLayout:Z
.line 1286
.restart local v0 # "fromEnd":Z
iget v3, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mPendingScrollPosition:I
if-ne v3, v2, :cond_25
.line 1287
if-eqz v0, :cond_23
add-int/lit8 v3, p1, -0x1
goto :goto_24
:cond_23
const/4 v3, 0x0
.restart local v3 # "anchorPos":I
:goto_24
goto :goto_27
.line 1289
.end local v3 # "anchorPos":I
:cond_25
iget v3, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mPendingScrollPosition:I
.line 1293
.restart local v3 # "anchorPos":I
:goto_27
if-eqz v0, :cond_2a
goto :goto_2b
:cond_2a
const/4 v2, 0x1
.line 1296
.local v2, "direction":I
:goto_2b
move v4, v3
.line 1297
.local v4, "targetPos":I
const/4 v5, 0x0
.local v5, "i":I
:goto_2d
iget v6, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mInitialPrefetchItemCount:I
if-ge v5, v6, :cond_3c
.line 1298
if-ltz v4, :cond_3c
if-ge v4, p1, :cond_3c
.line 1299
invoke-interface {p2, v4, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager$LayoutPrefetchRegistry;->addPosition(II)V
.line 1303
add-int/2addr v4, v2
.line 1297
add-int/lit8 v5, v5, 0x1
goto :goto_2d
.line 1305
.end local v5 # "i":I
:cond_3c
return-void
.end method
.method collectPrefetchPositionsForLayoutState(Landroidx/recyclerview/widget/RecyclerView$State;Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;Landroidx/recyclerview/widget/RecyclerView$LayoutManager$LayoutPrefetchRegistry;)V
.registers 7
.param p1, "state" # Landroidx/recyclerview/widget/RecyclerView$State;
.param p2, "layoutState" # Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
.param p3, "layoutPrefetchRegistry" # Landroidx/recyclerview/widget/RecyclerView$LayoutManager$LayoutPrefetchRegistry;
.line 1268
iget v0, p2, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mCurrentPosition:I
.line 1269
.local v0, "pos":I
if-ltz v0, :cond_14
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$State;->getItemCount()I
move-result v1
if-ge v0, v1, :cond_14
.line 1270
const/4 v1, 0x0
iget v2, p2, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mScrollingOffset:I
invoke-static {v1, v2}, Ljava/lang/Math;->max(II)I
move-result v1
invoke-interface {p3, v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager$LayoutPrefetchRegistry;->addPosition(II)V
.line 1272
:cond_14
return-void
.end method
.method public computeHorizontalScrollExtent(Landroidx/recyclerview/widget/RecyclerView$State;)I
.registers 3
.param p1, "state" # Landroidx/recyclerview/widget/RecyclerView$State;
.line 1134
invoke-direct {p0, p1}, Landroidx/recyclerview/widget/LinearLayoutManager;->computeScrollExtent(Landroidx/recyclerview/widget/RecyclerView$State;)I
move-result v0
return v0
.end method
.method public computeHorizontalScrollOffset(Landroidx/recyclerview/widget/RecyclerView$State;)I
.registers 3
.param p1, "state" # Landroidx/recyclerview/widget/RecyclerView$State;
.line 1124
invoke-direct {p0, p1}, Landroidx/recyclerview/widget/LinearLayoutManager;->computeScrollOffset(Landroidx/recyclerview/widget/RecyclerView$State;)I
move-result v0
return v0
.end method
.method public computeHorizontalScrollRange(Landroidx/recyclerview/widget/RecyclerView$State;)I
.registers 3
.param p1, "state" # Landroidx/recyclerview/widget/RecyclerView$State;
.line 1144
invoke-direct {p0, p1}, Landroidx/recyclerview/widget/LinearLayoutManager;->computeScrollRange(Landroidx/recyclerview/widget/RecyclerView$State;)I
move-result v0
return v0
.end method
.method public computeScrollVectorForPosition(I)Landroid/graphics/PointF;
.registers 7
.param p1, "targetPosition" # I
.line 496
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildCount()I
move-result v0
if-nez v0, :cond_8
.line 497
const/4 v0, 0x0
return-object v0
.line 499
:cond_8
const/4 v0, 0x0
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildAt(I)Landroid/view/View;
move-result-object v1
invoke-virtual {p0, v1}, Landroidx/recyclerview/widget/LinearLayoutManager;->getPosition(Landroid/view/View;)I
move-result v1
.line 500
.local v1, "firstChildPos":I
const/4 v2, 0x1
if-ge p1, v1, :cond_15
const/4 v0, 0x1
:cond_15
iget-boolean v3, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mShouldReverseLayout:Z
if-eq v0, v3, :cond_1a
const/4 v2, -0x1
:cond_1a
move v0, v2
.line 501
.local v0, "direction":I
iget v2, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientation:I
const/4 v3, 0x0
if-nez v2, :cond_27
.line 502
new-instance v2, Landroid/graphics/PointF;
int-to-float v4, v0
invoke-direct {v2, v4, v3}, Landroid/graphics/PointF;-><init>(FF)V
return-object v2
.line 504
:cond_27
new-instance v2, Landroid/graphics/PointF;
int-to-float v4, v0
invoke-direct {v2, v3, v4}, Landroid/graphics/PointF;-><init>(FF)V
return-object v2
.end method
.method public computeVerticalScrollExtent(Landroidx/recyclerview/widget/RecyclerView$State;)I
.registers 3
.param p1, "state" # Landroidx/recyclerview/widget/RecyclerView$State;
.line 1139
invoke-direct {p0, p1}, Landroidx/recyclerview/widget/LinearLayoutManager;->computeScrollExtent(Landroidx/recyclerview/widget/RecyclerView$State;)I
move-result v0
return v0
.end method
.method public computeVerticalScrollOffset(Landroidx/recyclerview/widget/RecyclerView$State;)I
.registers 3
.param p1, "state" # Landroidx/recyclerview/widget/RecyclerView$State;
.line 1129
invoke-direct {p0, p1}, Landroidx/recyclerview/widget/LinearLayoutManager;->computeScrollOffset(Landroidx/recyclerview/widget/RecyclerView$State;)I
move-result v0
return v0
.end method
.method public computeVerticalScrollRange(Landroidx/recyclerview/widget/RecyclerView$State;)I
.registers 3
.param p1, "state" # Landroidx/recyclerview/widget/RecyclerView$State;
.line 1149
invoke-direct {p0, p1}, Landroidx/recyclerview/widget/LinearLayoutManager;->computeScrollRange(Landroidx/recyclerview/widget/RecyclerView$State;)I
move-result v0
return v0
.end method
.method convertFocusDirectionToLayoutDirection(I)I
.registers 6
.param p1, "focusDirection" # I
.line 1707
const/4 v0, -0x1
const/4 v1, 0x1
if-eq p1, v1, :cond_47
const/4 v2, 0x2
if-eq p1, v2, :cond_3a
const/16 v2, 0x11
const/high16 v3, -0x80000000
if-eq p1, v2, :cond_32
const/16 v2, 0x21
if-eq p1, v2, :cond_2a
const/16 v0, 0x42
if-eq p1, v0, :cond_22
const/16 v0, 0x82
if-eq p1, v0, :cond_1a
.line 1740
return v3
.line 1728
:cond_1a
iget v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientation:I
if-ne v0, v1, :cond_1f
goto :goto_21
:cond_1f
const/high16 v1, -0x80000000
:goto_21
return v1
.line 1734
:cond_22
iget v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientation:I
if-nez v0, :cond_27
goto :goto_29
:cond_27
const/high16 v1, -0x80000000
:goto_29
return v1
.line 1725
:cond_2a
iget v2, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientation:I
if-ne v2, v1, :cond_2f
goto :goto_31
:cond_2f
const/high16 v0, -0x80000000
:goto_31
return v0
.line 1731
:cond_32
iget v1, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientation:I
if-nez v1, :cond_37
goto :goto_39
:cond_37
const/high16 v0, -0x80000000
:goto_39
return v0
.line 1717
:cond_3a
iget v2, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientation:I
if-ne v2, v1, :cond_3f
.line 1718
return v1
.line 1719
:cond_3f
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->isLayoutRTL()Z
move-result v2
if-eqz v2, :cond_46
.line 1720
return v0
.line 1722
:cond_46
return v1
.line 1709
:cond_47
iget v2, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientation:I
if-ne v2, v1, :cond_4c
.line 1710
return v0
.line 1711
:cond_4c
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->isLayoutRTL()Z
move-result v2
if-eqz v2, :cond_53
.line 1712
return v1
.line 1714
:cond_53
return v0
.end method
.method createLayoutState()Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
.registers 2
.line 1037
new-instance v0, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
invoke-direct {v0}, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;-><init>()V
return-object v0
.end method
.method ensureLayoutState()V
.registers 2
.line 1026
iget-object v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
if-nez v0, :cond_a
.line 1027
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->createLayoutState()Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
move-result-object v0
iput-object v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
.line 1029
:cond_a
return-void
.end method
.method fill(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;Landroidx/recyclerview/widget/RecyclerView$State;Z)I
.registers 12
.param p1, "recycler" # Landroidx/recyclerview/widget/RecyclerView$Recycler;
.param p2, "layoutState" # Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
.param p3, "state" # Landroidx/recyclerview/widget/RecyclerView$State;
.param p4, "stopOnFocusable" # Z
.line 1563
iget v0, p2, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mAvailable:I
.line 1564
.local v0, "start":I
iget v1, p2, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mScrollingOffset:I
const/high16 v2, -0x80000000
if-eq v1, v2, :cond_16
.line 1566
iget v1, p2, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mAvailable:I
if-gez v1, :cond_13
.line 1567
iget v1, p2, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mScrollingOffset:I
iget v3, p2, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mAvailable:I
add-int/2addr v1, v3
iput v1, p2, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mScrollingOffset:I
.line 1569
:cond_13
invoke-direct {p0, p1, p2}, Landroidx/recyclerview/widget/LinearLayoutManager;->recycleByLayoutState(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;)V
.line 1571
:cond_16
iget v1, p2, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mAvailable:I
iget v3, p2, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mExtraFillSpace:I
add-int/2addr v1, v3
.line 1572
.local v1, "remainingSpace":I
iget-object v3, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutChunkResult:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutChunkResult;
.line 1573
.local v3, "layoutChunkResult":Landroidx/recyclerview/widget/LinearLayoutManager$LayoutChunkResult;
:cond_1d
iget-boolean v4, p2, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mInfinite:Z
if-nez v4, :cond_23
if-lez v1, :cond_76
:cond_23
invoke-virtual {p2, p3}, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->hasMore(Landroidx/recyclerview/widget/RecyclerView$State;)Z
move-result v4
if-eqz v4, :cond_76
.line 1574
invoke-virtual {v3}, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutChunkResult;->resetInternal()V
.line 1578
invoke-virtual {p0, p1, p3, p2, v3}, Landroidx/recyclerview/widget/LinearLayoutManager;->layoutChunk(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;Landroidx/recyclerview/widget/LinearLayoutManager$LayoutChunkResult;)V
.line 1582
iget-boolean v4, v3, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutChunkResult;->mFinished:Z
if-eqz v4, :cond_34
.line 1583
goto :goto_76
.line 1585
:cond_34
iget v4, p2, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mOffset:I
iget v5, v3, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutChunkResult;->mConsumed:I
iget v6, p2, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mLayoutDirection:I
mul-int v5, v5, v6
add-int/2addr v4, v5
iput v4, p2, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mOffset:I
.line 1592
iget-boolean v4, v3, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutChunkResult;->mIgnoreConsumed:Z
if-eqz v4, :cond_4d
iget-object v4, p2, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mScrapList:Ljava/util/List;
if-nez v4, :cond_4d
.line 1593
invoke-virtual {p3}, Landroidx/recyclerview/widget/RecyclerView$State;->isPreLayout()Z
move-result v4
if-nez v4, :cond_57
.line 1594
:cond_4d
iget v4, p2, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mAvailable:I
iget v5, v3, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutChunkResult;->mConsumed:I
sub-int/2addr v4, v5
iput v4, p2, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mAvailable:I
.line 1596
iget v4, v3, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutChunkResult;->mConsumed:I
sub-int/2addr v1, v4
.line 1599
:cond_57
iget v4, p2, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mScrollingOffset:I
if-eq v4, v2, :cond_70
.line 1600
iget v4, p2, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mScrollingOffset:I
iget v5, v3, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutChunkResult;->mConsumed:I
add-int/2addr v4, v5
iput v4, p2, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mScrollingOffset:I
.line 1601
iget v4, p2, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mAvailable:I
if-gez v4, :cond_6d
.line 1602
iget v4, p2, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mScrollingOffset:I
iget v5, p2, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mAvailable:I
add-int/2addr v4, v5
iput v4, p2, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mScrollingOffset:I
.line 1604
:cond_6d
invoke-direct {p0, p1, p2}, Landroidx/recyclerview/widget/LinearLayoutManager;->recycleByLayoutState(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;)V
.line 1606
:cond_70
if-eqz p4, :cond_1d
iget-boolean v4, v3, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutChunkResult;->mFocusable:Z
if-eqz v4, :cond_1d
.line 1613
:cond_76
:goto_76
iget v2, p2, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mAvailable:I
sub-int v2, v0, v2
return v2
.end method
.method public findFirstCompletelyVisibleItemPosition()I
.registers 4
.line 1931
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildCount()I
move-result v0
const/4 v1, 0x0
const/4 v2, 0x1
invoke-virtual {p0, v1, v0, v2, v1}, Landroidx/recyclerview/widget/LinearLayoutManager;->findOneVisibleChild(IIZZ)Landroid/view/View;
move-result-object v0
.line 1932
.local v0, "child":Landroid/view/View;
if-nez v0, :cond_e
const/4 v1, -0x1
goto :goto_12
:cond_e
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getPosition(Landroid/view/View;)I
move-result v1
:goto_12
return v1
.end method
.method findFirstVisibleChildClosestToEnd(ZZ)Landroid/view/View;
.registers 5
.param p1, "completelyVisible" # Z
.param p2, "acceptPartiallyVisible" # Z
.line 1792
iget-boolean v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mShouldReverseLayout:Z
if-eqz v0, :cond_e
.line 1793
const/4 v0, 0x0
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildCount()I
move-result v1
invoke-virtual {p0, v0, v1, p1, p2}, Landroidx/recyclerview/widget/LinearLayoutManager;->findOneVisibleChild(IIZZ)Landroid/view/View;
move-result-object v0
return-object v0
.line 1796
:cond_e
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildCount()I
move-result v0
add-int/lit8 v0, v0, -0x1
const/4 v1, -0x1
invoke-virtual {p0, v0, v1, p1, p2}, Landroidx/recyclerview/widget/LinearLayoutManager;->findOneVisibleChild(IIZZ)Landroid/view/View;
move-result-object v0
return-object v0
.end method
.method findFirstVisibleChildClosestToStart(ZZ)Landroid/view/View;
.registers 5
.param p1, "completelyVisible" # Z
.param p2, "acceptPartiallyVisible" # Z
.line 1774
iget-boolean v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mShouldReverseLayout:Z
if-eqz v0, :cond_10
.line 1775
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildCount()I
move-result v0
add-int/lit8 v0, v0, -0x1
const/4 v1, -0x1
invoke-virtual {p0, v0, v1, p1, p2}, Landroidx/recyclerview/widget/LinearLayoutManager;->findOneVisibleChild(IIZZ)Landroid/view/View;
move-result-object v0
return-object v0
.line 1778
:cond_10
const/4 v0, 0x0
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildCount()I
move-result v1
invoke-virtual {p0, v0, v1, p1, p2}, Landroidx/recyclerview/widget/LinearLayoutManager;->findOneVisibleChild(IIZZ)Landroid/view/View;
move-result-object v0
return-object v0
.end method
.method public findFirstVisibleItemPosition()I
.registers 4
.line 1914
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildCount()I
move-result v0
const/4 v1, 0x0
const/4 v2, 0x1
invoke-virtual {p0, v1, v0, v1, v2}, Landroidx/recyclerview/widget/LinearLayoutManager;->findOneVisibleChild(IIZZ)Landroid/view/View;
move-result-object v0
.line 1915
.local v0, "child":Landroid/view/View;
if-nez v0, :cond_e
const/4 v1, -0x1
goto :goto_12
:cond_e
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getPosition(Landroid/view/View;)I
move-result v1
:goto_12
return v1
.end method
.method public findLastCompletelyVisibleItemPosition()I
.registers 5
.line 1971
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildCount()I
move-result v0
const/4 v1, 0x1
sub-int/2addr v0, v1
const/4 v2, -0x1
const/4 v3, 0x0
invoke-virtual {p0, v0, v2, v1, v3}, Landroidx/recyclerview/widget/LinearLayoutManager;->findOneVisibleChild(IIZZ)Landroid/view/View;
move-result-object v0
.line 1972
.local v0, "child":Landroid/view/View;
if-nez v0, :cond_f
goto :goto_13
:cond_f
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getPosition(Landroid/view/View;)I
move-result v2
:goto_13
return v2
.end method
.method public findLastVisibleItemPosition()I
.registers 5
.line 1954
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildCount()I
move-result v0
const/4 v1, 0x1
sub-int/2addr v0, v1
const/4 v2, -0x1
const/4 v3, 0x0
invoke-virtual {p0, v0, v2, v3, v1}, Landroidx/recyclerview/widget/LinearLayoutManager;->findOneVisibleChild(IIZZ)Landroid/view/View;
move-result-object v0
.line 1955
.local v0, "child":Landroid/view/View;
if-nez v0, :cond_f
goto :goto_13
:cond_f
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getPosition(Landroid/view/View;)I
move-result v2
:goto_13
return v2
.end method
.method findOnePartiallyOrCompletelyInvisibleChild(II)Landroid/view/View;
.registers 8
.param p1, "fromIndex" # I
.param p2, "toIndex" # I
.line 2003
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->ensureLayoutState()V
.line 2004
if-le p2, p1, :cond_7
const/4 v0, 0x1
goto :goto_c
:cond_7
if-ge p2, p1, :cond_b
const/4 v0, -0x1
goto :goto_c
:cond_b
const/4 v0, 0x0
.line 2005
.local v0, "next":I
:goto_c
if-nez v0, :cond_13
.line 2006
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildAt(I)Landroid/view/View;
move-result-object v1
return-object v1
.line 2008
:cond_13
const/4 v1, 0x0
.line 2009
.local v1, "preferredBoundsFlag":I
const/4 v2, 0x0
.line 2010
.local v2, "acceptableBoundsFlag":I
iget-object v3, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildAt(I)Landroid/view/View;
move-result-object v4
invoke-virtual {v3, v4}, Landroidx/recyclerview/widget/OrientationHelper;->getDecoratedStart(Landroid/view/View;)I
move-result v3
iget-object v4, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
.line 2011
invoke-virtual {v4}, Landroidx/recyclerview/widget/OrientationHelper;->getStartAfterPadding()I
move-result v4
if-ge v3, v4, :cond_2c
.line 2012
const/16 v1, 0x4104
.line 2014
const/16 v2, 0x4004
goto :goto_30
.line 2017
:cond_2c
const/16 v1, 0x1041
.line 2019
const/16 v2, 0x1001
.line 2022
:goto_30
iget v3, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientation:I
if-nez v3, :cond_3b
iget-object v3, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mHorizontalBoundCheck:Landroidx/recyclerview/widget/ViewBoundsCheck;
.line 2023
invoke-virtual {v3, p1, p2, v1, v2}, Landroidx/recyclerview/widget/ViewBoundsCheck;->findOneViewWithinBoundFlags(IIII)Landroid/view/View;
move-result-object v3
goto :goto_41
:cond_3b
iget-object v3, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mVerticalBoundCheck:Landroidx/recyclerview/widget/ViewBoundsCheck;
.line 2025
invoke-virtual {v3, p1, p2, v1, v2}, Landroidx/recyclerview/widget/ViewBoundsCheck;->findOneViewWithinBoundFlags(IIII)Landroid/view/View;
move-result-object v3
.line 2022
:goto_41
return-object v3
.end method
.method findOneVisibleChild(IIZZ)Landroid/view/View;
.registers 8
.param p1, "fromIndex" # I
.param p2, "toIndex" # I
.param p3, "completelyVisible" # Z
.param p4, "acceptPartiallyVisible" # Z
.line 1981
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->ensureLayoutState()V
.line 1982
const/4 v0, 0x0
.line 1983
.local v0, "preferredBoundsFlag":I
const/4 v1, 0x0
.line 1984
.local v1, "acceptableBoundsFlag":I
if-eqz p3, :cond_a
.line 1985
const/16 v0, 0x6003
goto :goto_c
.line 1988
:cond_a
const/16 v0, 0x140
.line 1991
:goto_c
if-eqz p4, :cond_10
.line 1992
const/16 v1, 0x140
.line 1995
:cond_10
iget v2, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientation:I
if-nez v2, :cond_1b
iget-object v2, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mHorizontalBoundCheck:Landroidx/recyclerview/widget/ViewBoundsCheck;
.line 1996
invoke-virtual {v2, p1, p2, v0, v1}, Landroidx/recyclerview/widget/ViewBoundsCheck;->findOneViewWithinBoundFlags(IIII)Landroid/view/View;
move-result-object v2
goto :goto_21
:cond_1b
iget-object v2, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mVerticalBoundCheck:Landroidx/recyclerview/widget/ViewBoundsCheck;
.line 1998
invoke-virtual {v2, p1, p2, v0, v1}, Landroidx/recyclerview/widget/ViewBoundsCheck;->findOneViewWithinBoundFlags(IIII)Landroid/view/View;
move-result-object v2
.line 1995
:goto_21
return-object v2
.end method
.method findReferenceChild(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;III)Landroid/view/View;
.registers 15
.param p1, "recycler" # Landroidx/recyclerview/widget/RecyclerView$Recycler;
.param p2, "state" # Landroidx/recyclerview/widget/RecyclerView$State;
.param p3, "start" # I
.param p4, "end" # I
.param p5, "itemCount" # I
.line 1846
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->ensureLayoutState()V
.line 1847
const/4 v0, 0x0
.line 1848
.local v0, "invalidMatch":Landroid/view/View;
const/4 v1, 0x0
.line 1849
.local v1, "outOfBoundsMatch":Landroid/view/View;
iget-object v2, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
invoke-virtual {v2}, Landroidx/recyclerview/widget/OrientationHelper;->getStartAfterPadding()I
move-result v2
.line 1850
.local v2, "boundsStart":I
iget-object v3, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
invoke-virtual {v3}, Landroidx/recyclerview/widget/OrientationHelper;->getEndAfterPadding()I
move-result v3
.line 1851
.local v3, "boundsEnd":I
if-le p4, p3, :cond_15
const/4 v4, 0x1
goto :goto_16
:cond_15
const/4 v4, -0x1
.line 1852
.local v4, "diff":I
:goto_16
move v5, p3
.local v5, "i":I
:goto_17
if-eq v5, p4, :cond_4c
.line 1853
invoke-virtual {p0, v5}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildAt(I)Landroid/view/View;
move-result-object v6
.line 1854
.local v6, "view":Landroid/view/View;
invoke-virtual {p0, v6}, Landroidx/recyclerview/widget/LinearLayoutManager;->getPosition(Landroid/view/View;)I
move-result v7
.line 1855
.local v7, "position":I
if-ltz v7, :cond_4a
if-ge v7, p5, :cond_4a
.line 1856
invoke-virtual {v6}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
move-result-object v8
check-cast v8, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
invoke-virtual {v8}, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->isItemRemoved()Z
move-result v8
if-eqz v8, :cond_35
.line 1857
if-nez v0, :cond_4a
.line 1858
move-object v0, v6
goto :goto_4a
.line 1860
:cond_35
iget-object v8, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
invoke-virtual {v8, v6}, Landroidx/recyclerview/widget/OrientationHelper;->getDecoratedStart(Landroid/view/View;)I
move-result v8
if-ge v8, v3, :cond_47
iget-object v8, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
.line 1861
invoke-virtual {v8, v6}, Landroidx/recyclerview/widget/OrientationHelper;->getDecoratedEnd(Landroid/view/View;)I
move-result v8
if-ge v8, v2, :cond_46
goto :goto_47
.line 1866
:cond_46
return-object v6
.line 1862
:cond_47
:goto_47
if-nez v1, :cond_4a
.line 1863
move-object v1, v6
.line 1852
.end local v6 # "view":Landroid/view/View;
.end local v7 # "position":I
:cond_4a
:goto_4a
add-int/2addr v5, v4
goto :goto_17
.line 1870
.end local v5 # "i":I
:cond_4c
if-eqz v1, :cond_50
move-object v5, v1
goto :goto_51
:cond_50
move-object v5, v0
:goto_51
return-object v5
.end method
.method public findViewByPosition(I)Landroid/view/View;
.registers 7
.param p1, "position" # I
.line 393
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildCount()I
move-result v0
.line 394
.local v0, "childCount":I
if-nez v0, :cond_8
.line 395
const/4 v1, 0x0
return-object v1
.line 397
:cond_8
const/4 v1, 0x0
invoke-virtual {p0, v1}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildAt(I)Landroid/view/View;
move-result-object v1
invoke-virtual {p0, v1}, Landroidx/recyclerview/widget/LinearLayoutManager;->getPosition(Landroid/view/View;)I
move-result v1
.line 398
.local v1, "firstChild":I
sub-int v2, p1, v1
.line 399
.local v2, "viewPosition":I
if-ltz v2, :cond_22
if-ge v2, v0, :cond_22
.line 400
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildAt(I)Landroid/view/View;
move-result-object v3
.line 401
.local v3, "child":Landroid/view/View;
invoke-virtual {p0, v3}, Landroidx/recyclerview/widget/LinearLayoutManager;->getPosition(Landroid/view/View;)I
move-result v4
if-ne v4, p1, :cond_22
.line 402
return-object v3
.line 406
.end local v3 # "child":Landroid/view/View;
:cond_22
invoke-super {p0, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->findViewByPosition(I)Landroid/view/View;
move-result-object v3
return-object v3
.end method
.method public generateDefaultLayoutParams()Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
.registers 3
.line 186
new-instance v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
const/4 v1, -0x2
invoke-direct {v0, v1, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;-><init>(II)V
return-object v0
.end method
.method protected getExtraLayoutSpace(Landroidx/recyclerview/widget/RecyclerView$State;)I
.registers 3
.param p1, "state" # Landroidx/recyclerview/widget/RecyclerView$State;
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.line 433
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$State;->hasTargetScrollPosition()Z
move-result v0
if-eqz v0, :cond_d
.line 434
iget-object v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/OrientationHelper;->getTotalSpace()I
move-result v0
return v0
.line 436
:cond_d
const/4 v0, 0x0
return v0
.end method
.method public getInitialPrefetchItemCount()I
.registers 2
.line 1353
iget v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mInitialPrefetchItemCount:I
return v0
.end method
.method public getOrientation()I
.registers 2
.line 316
iget v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientation:I
return v0
.end method
.method public getRecycleChildrenOnDetach()Z
.registers 2
.line 198
iget-boolean v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mRecycleChildrenOnDetach:Z
return v0
.end method
.method public getReverseLayout()Z
.registers 2
.line 362
iget-boolean v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mReverseLayout:Z
return v0
.end method
.method public getStackFromEnd()Z
.registers 2
.line 305
iget-boolean v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mStackFromEnd:Z
return v0
.end method
.method public isAutoMeasureEnabled()Z
.registers 2
.line 178
const/4 v0, 0x1
return v0
.end method
.method protected isLayoutRTL()Z
.registers 3
.line 1022
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getLayoutDirection()I
move-result v0
const/4 v1, 0x1
if-ne v0, v1, :cond_8
goto :goto_9
:cond_8
const/4 v1, 0x0
:goto_9
return v1
.end method
.method public isSmoothScrollbarEnabled()Z
.registers 2
.line 1214
iget-boolean v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mSmoothScrollbarEnabled:Z
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 22
.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 1618
move-object/from16 v6, p0
move-object/from16 v7, p3
move-object/from16 v8, p4
move-object/from16 v9, p1
invoke-virtual {v7, v9}, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->next(Landroidx/recyclerview/widget/RecyclerView$Recycler;)Landroid/view/View;
move-result-object v10
.line 1619
.local v10, "view":Landroid/view/View;
const/4 v11, 0x1
if-nez v10, :cond_12
.line 1625
iput-boolean v11, v8, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutChunkResult;->mFinished:Z
.line 1626
return-void
.line 1628
:cond_12
invoke-virtual {v10}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
move-result-object v0
move-object v12, v0
check-cast v12, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
.line 1629
.local v12, "params":Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
iget-object v0, v7, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mScrapList:Ljava/util/List;
const/4 v1, -0x1
const/4 v2, 0x0
if-nez v0, :cond_32
.line 1630
iget-boolean v0, v6, Landroidx/recyclerview/widget/LinearLayoutManager;->mShouldReverseLayout:Z
iget v3, v7, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mLayoutDirection:I
if-ne v3, v1, :cond_27
const/4 v3, 0x1
goto :goto_28
:cond_27
const/4 v3, 0x0
:goto_28
if-ne v0, v3, :cond_2e
.line 1632
invoke-virtual {v6, v10}, Landroidx/recyclerview/widget/LinearLayoutManager;->addView(Landroid/view/View;)V
goto :goto_44
.line 1634
:cond_2e
invoke-virtual {v6, v10, v2}, Landroidx/recyclerview/widget/LinearLayoutManager;->addView(Landroid/view/View;I)V
goto :goto_44
.line 1637
:cond_32
iget-boolean v0, v6, Landroidx/recyclerview/widget/LinearLayoutManager;->mShouldReverseLayout:Z
iget v3, v7, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mLayoutDirection:I
if-ne v3, v1, :cond_3a
const/4 v3, 0x1
goto :goto_3b
:cond_3a
const/4 v3, 0x0
:goto_3b
if-ne v0, v3, :cond_41
.line 1639
invoke-virtual {v6, v10}, Landroidx/recyclerview/widget/LinearLayoutManager;->addDisappearingView(Landroid/view/View;)V
goto :goto_44
.line 1641
:cond_41
invoke-virtual {v6, v10, v2}, Landroidx/recyclerview/widget/LinearLayoutManager;->addDisappearingView(Landroid/view/View;I)V
.line 1644
:goto_44
invoke-virtual {v6, v10, v2, v2}, Landroidx/recyclerview/widget/LinearLayoutManager;->measureChildWithMargins(Landroid/view/View;II)V
.line 1645
iget-object v0, v6, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
invoke-virtual {v0, v10}, Landroidx/recyclerview/widget/OrientationHelper;->getDecoratedMeasurement(Landroid/view/View;)I
move-result v0
iput v0, v8, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutChunkResult;->mConsumed:I
.line 1647
iget v0, v6, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientation:I
if-ne v0, v11, :cond_94
.line 1648
invoke-virtual/range {p0 .. p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->isLayoutRTL()Z
move-result v0
if-eqz v0, :cond_6b
.line 1649
invoke-virtual/range {p0 .. p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getWidth()I
move-result v0
invoke-virtual/range {p0 .. p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getPaddingRight()I
move-result v2
sub-int/2addr v0, v2
.line 1650
.local v0, "right":I
iget-object v2, v6, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
invoke-virtual {v2, v10}, Landroidx/recyclerview/widget/OrientationHelper;->getDecoratedMeasurementInOther(Landroid/view/View;)I
move-result v2
sub-int v2, v0, v2
.local v2, "left":I
goto :goto_76
.line 1652
.end local v0 # "right":I
.end local v2 # "left":I
:cond_6b
invoke-virtual/range {p0 .. p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getPaddingLeft()I
move-result v2
.line 1653
.restart local v2 # "left":I
iget-object v0, v6, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
invoke-virtual {v0, v10}, Landroidx/recyclerview/widget/OrientationHelper;->getDecoratedMeasurementInOther(Landroid/view/View;)I
move-result v0
add-int/2addr v0, v2
.line 1655
.restart local v0 # "right":I
:goto_76
iget v3, v7, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mLayoutDirection:I
if-ne v3, v1, :cond_87
.line 1656
iget v1, v7, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mOffset:I
.line 1657
.local v1, "bottom":I
iget v3, v7, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mOffset:I
iget v4, v8, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutChunkResult;->mConsumed:I
sub-int/2addr v3, v4
move v13, v0
move v14, v1
move v15, v2
move/from16 v16, v3
.local v3, "top":I
goto :goto_bc
.line 1659
.end local v1 # "bottom":I
.end local v3 # "top":I
:cond_87
iget v3, v7, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mOffset:I
.line 1660
.restart local v3 # "top":I
iget v1, v7, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mOffset:I
iget v4, v8, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutChunkResult;->mConsumed:I
add-int/2addr v1, v4
move v13, v0
move v14, v1
move v15, v2
move/from16 v16, v3
.restart local v1 # "bottom":I
goto :goto_bc
.line 1663
.end local v0 # "right":I
.end local v1 # "bottom":I
.end local v2 # "left":I
.end local v3 # "top":I
:cond_94
invoke-virtual/range {p0 .. p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getPaddingTop()I
move-result v3
.line 1664
.restart local v3 # "top":I
iget-object v0, v6, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
invoke-virtual {v0, v10}, Landroidx/recyclerview/widget/OrientationHelper;->getDecoratedMeasurementInOther(Landroid/view/View;)I
move-result v0
add-int/2addr v0, v3
.line 1666
.local v0, "bottom":I
iget v2, v7, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mLayoutDirection:I
if-ne v2, v1, :cond_b0
.line 1667
iget v1, v7, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mOffset:I
.line 1668
.local v1, "right":I
iget v2, v7, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mOffset:I
iget v4, v8, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutChunkResult;->mConsumed:I
sub-int/2addr v2, v4
move v14, v0
move v13, v1
move v15, v2
move/from16 v16, v3
.restart local v2 # "left":I
goto :goto_bc
.line 1670
.end local v1 # "right":I
.end local v2 # "left":I
:cond_b0
iget v2, v7, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mOffset:I
.line 1671
.restart local v2 # "left":I
iget v1, v7, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mOffset:I
iget v4, v8, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutChunkResult;->mConsumed:I
add-int/2addr v1, v4
move v14, v0
move v13, v1
move v15, v2
move/from16 v16, v3
.line 1676
.end local v0 # "bottom":I
.end local v2 # "left":I
.end local v3 # "top":I
.local v13, "right":I
.local v14, "bottom":I
.local v15, "left":I
.local v16, "top":I
:goto_bc
move-object/from16 v0, p0
move-object v1, v10
move v2, v15
move/from16 v3, v16
move v4, v13
move v5, v14
invoke-virtual/range {v0 .. v5}, Landroidx/recyclerview/widget/LinearLayoutManager;->layoutDecoratedWithMargins(Landroid/view/View;IIII)V
.line 1683
invoke-virtual {v12}, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->isItemRemoved()Z
move-result v0
if-nez v0, :cond_d3
invoke-virtual {v12}, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->isItemChanged()Z
move-result v0
if-eqz v0, :cond_d5
.line 1684
:cond_d3
iput-boolean v11, v8, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutChunkResult;->mIgnoreConsumed:Z
.line 1686
:cond_d5
invoke-virtual {v10}, Landroid/view/View;->hasFocusable()Z
move-result v0
iput-boolean v0, v8, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutChunkResult;->mFocusable:Z
.line 1687
return-void
.end method
.method onAnchorReady(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;I)V
.registers 5
.param p1, "recycler" # Landroidx/recyclerview/widget/RecyclerView$Recycler;
.param p2, "state" # Landroidx/recyclerview/widget/RecyclerView$State;
.param p3, "anchorInfo" # Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;
.param p4, "firstLayoutItemDirection" # I
.line 729
return-void
.end method
.method public onDetachedFromWindow(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$Recycler;)V
.registers 4
.param p1, "view" # Landroidx/recyclerview/widget/RecyclerView;
.param p2, "recycler" # Landroidx/recyclerview/widget/RecyclerView$Recycler;
.line 220
invoke-super {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onDetachedFromWindow(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$Recycler;)V
.line 221
iget-boolean v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mRecycleChildrenOnDetach:Z
if-eqz v0, :cond_d
.line 222
invoke-virtual {p0, p2}, Landroidx/recyclerview/widget/LinearLayoutManager;->removeAndRecycleAllViews(Landroidx/recyclerview/widget/RecyclerView$Recycler;)V
.line 223
invoke-virtual {p2}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->clear()V
.line 225
:cond_d
return-void
.end method
.method public onFocusSearchFailed(Landroid/view/View;ILandroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)Landroid/view/View;
.registers 11
.param p1, "focused" # Landroid/view/View;
.param p2, "focusDirection" # I
.param p3, "recycler" # Landroidx/recyclerview/widget/RecyclerView$Recycler;
.param p4, "state" # Landroidx/recyclerview/widget/RecyclerView$State;
.line 2032
invoke-direct {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->resolveShouldLayoutReverse()V
.line 2033
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildCount()I
move-result v0
const/4 v1, 0x0
if-nez v0, :cond_b
.line 2034
return-object v1
.line 2037
:cond_b
invoke-virtual {p0, p2}, Landroidx/recyclerview/widget/LinearLayoutManager;->convertFocusDirectionToLayoutDirection(I)I
move-result v0
.line 2038
.local v0, "layoutDir":I
const/high16 v2, -0x80000000
if-ne v0, v2, :cond_14
.line 2039
return-object v1
.line 2041
:cond_14
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->ensureLayoutState()V
.line 2042
const v3, 0x3eaaaaab
iget-object v4, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
invoke-virtual {v4}, Landroidx/recyclerview/widget/OrientationHelper;->getTotalSpace()I
move-result v4
int-to-float v4, v4
mul-float v4, v4, v3
float-to-int v3, v4
.line 2043
.local v3, "maxScroll":I
const/4 v4, 0x0
invoke-direct {p0, v0, v3, v4, p4}, Landroidx/recyclerview/widget/LinearLayoutManager;->updateLayoutState(IIZLandroidx/recyclerview/widget/RecyclerView$State;)V
.line 2044
iget-object v5, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iput v2, v5, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mScrollingOffset:I
.line 2045
iget-object v2, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iput-boolean v4, v2, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mRecycle:Z
.line 2046
iget-object v2, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
const/4 v4, 0x1
invoke-virtual {p0, p3, v2, p4, v4}, Landroidx/recyclerview/widget/LinearLayoutManager;->fill(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;Landroidx/recyclerview/widget/RecyclerView$State;Z)I
.line 2053
const/4 v2, -0x1
if-ne v0, v2, :cond_3e
.line 2054
invoke-direct {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->findPartiallyOrCompletelyInvisibleChildClosestToStart()Landroid/view/View;
move-result-object v4
.local v4, "nextCandidate":Landroid/view/View;
goto :goto_42
.line 2056
.end local v4 # "nextCandidate":Landroid/view/View;
:cond_3e
invoke-direct {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->findPartiallyOrCompletelyInvisibleChildClosestToEnd()Landroid/view/View;
move-result-object v4
.line 2061
.restart local v4 # "nextCandidate":Landroid/view/View;
:goto_42
if-ne v0, v2, :cond_49
.line 2062
invoke-direct {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildClosestToStart()Landroid/view/View;
move-result-object v2
.local v2, "nextFocus":Landroid/view/View;
goto :goto_4d
.line 2064
.end local v2 # "nextFocus":Landroid/view/View;
:cond_49
invoke-direct {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildClosestToEnd()Landroid/view/View;
move-result-object v2
.line 2066
.restart local v2 # "nextFocus":Landroid/view/View;
:goto_4d
invoke-virtual {v2}, Landroid/view/View;->hasFocusable()Z
move-result v5
if-eqz v5, :cond_57
.line 2067
if-nez v4, :cond_56
.line 2068
return-object v1
.line 2070
:cond_56
return-object v2
.line 2072
:cond_57
return-object v4
.end method
.method public onInitializeAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)V
.registers 3
.param p1, "event" # Landroid/view/accessibility/AccessibilityEvent;
.line 229
invoke-super {p0, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onInitializeAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)V
.line 230
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildCount()I
move-result v0
if-lez v0, :cond_17
.line 231
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->findFirstVisibleItemPosition()I
move-result v0
invoke-virtual {p1, v0}, Landroid/view/accessibility/AccessibilityEvent;->setFromIndex(I)V
.line 232
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->findLastVisibleItemPosition()I
move-result v0
invoke-virtual {p1, v0}, Landroid/view/accessibility/AccessibilityEvent;->setToIndex(I)V
.line 234
:cond_17
return-void
.end method
.method public onLayoutChildren(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)V
.registers 14
.param p1, "recycler" # Landroidx/recyclerview/widget/RecyclerView$Recycler;
.param p2, "state" # Landroidx/recyclerview/widget/RecyclerView$State;
.line 523
iget-object v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mPendingSavedState:Landroidx/recyclerview/widget/LinearLayoutManager$SavedState;
const/4 v1, -0x1
if-nez v0, :cond_9
iget v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mPendingScrollPosition:I
if-eq v0, v1, :cond_13
.line 524
:cond_9
invoke-virtual {p2}, Landroidx/recyclerview/widget/RecyclerView$State;->getItemCount()I
move-result v0
if-nez v0, :cond_13
.line 525
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/LinearLayoutManager;->removeAndRecycleAllViews(Landroidx/recyclerview/widget/RecyclerView$Recycler;)V
.line 526
return-void
.line 529
:cond_13
iget-object v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mPendingSavedState:Landroidx/recyclerview/widget/LinearLayoutManager$SavedState;
if-eqz v0, :cond_23
invoke-virtual {v0}, Landroidx/recyclerview/widget/LinearLayoutManager$SavedState;->hasValidAnchor()Z
move-result v0
if-eqz v0, :cond_23
.line 530
iget-object v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mPendingSavedState:Landroidx/recyclerview/widget/LinearLayoutManager$SavedState;
iget v0, v0, Landroidx/recyclerview/widget/LinearLayoutManager$SavedState;->mAnchorPosition:I
iput v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mPendingScrollPosition:I
.line 533
:cond_23
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->ensureLayoutState()V
.line 534
iget-object v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
const/4 v2, 0x0
iput-boolean v2, v0, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mRecycle:Z
.line 536
invoke-direct {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->resolveShouldLayoutReverse()V
.line 538
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getFocusedChild()Landroid/view/View;
move-result-object v0
.line 539
.local v0, "focused":Landroid/view/View;
iget-object v3, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mAnchorInfo:Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;
iget-boolean v3, v3, Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;->mValid:Z
const/4 v4, 0x1
if-eqz v3, :cond_6a
iget v3, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mPendingScrollPosition:I
if-ne v3, v1, :cond_6a
iget-object v3, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mPendingSavedState:Landroidx/recyclerview/widget/LinearLayoutManager$SavedState;
if-eqz v3, :cond_42
goto :goto_6a
.line 546
:cond_42
if-eqz v0, :cond_81
iget-object v3, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
invoke-virtual {v3, v0}, Landroidx/recyclerview/widget/OrientationHelper;->getDecoratedStart(Landroid/view/View;)I
move-result v3
iget-object v5, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
.line 547
invoke-virtual {v5}, Landroidx/recyclerview/widget/OrientationHelper;->getEndAfterPadding()I
move-result v5
if-ge v3, v5, :cond_60
iget-object v3, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
.line 548
invoke-virtual {v3, v0}, Landroidx/recyclerview/widget/OrientationHelper;->getDecoratedEnd(Landroid/view/View;)I
move-result v3
iget-object v5, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
.line 549
invoke-virtual {v5}, Landroidx/recyclerview/widget/OrientationHelper;->getStartAfterPadding()I
move-result v5
if-gt v3, v5, :cond_81
.line 561
:cond_60
iget-object v3, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mAnchorInfo:Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getPosition(Landroid/view/View;)I
move-result v5
invoke-virtual {v3, v0, v5}, Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;->assignFromViewAndKeepVisibleRect(Landroid/view/View;I)V
goto :goto_81
.line 541
:cond_6a
:goto_6a
iget-object v3, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mAnchorInfo:Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;
invoke-virtual {v3}, Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;->reset()V
.line 542
iget-object v3, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mAnchorInfo:Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;
iget-boolean v5, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mShouldReverseLayout:Z
iget-boolean v6, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mStackFromEnd:Z
xor-int/2addr v5, v6
iput-boolean v5, v3, Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;->mLayoutFromEnd:Z
.line 544
iget-object v3, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mAnchorInfo:Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;
invoke-direct {p0, p1, p2, v3}, Landroidx/recyclerview/widget/LinearLayoutManager;->updateAnchorInfoForLayout(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;)V
.line 545
iget-object v3, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mAnchorInfo:Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;
iput-boolean v4, v3, Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;->mValid:Z
.line 570
:cond_81
:goto_81
iget-object v3, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iget v5, v3, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mLastScrollDelta:I
if-ltz v5, :cond_89
const/4 v5, 0x1
goto :goto_8a
:cond_89
const/4 v5, -0x1
:goto_8a
iput v5, v3, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mLayoutDirection:I
.line 572
iget-object v3, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mReusableIntPair:[I
aput v2, v3, v2
.line 573
aput v2, v3, v4
.line 574
invoke-virtual {p0, p2, v3}, Landroidx/recyclerview/widget/LinearLayoutManager;->calculateExtraLayoutSpace(Landroidx/recyclerview/widget/RecyclerView$State;[I)V
.line 575
iget-object v3, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mReusableIntPair:[I
aget v3, v3, v2
invoke-static {v2, v3}, Ljava/lang/Math;->max(II)I
move-result v3
iget-object v5, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
.line 576
invoke-virtual {v5}, Landroidx/recyclerview/widget/OrientationHelper;->getStartAfterPadding()I
move-result v5
add-int/2addr v3, v5
.line 577
.local v3, "extraForStart":I
iget-object v5, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mReusableIntPair:[I
aget v5, v5, v4
invoke-static {v2, v5}, Ljava/lang/Math;->max(II)I
move-result v5
iget-object v6, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
.line 578
invoke-virtual {v6}, Landroidx/recyclerview/widget/OrientationHelper;->getEndPadding()I
move-result v6
add-int/2addr v5, v6
.line 579
.local v5, "extraForEnd":I
invoke-virtual {p2}, Landroidx/recyclerview/widget/RecyclerView$State;->isPreLayout()Z
move-result v6
if-eqz v6, :cond_f4
iget v6, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mPendingScrollPosition:I
if-eq v6, v1, :cond_f4
iget v7, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mPendingScrollPositionOffset:I
const/high16 v8, -0x80000000
if-eq v7, v8, :cond_f4
.line 584
invoke-virtual {p0, v6}, Landroidx/recyclerview/widget/LinearLayoutManager;->findViewByPosition(I)Landroid/view/View;
move-result-object v6
.line 585
.local v6, "existing":Landroid/view/View;
if-eqz v6, :cond_f4
.line 588
iget-boolean v7, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mPendingScrollPositionBottom:Z
if-eqz v7, :cond_df
.line 589
iget-object v7, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
invoke-virtual {v7}, Landroidx/recyclerview/widget/OrientationHelper;->getEndAfterPadding()I
move-result v7
iget-object v8, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
.line 590
invoke-virtual {v8, v6}, Landroidx/recyclerview/widget/OrientationHelper;->getDecoratedEnd(Landroid/view/View;)I
move-result v8
sub-int/2addr v7, v8
.line 591
.local v7, "current":I
iget v8, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mPendingScrollPositionOffset:I
sub-int v8, v7, v8
.local v8, "upcomingOffset":I
goto :goto_ef
.line 593
.end local v7 # "current":I
.end local v8 # "upcomingOffset":I
:cond_df
iget-object v7, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
invoke-virtual {v7, v6}, Landroidx/recyclerview/widget/OrientationHelper;->getDecoratedStart(Landroid/view/View;)I
move-result v7
iget-object v8, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
.line 594
invoke-virtual {v8}, Landroidx/recyclerview/widget/OrientationHelper;->getStartAfterPadding()I
move-result v8
sub-int/2addr v7, v8
.line 595
.restart local v7 # "current":I
iget v8, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mPendingScrollPositionOffset:I
sub-int/2addr v8, v7
.line 597
.restart local v8 # "upcomingOffset":I
:goto_ef
if-lez v8, :cond_f3
.line 598
add-int/2addr v3, v8
goto :goto_f4
.line 600
:cond_f3
sub-int/2addr v5, v8
.line 607
.end local v6 # "existing":Landroid/view/View;
.end local v7 # "current":I
.end local v8 # "upcomingOffset":I
:cond_f4
:goto_f4
iget-object v6, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mAnchorInfo:Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;
iget-boolean v6, v6, Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;->mLayoutFromEnd:Z
if-eqz v6, :cond_100
.line 608
iget-boolean v6, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mShouldReverseLayout:Z
if-eqz v6, :cond_ff
const/4 v1, 0x1
.local v1, "firstLayoutDirection":I
:cond_ff
goto :goto_106
.line 611
.end local v1 # "firstLayoutDirection":I
:cond_100
iget-boolean v6, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mShouldReverseLayout:Z
if-eqz v6, :cond_105
goto :goto_106
:cond_105
const/4 v1, 0x1
.line 615
.restart local v1 # "firstLayoutDirection":I
:goto_106
iget-object v6, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mAnchorInfo:Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;
invoke-virtual {p0, p1, p2, v6, v1}, Landroidx/recyclerview/widget/LinearLayoutManager;->onAnchorReady(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;I)V
.line 616
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/LinearLayoutManager;->detachAndScrapAttachedViews(Landroidx/recyclerview/widget/RecyclerView$Recycler;)V
.line 617
iget-object v6, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->resolveIsInfinite()Z
move-result v7
iput-boolean v7, v6, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mInfinite:Z
.line 618
iget-object v6, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
invoke-virtual {p2}, Landroidx/recyclerview/widget/RecyclerView$State;->isPreLayout()Z
move-result v7
iput-boolean v7, v6, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mIsPreLayout:Z
.line 621
iget-object v6, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iput v2, v6, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mNoRecycleSpace:I
.line 622
iget-object v6, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mAnchorInfo:Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;
iget-boolean v6, v6, Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;->mLayoutFromEnd:Z
if-eqz v6, :cond_181
.line 624
iget-object v6, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mAnchorInfo:Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;
invoke-direct {p0, v6}, Landroidx/recyclerview/widget/LinearLayoutManager;->updateLayoutStateToFillStart(Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;)V
.line 625
iget-object v6, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iput v3, v6, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mExtraFillSpace:I
.line 626
iget-object v6, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
invoke-virtual {p0, p1, v6, p2, v2}, Landroidx/recyclerview/widget/LinearLayoutManager;->fill(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;Landroidx/recyclerview/widget/RecyclerView$State;Z)I
.line 627
iget-object v6, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iget v6, v6, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mOffset:I
.line 628
.local v6, "startOffset":I
iget-object v7, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iget v7, v7, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mCurrentPosition:I
.line 629
.local v7, "firstElement":I
iget-object v8, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iget v8, v8, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mAvailable:I
if-lez v8, :cond_149
.line 630
iget-object v8, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iget v8, v8, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mAvailable:I
add-int/2addr v5, v8
.line 633
:cond_149
iget-object v8, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mAnchorInfo:Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;
invoke-direct {p0, v8}, Landroidx/recyclerview/widget/LinearLayoutManager;->updateLayoutStateToFillEnd(Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;)V
.line 634
iget-object v8, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iput v5, v8, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mExtraFillSpace:I
.line 635
iget-object v8, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iget v9, v8, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mCurrentPosition:I
iget-object v10, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iget v10, v10, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mItemDirection:I
add-int/2addr v9, v10
iput v9, v8, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mCurrentPosition:I
.line 636
iget-object v8, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
invoke-virtual {p0, p1, v8, p2, v2}, Landroidx/recyclerview/widget/LinearLayoutManager;->fill(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;Landroidx/recyclerview/widget/RecyclerView$State;Z)I
.line 637
iget-object v8, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iget v8, v8, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mOffset:I
.line 639
.local v8, "endOffset":I
iget-object v9, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iget v9, v9, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mAvailable:I
if-lez v9, :cond_180
.line 641
iget-object v9, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iget v3, v9, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mAvailable:I
.line 642
invoke-direct {p0, v7, v6}, Landroidx/recyclerview/widget/LinearLayoutManager;->updateLayoutStateToFillStart(II)V
.line 643
iget-object v9, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iput v3, v9, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mExtraFillSpace:I
.line 644
iget-object v9, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
invoke-virtual {p0, p1, v9, p2, v2}, Landroidx/recyclerview/widget/LinearLayoutManager;->fill(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;Landroidx/recyclerview/widget/RecyclerView$State;Z)I
.line 645
iget-object v9, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iget v6, v9, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mOffset:I
.line 647
.end local v7 # "firstElement":I
:cond_180
goto :goto_1dc
.line 649
.end local v6 # "startOffset":I
.end local v8 # "endOffset":I
:cond_181
iget-object v6, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mAnchorInfo:Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;
invoke-direct {p0, v6}, Landroidx/recyclerview/widget/LinearLayoutManager;->updateLayoutStateToFillEnd(Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;)V
.line 650
iget-object v6, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iput v5, v6, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mExtraFillSpace:I
.line 651
iget-object v6, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
invoke-virtual {p0, p1, v6, p2, v2}, Landroidx/recyclerview/widget/LinearLayoutManager;->fill(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;Landroidx/recyclerview/widget/RecyclerView$State;Z)I
.line 652
iget-object v6, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iget v8, v6, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mOffset:I
.line 653
.restart local v8 # "endOffset":I
iget-object v6, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iget v6, v6, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mCurrentPosition:I
.line 654
.local v6, "lastElement":I
iget-object v7, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iget v7, v7, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mAvailable:I
if-lez v7, :cond_1a2
.line 655
iget-object v7, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iget v7, v7, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mAvailable:I
add-int/2addr v3, v7
.line 658
:cond_1a2
iget-object v7, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mAnchorInfo:Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;
invoke-direct {p0, v7}, Landroidx/recyclerview/widget/LinearLayoutManager;->updateLayoutStateToFillStart(Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;)V
.line 659
iget-object v7, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iput v3, v7, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mExtraFillSpace:I
.line 660
iget-object v7, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iget v9, v7, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mCurrentPosition:I
iget-object v10, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iget v10, v10, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mItemDirection:I
add-int/2addr v9, v10
iput v9, v7, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mCurrentPosition:I
.line 661
iget-object v7, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
invoke-virtual {p0, p1, v7, p2, v2}, Landroidx/recyclerview/widget/LinearLayoutManager;->fill(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;Landroidx/recyclerview/widget/RecyclerView$State;Z)I
.line 662
iget-object v7, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iget v7, v7, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mOffset:I
.line 664
.local v7, "startOffset":I
iget-object v9, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iget v9, v9, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mAvailable:I
if-lez v9, :cond_1db
.line 665
iget-object v9, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iget v5, v9, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mAvailable:I
.line 667
invoke-direct {p0, v6, v8}, Landroidx/recyclerview/widget/LinearLayoutManager;->updateLayoutStateToFillEnd(II)V
.line 668
iget-object v9, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iput v5, v9, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mExtraFillSpace:I
.line 669
iget-object v9, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
invoke-virtual {p0, p1, v9, p2, v2}, Landroidx/recyclerview/widget/LinearLayoutManager;->fill(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;Landroidx/recyclerview/widget/RecyclerView$State;Z)I
.line 670
iget-object v9, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iget v8, v9, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mOffset:I
move v6, v7
goto :goto_1dc
.line 664
:cond_1db
move v6, v7
.line 677
.end local v7 # "startOffset":I
.local v6, "startOffset":I
:goto_1dc
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildCount()I
move-result v7
if-lez v7, :cond_202
.line 681
iget-boolean v7, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mShouldReverseLayout:Z
iget-boolean v9, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mStackFromEnd:Z
xor-int/2addr v7, v9
if-eqz v7, :cond_1f6
.line 682
invoke-direct {p0, v8, p1, p2, v4}, Landroidx/recyclerview/widget/LinearLayoutManager;->fixLayoutEndGap(ILandroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;Z)I
move-result v4
.line 683
.local v4, "fixOffset":I
add-int/2addr v6, v4
.line 684
add-int/2addr v8, v4
.line 685
invoke-direct {p0, v6, p1, p2, v2}, Landroidx/recyclerview/widget/LinearLayoutManager;->fixLayoutStartGap(ILandroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;Z)I
move-result v2
.line 686
.end local v4 # "fixOffset":I
.local v2, "fixOffset":I
add-int/2addr v6, v2
.line 687
add-int/2addr v8, v2
.line 688
.end local v2 # "fixOffset":I
goto :goto_202
.line 689
:cond_1f6
invoke-direct {p0, v6, p1, p2, v4}, Landroidx/recyclerview/widget/LinearLayoutManager;->fixLayoutStartGap(ILandroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;Z)I
move-result v4
.line 690
.restart local v4 # "fixOffset":I
add-int/2addr v6, v4
.line 691
add-int/2addr v8, v4
.line 692
invoke-direct {p0, v8, p1, p2, v2}, Landroidx/recyclerview/widget/LinearLayoutManager;->fixLayoutEndGap(ILandroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;Z)I
move-result v2
.line 693
.end local v4 # "fixOffset":I
.restart local v2 # "fixOffset":I
add-int/2addr v6, v2
.line 694
add-int/2addr v8, v2
.line 697
.end local v2 # "fixOffset":I
:cond_202
:goto_202
invoke-direct {p0, p1, p2, v6, v8}, Landroidx/recyclerview/widget/LinearLayoutManager;->layoutForPredictiveAnimations(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;II)V
.line 698
invoke-virtual {p2}, Landroidx/recyclerview/widget/RecyclerView$State;->isPreLayout()Z
move-result v2
if-nez v2, :cond_211
.line 699
iget-object v2, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
invoke-virtual {v2}, Landroidx/recyclerview/widget/OrientationHelper;->onLayoutComplete()V
goto :goto_216
.line 701
:cond_211
iget-object v2, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mAnchorInfo:Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;
invoke-virtual {v2}, Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;->reset()V
.line 703
:goto_216
iget-boolean v2, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mStackFromEnd:Z
iput-boolean v2, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLastStackFromEnd:Z
.line 707
return-void
.end method
.method public onLayoutCompleted(Landroidx/recyclerview/widget/RecyclerView$State;)V
.registers 3
.param p1, "state" # Landroidx/recyclerview/widget/RecyclerView$State;
.line 711
invoke-super {p0, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onLayoutCompleted(Landroidx/recyclerview/widget/RecyclerView$State;)V
.line 712
const/4 v0, 0x0
iput-object v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mPendingSavedState:Landroidx/recyclerview/widget/LinearLayoutManager$SavedState;
.line 713
const/4 v0, -0x1
iput v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mPendingScrollPosition:I
.line 714
const/high16 v0, -0x80000000
iput v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mPendingScrollPositionOffset:I
.line 715
iget-object v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mAnchorInfo:Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;
invoke-virtual {v0}, Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;->reset()V
.line 716
return-void
.end method
.method public onRestoreInstanceState(Landroid/os/Parcelable;)V
.registers 3
.param p1, "state" # Landroid/os/Parcelable;
.line 265
instance-of v0, p1, Landroidx/recyclerview/widget/LinearLayoutManager$SavedState;
if-eqz v0, :cond_c
.line 266
move-object v0, p1
check-cast v0, Landroidx/recyclerview/widget/LinearLayoutManager$SavedState;
iput-object v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mPendingSavedState:Landroidx/recyclerview/widget/LinearLayoutManager$SavedState;
.line 267
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->requestLayout()V
.line 274
:cond_c
return-void
.end method
.method public onSaveInstanceState()Landroid/os/Parcelable;
.registers 6
.line 238
iget-object v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mPendingSavedState:Landroidx/recyclerview/widget/LinearLayoutManager$SavedState;
if-eqz v0, :cond_c
.line 239
new-instance v0, Landroidx/recyclerview/widget/LinearLayoutManager$SavedState;
iget-object v1, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mPendingSavedState:Landroidx/recyclerview/widget/LinearLayoutManager$SavedState;
invoke-direct {v0, v1}, Landroidx/recyclerview/widget/LinearLayoutManager$SavedState;-><init>(Landroidx/recyclerview/widget/LinearLayoutManager$SavedState;)V
return-object v0
.line 241
:cond_c
new-instance v0, Landroidx/recyclerview/widget/LinearLayoutManager$SavedState;
invoke-direct {v0}, Landroidx/recyclerview/widget/LinearLayoutManager$SavedState;-><init>()V
.line 242
.local v0, "state":Landroidx/recyclerview/widget/LinearLayoutManager$SavedState;
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildCount()I
move-result v1
if-lez v1, :cond_57
.line 243
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->ensureLayoutState()V
.line 244
iget-boolean v1, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLastStackFromEnd:Z
iget-boolean v2, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mShouldReverseLayout:Z
xor-int/2addr v1, v2
.line 245
.local v1, "didLayoutFromEnd":Z
iput-boolean v1, v0, Landroidx/recyclerview/widget/LinearLayoutManager$SavedState;->mAnchorLayoutFromEnd:Z
.line 246
if-eqz v1, :cond_3d
.line 247
invoke-direct {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildClosestToEnd()Landroid/view/View;
move-result-object v2
.line 248
.local v2, "refChild":Landroid/view/View;
iget-object v3, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
invoke-virtual {v3}, Landroidx/recyclerview/widget/OrientationHelper;->getEndAfterPadding()I
move-result v3
iget-object v4, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
.line 249
invoke-virtual {v4, v2}, Landroidx/recyclerview/widget/OrientationHelper;->getDecoratedEnd(Landroid/view/View;)I
move-result v4
sub-int/2addr v3, v4
iput v3, v0, Landroidx/recyclerview/widget/LinearLayoutManager$SavedState;->mAnchorOffset:I
.line 250
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/LinearLayoutManager;->getPosition(Landroid/view/View;)I
move-result v3
iput v3, v0, Landroidx/recyclerview/widget/LinearLayoutManager$SavedState;->mAnchorPosition:I
.line 251
.end local v2 # "refChild":Landroid/view/View;
goto :goto_56
.line 252
:cond_3d
invoke-direct {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildClosestToStart()Landroid/view/View;
move-result-object v2
.line 253
.restart local v2 # "refChild":Landroid/view/View;
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/LinearLayoutManager;->getPosition(Landroid/view/View;)I
move-result v3
iput v3, v0, Landroidx/recyclerview/widget/LinearLayoutManager$SavedState;->mAnchorPosition:I
.line 254
iget-object v3, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/OrientationHelper;->getDecoratedStart(Landroid/view/View;)I
move-result v3
iget-object v4, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
.line 255
invoke-virtual {v4}, Landroidx/recyclerview/widget/OrientationHelper;->getStartAfterPadding()I
move-result v4
sub-int/2addr v3, v4
iput v3, v0, Landroidx/recyclerview/widget/LinearLayoutManager$SavedState;->mAnchorOffset:I
.line 257
.end local v1 # "didLayoutFromEnd":Z
.end local v2 # "refChild":Landroid/view/View;
:goto_56
goto :goto_5a
.line 258
:cond_57
invoke-virtual {v0}, Landroidx/recyclerview/widget/LinearLayoutManager$SavedState;->invalidateAnchor()V
.line 260
:goto_5a
return-object v0
.end method
.method public prepareForDrop(Landroid/view/View;Landroid/view/View;II)V
.registers 11
.param p1, "view" # Landroid/view/View;
.param p2, "target" # Landroid/view/View;
.param p3, "x" # I
.param p4, "y" # I
.line 2150
const-string v0, "Cannot drop a view during a scroll or layout calculation"
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/LinearLayoutManager;->assertNotInLayoutOrScroll(Ljava/lang/String;)V
.line 2151
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->ensureLayoutState()V
.line 2152
invoke-direct {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->resolveShouldLayoutReverse()V
.line 2153
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/LinearLayoutManager;->getPosition(Landroid/view/View;)I
move-result v0
.line 2154
.local v0, "myPos":I
invoke-virtual {p0, p2}, Landroidx/recyclerview/widget/LinearLayoutManager;->getPosition(Landroid/view/View;)I
move-result v1
.line 2155
.local v1, "targetPos":I
const/4 v2, 0x1
const/4 v3, -0x1
if-ge v0, v1, :cond_19
const/4 v4, 0x1
goto :goto_1a
:cond_19
const/4 v4, -0x1
.line 2157
.local v4, "dropDirection":I
:goto_1a
iget-boolean v5, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mShouldReverseLayout:Z
if-eqz v5, :cond_49
.line 2158
if-ne v4, v2, :cond_38
.line 2159
iget-object v2, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
.line 2160
invoke-virtual {v2}, Landroidx/recyclerview/widget/OrientationHelper;->getEndAfterPadding()I
move-result v2
iget-object v3, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
.line 2161
invoke-virtual {v3, p2}, Landroidx/recyclerview/widget/OrientationHelper;->getDecoratedStart(Landroid/view/View;)I
move-result v3
iget-object v5, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
.line 2162
invoke-virtual {v5, p1}, Landroidx/recyclerview/widget/OrientationHelper;->getDecoratedMeasurement(Landroid/view/View;)I
move-result v5
add-int/2addr v3, v5
sub-int/2addr v2, v3
.line 2159
invoke-virtual {p0, v1, v2}, Landroidx/recyclerview/widget/LinearLayoutManager;->scrollToPositionWithOffset(II)V
goto :goto_65
.line 2164
:cond_38
iget-object v2, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
.line 2165
invoke-virtual {v2}, Landroidx/recyclerview/widget/OrientationHelper;->getEndAfterPadding()I
move-result v2
iget-object v3, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
.line 2166
invoke-virtual {v3, p2}, Landroidx/recyclerview/widget/OrientationHelper;->getDecoratedEnd(Landroid/view/View;)I
move-result v3
sub-int/2addr v2, v3
.line 2164
invoke-virtual {p0, v1, v2}, Landroidx/recyclerview/widget/LinearLayoutManager;->scrollToPositionWithOffset(II)V
goto :goto_65
.line 2169
:cond_49
if-ne v4, v3, :cond_55
.line 2170
iget-object v2, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
invoke-virtual {v2, p2}, Landroidx/recyclerview/widget/OrientationHelper;->getDecoratedStart(Landroid/view/View;)I
move-result v2
invoke-virtual {p0, v1, v2}, Landroidx/recyclerview/widget/LinearLayoutManager;->scrollToPositionWithOffset(II)V
goto :goto_65
.line 2172
:cond_55
iget-object v2, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
.line 2173
invoke-virtual {v2, p2}, Landroidx/recyclerview/widget/OrientationHelper;->getDecoratedEnd(Landroid/view/View;)I
move-result v2
iget-object v3, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
.line 2174
invoke-virtual {v3, p1}, Landroidx/recyclerview/widget/OrientationHelper;->getDecoratedMeasurement(Landroid/view/View;)I
move-result v3
sub-int/2addr v2, v3
.line 2172
invoke-virtual {p0, v1, v2}, Landroidx/recyclerview/widget/LinearLayoutManager;->scrollToPositionWithOffset(II)V
.line 2177
:goto_65
return-void
.end method
.method protected recycleChildren(Landroidx/recyclerview/widget/RecyclerView$Recycler;II)V
.registers 5
.param p1, "recycler" # Landroidx/recyclerview/widget/RecyclerView$Recycler;
.param p2, "startIndex" # I
.param p3, "endIndex" # I
.line 1412
if-ne p2, p3, :cond_3
.line 1413
return-void
.line 1418
:cond_3
if-le p3, p2, :cond_10
.line 1419
add-int/lit8 v0, p3, -0x1
.local v0, "i":I
:goto_7
if-lt v0, p2, :cond_f
.line 1420
invoke-virtual {p0, v0, p1}, Landroidx/recyclerview/widget/LinearLayoutManager;->removeAndRecycleViewAt(ILandroidx/recyclerview/widget/RecyclerView$Recycler;)V
.line 1419
add-int/lit8 v0, v0, -0x1
goto :goto_7
.end local v0 # "i":I
:cond_f
goto :goto_19
.line 1423
:cond_10
move v0, p2
.restart local v0 # "i":I
:goto_11
if-le v0, p3, :cond_19
.line 1424
invoke-virtual {p0, v0, p1}, Landroidx/recyclerview/widget/LinearLayoutManager;->removeAndRecycleViewAt(ILandroidx/recyclerview/widget/RecyclerView$Recycler;)V
.line 1423
add-int/lit8 v0, v0, -0x1
goto :goto_11
.line 1427
.end local v0 # "i":I
:cond_19
:goto_19
return-void
.end method
.method protected recycleViewsFromStart(Landroidx/recyclerview/widget/RecyclerView$Recycler;II)V
.registers 9
.param p1, "recycler" # Landroidx/recyclerview/widget/RecyclerView$Recycler;
.param p2, "scrollingOffset" # I
.param p3, "noRecycleSpace" # I
.line 1444
if-gez p2, :cond_3
.line 1449
return-void
.line 1452
:cond_3
sub-int v0, p2, p3
.line 1453
.local v0, "limit":I
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildCount()I
move-result v1
.line 1454
.local v1, "childCount":I
iget-boolean v2, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mShouldReverseLayout:Z
if-eqz v2, :cond_30
.line 1455
add-int/lit8 v2, v1, -0x1
.local v2, "i":I
:goto_f
if-ltz v2, :cond_2f
.line 1456
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildAt(I)Landroid/view/View;
move-result-object v3
.line 1457
.local v3, "child":Landroid/view/View;
iget-object v4, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
invoke-virtual {v4, v3}, Landroidx/recyclerview/widget/OrientationHelper;->getDecoratedEnd(Landroid/view/View;)I
move-result v4
if-gt v4, v0, :cond_29
iget-object v4, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
.line 1458
invoke-virtual {v4, v3}, Landroidx/recyclerview/widget/OrientationHelper;->getTransformedEndWithDecoration(Landroid/view/View;)I
move-result v4
if-le v4, v0, :cond_26
goto :goto_29
.line 1455
.end local v3 # "child":Landroid/view/View;
:cond_26
add-int/lit8 v2, v2, -0x1
goto :goto_f
.line 1460
.restart local v3 # "child":Landroid/view/View;
:cond_29
:goto_29
add-int/lit8 v4, v1, -0x1
invoke-virtual {p0, p1, v4, v2}, Landroidx/recyclerview/widget/LinearLayoutManager;->recycleChildren(Landroidx/recyclerview/widget/RecyclerView$Recycler;II)V
.line 1461
return-void
.line 1455
.end local v2 # "i":I
.end local v3 # "child":Landroid/view/View;
:cond_2f
goto :goto_50
.line 1465
:cond_30
const/4 v2, 0x0
.restart local v2 # "i":I
:goto_31
if-ge v2, v1, :cond_50
.line 1466
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildAt(I)Landroid/view/View;
move-result-object v3
.line 1467
.restart local v3 # "child":Landroid/view/View;
iget-object v4, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
invoke-virtual {v4, v3}, Landroidx/recyclerview/widget/OrientationHelper;->getDecoratedEnd(Landroid/view/View;)I
move-result v4
if-gt v4, v0, :cond_4b
iget-object v4, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
.line 1468
invoke-virtual {v4, v3}, Landroidx/recyclerview/widget/OrientationHelper;->getTransformedEndWithDecoration(Landroid/view/View;)I
move-result v4
if-le v4, v0, :cond_48
goto :goto_4b
.line 1465
.end local v3 # "child":Landroid/view/View;
:cond_48
add-int/lit8 v2, v2, 0x1
goto :goto_31
.line 1470
.restart local v3 # "child":Landroid/view/View;
:cond_4b
:goto_4b
const/4 v4, 0x0
invoke-virtual {p0, p1, v4, v2}, Landroidx/recyclerview/widget/LinearLayoutManager;->recycleChildren(Landroidx/recyclerview/widget/RecyclerView$Recycler;II)V
.line 1471
return-void
.line 1475
.end local v2 # "i":I
.end local v3 # "child":Landroid/view/View;
:cond_50
:goto_50
return-void
.end method
.method resolveIsInfinite()Z
.registers 2
.line 1262
iget-object v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/OrientationHelper;->getMode()I
move-result v0
if-nez v0, :cond_12
iget-object v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
.line 1263
invoke-virtual {v0}, Landroidx/recyclerview/widget/OrientationHelper;->getEnd()I
move-result v0
if-nez v0, :cond_12
const/4 v0, 0x1
goto :goto_13
:cond_12
const/4 v0, 0x0
.line 1262
:goto_13
return v0
.end method
.method scrollBy(ILandroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)I
.registers 10
.param p1, "delta" # I
.param p2, "recycler" # Landroidx/recyclerview/widget/RecyclerView$Recycler;
.param p3, "state" # Landroidx/recyclerview/widget/RecyclerView$State;
.line 1373
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildCount()I
move-result v0
const/4 v1, 0x0
if-eqz v0, :cond_3d
if-nez p1, :cond_a
goto :goto_3d
.line 1376
:cond_a
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->ensureLayoutState()V
.line 1377
iget-object v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
const/4 v2, 0x1
iput-boolean v2, v0, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mRecycle:Z
.line 1378
if-lez p1, :cond_16
const/4 v0, 0x1
goto :goto_17
:cond_16
const/4 v0, -0x1
.line 1379
.local v0, "layoutDirection":I
:goto_17
invoke-static {p1}, Ljava/lang/Math;->abs(I)I
move-result v3
.line 1380
.local v3, "absDelta":I
invoke-direct {p0, v0, v3, v2, p3}, Landroidx/recyclerview/widget/LinearLayoutManager;->updateLayoutState(IIZLandroidx/recyclerview/widget/RecyclerView$State;)V
.line 1381
iget-object v2, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iget v2, v2, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mScrollingOffset:I
iget-object v4, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
.line 1382
invoke-virtual {p0, p2, v4, p3, v1}, Landroidx/recyclerview/widget/LinearLayoutManager;->fill(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;Landroidx/recyclerview/widget/RecyclerView$State;Z)I
move-result v4
add-int/2addr v2, v4
.line 1383
.local v2, "consumed":I
if-gez v2, :cond_2c
.line 1387
return v1
.line 1389
:cond_2c
if-le v3, v2, :cond_31
mul-int v1, v0, v2
goto :goto_32
:cond_31
move v1, p1
.line 1390
.local v1, "scrolled":I
:goto_32
iget-object v4, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
neg-int v5, v1
invoke-virtual {v4, v5}, Landroidx/recyclerview/widget/OrientationHelper;->offsetChildren(I)V
.line 1394
iget-object v4, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLayoutState:Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;
iput v1, v4, Landroidx/recyclerview/widget/LinearLayoutManager$LayoutState;->mLastScrollDelta:I
.line 1395
return v1
.line 1374
.end local v0 # "layoutDirection":I
.end local v1 # "scrolled":I
.end local v2 # "consumed":I
.end local v3 # "absDelta":I
:cond_3d
:goto_3d
return v1
.end method
.method public scrollHorizontallyBy(ILandroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)I
.registers 6
.param p1, "dx" # I
.param p2, "recycler" # Landroidx/recyclerview/widget/RecyclerView$Recycler;
.param p3, "state" # Landroidx/recyclerview/widget/RecyclerView$State;
.line 1104
iget v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientation:I
const/4 v1, 0x1
if-ne v0, v1, :cond_7
.line 1105
const/4 v0, 0x0
return v0
.line 1107
:cond_7
invoke-virtual {p0, p1, p2, p3}, Landroidx/recyclerview/widget/LinearLayoutManager;->scrollBy(ILandroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)I
move-result v0
return v0
.end method
.method public scrollToPosition(I)V
.registers 3
.param p1, "position" # I
.line 1056
iput p1, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mPendingScrollPosition:I
.line 1057
const/high16 v0, -0x80000000
iput v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mPendingScrollPositionOffset:I
.line 1058
iget-object v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mPendingSavedState:Landroidx/recyclerview/widget/LinearLayoutManager$SavedState;
if-eqz v0, :cond_d
.line 1059
invoke-virtual {v0}, Landroidx/recyclerview/widget/LinearLayoutManager$SavedState;->invalidateAnchor()V
.line 1061
:cond_d
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->requestLayout()V
.line 1062
return-void
.end method
.method public scrollToPositionWithOffset(II)V
.registers 4
.param p1, "position" # I
.param p2, "offset" # I
.line 1084
iget-boolean v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mShouldReverseLayout:Z
invoke-virtual {p0, p1, p2, v0}, Landroidx/recyclerview/widget/LinearLayoutManager;->scrollToPositionWithOffset(IIZ)V
.line 1085
return-void
.end method
.method public scrollToPositionWithOffset(IIZ)V
.registers 5
.param p1, "position" # I
.param p2, "offset" # I
.param p3, "bottom" # Z
.line 1088
iput p1, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mPendingScrollPosition:I
.line 1089
iput p2, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mPendingScrollPositionOffset:I
.line 1090
iput-boolean p3, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mPendingScrollPositionBottom:Z
.line 1091
iget-object v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mPendingSavedState:Landroidx/recyclerview/widget/LinearLayoutManager$SavedState;
if-eqz v0, :cond_d
.line 1092
invoke-virtual {v0}, Landroidx/recyclerview/widget/LinearLayoutManager$SavedState;->invalidateAnchor()V
.line 1094
:cond_d
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->requestLayout()V
.line 1095
return-void
.end method
.method public scrollVerticallyBy(ILandroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)I
.registers 5
.param p1, "dy" # I
.param p2, "recycler" # Landroidx/recyclerview/widget/RecyclerView$Recycler;
.param p3, "state" # Landroidx/recyclerview/widget/RecyclerView$State;
.line 1116
iget v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientation:I
if-nez v0, :cond_6
.line 1117
const/4 v0, 0x0
return v0
.line 1119
:cond_6
invoke-virtual {p0, p1, p2, p3}, Landroidx/recyclerview/widget/LinearLayoutManager;->scrollBy(ILandroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)I
move-result v0
return v0
.end method
.method public setInitialPrefetchItemCount(I)V
.registers 2
.param p1, "itemCount" # I
.line 1337
iput p1, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mInitialPrefetchItemCount:I
.line 1338
return-void
.end method
.method public setOrientation(I)V
.registers 5
.param p1, "orientation" # I
.line 326
if-eqz p1, :cond_1d
const/4 v0, 0x1
if-ne p1, v0, :cond_6
goto :goto_1d
.line 327
:cond_6
new-instance v0, Ljava/lang/IllegalArgumentException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "invalid orientation:"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.line 330
:cond_1d
:goto_1d
const/4 v0, 0x0
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/LinearLayoutManager;->assertNotInLayoutOrScroll(Ljava/lang/String;)V
.line 332
iget v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientation:I
if-ne p1, v0, :cond_29
iget-object v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
if-nez v0, :cond_39
.line 333
:cond_29
nop
.line 334
invoke-static {p0, p1}, Landroidx/recyclerview/widget/OrientationHelper;->createOrientationHelper(Landroidx/recyclerview/widget/RecyclerView$LayoutManager;I)Landroidx/recyclerview/widget/OrientationHelper;
move-result-object v0
iput-object v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
.line 335
iget-object v1, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mAnchorInfo:Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;
iput-object v0, v1, Landroidx/recyclerview/widget/LinearLayoutManager$AnchorInfo;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
.line 336
iput p1, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientation:I
.line 337
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->requestLayout()V
.line 339
:cond_39
return-void
.end method
.method public setRecycleChildrenOnDetach(Z)V
.registers 2
.param p1, "recycleChildrenOnDetach" # Z
.line 215
iput-boolean p1, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mRecycleChildrenOnDetach:Z
.line 216
return-void
.end method
.method public setReverseLayout(Z)V
.registers 3
.param p1, "reverseLayout" # Z
.line 380
const/4 v0, 0x0
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/LinearLayoutManager;->assertNotInLayoutOrScroll(Ljava/lang/String;)V
.line 381
iget-boolean v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mReverseLayout:Z
if-ne p1, v0, :cond_9
.line 382
return-void
.line 384
:cond_9
iput-boolean p1, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mReverseLayout:Z
.line 385
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->requestLayout()V
.line 386
return-void
.end method
.method public setSmoothScrollbarEnabled(Z)V
.registers 2
.param p1, "enabled" # Z
.line 1203
iput-boolean p1, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mSmoothScrollbarEnabled:Z
.line 1204
return-void
.end method
.method public setStackFromEnd(Z)V
.registers 3
.param p1, "stackFromEnd" # Z
.line 296
const/4 v0, 0x0
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/LinearLayoutManager;->assertNotInLayoutOrScroll(Ljava/lang/String;)V
.line 297
iget-boolean v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mStackFromEnd:Z
if-ne v0, p1, :cond_9
.line 298
return-void
.line 300
:cond_9
iput-boolean p1, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mStackFromEnd:Z
.line 301
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->requestLayout()V
.line 302
return-void
.end method
.method shouldMeasureTwice()Z
.registers 3
.line 1691
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getHeightMode()I
move-result v0
const/high16 v1, 0x40000000 # 2.0f
if-eq v0, v1, :cond_16
.line 1692
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getWidthMode()I
move-result v0
if-eq v0, v1, :cond_16
.line 1693
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->hasFlexibleChildInBothOrientations()Z
move-result v0
if-eqz v0, :cond_16
const/4 v0, 0x1
goto :goto_17
:cond_16
const/4 v0, 0x0
.line 1691
:goto_17
return v0
.end method
.method public smoothScrollToPosition(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$State;I)V
.registers 6
.param p1, "recyclerView" # Landroidx/recyclerview/widget/RecyclerView;
.param p2, "state" # Landroidx/recyclerview/widget/RecyclerView$State;
.param p3, "position" # I
.line 488
new-instance v0, Landroidx/recyclerview/widget/LinearSmoothScroller;
.line 489
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView;->getContext()Landroid/content/Context;
move-result-object v1
invoke-direct {v0, v1}, Landroidx/recyclerview/widget/LinearSmoothScroller;-><init>(Landroid/content/Context;)V
.line 490
.local v0, "linearSmoothScroller":Landroidx/recyclerview/widget/LinearSmoothScroller;
invoke-virtual {v0, p3}, Landroidx/recyclerview/widget/LinearSmoothScroller;->setTargetPosition(I)V
.line 491
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/LinearLayoutManager;->startSmoothScroll(Landroidx/recyclerview/widget/RecyclerView$SmoothScroller;)V
.line 492
return-void
.end method
.method public supportsPredictiveItemAnimations()Z
.registers 3
.line 2141
iget-object v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mPendingSavedState:Landroidx/recyclerview/widget/LinearLayoutManager$SavedState;
if-nez v0, :cond_c
iget-boolean v0, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mLastStackFromEnd:Z
iget-boolean v1, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mStackFromEnd:Z
if-ne v0, v1, :cond_c
const/4 v0, 0x1
goto :goto_d
:cond_c
const/4 v0, 0x0
:goto_d
return v0
.end method
.method validateChildOrder()V
.registers 12
.line 2100
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string/jumbo v1, "validating child count "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildCount()I
move-result v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
const-string v1, "LinearLayoutManager"
invoke-static {v1, v0}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 2101
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildCount()I
move-result v0
const/4 v1, 0x1
if-ge v0, v1, :cond_23
.line 2102
return-void
.line 2104
:cond_23
const/4 v0, 0x0
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildAt(I)Landroid/view/View;
move-result-object v2
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/LinearLayoutManager;->getPosition(Landroid/view/View;)I
move-result v2
.line 2105
.local v2, "lastPos":I
iget-object v3, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildAt(I)Landroid/view/View;
move-result-object v4
invoke-virtual {v3, v4}, Landroidx/recyclerview/widget/OrientationHelper;->getDecoratedStart(Landroid/view/View;)I
move-result v3
.line 2106
.local v3, "lastScreenLoc":I
iget-boolean v4, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mShouldReverseLayout:Z
const-string v5, "detected invalid location"
const-string v6, "detected invalid position. loc invalid? "
if-eqz v4, :cond_80
.line 2107
const/4 v4, 0x1
.local v4, "i":I
:goto_3f
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildCount()I
move-result v7
if-ge v4, v7, :cond_7f
.line 2108
invoke-virtual {p0, v4}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildAt(I)Landroid/view/View;
move-result-object v7
.line 2109
.local v7, "child":Landroid/view/View;
invoke-virtual {p0, v7}, Landroidx/recyclerview/widget/LinearLayoutManager;->getPosition(Landroid/view/View;)I
move-result v8
.line 2110
.local v8, "pos":I
iget-object v9, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
invoke-virtual {v9, v7}, Landroidx/recyclerview/widget/OrientationHelper;->getDecoratedStart(Landroid/view/View;)I
move-result v9
.line 2111
.local v9, "screenLoc":I
if-ge v8, v2, :cond_71
.line 2112
invoke-direct {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->logChildren()V
.line 2113
new-instance v5, Ljava/lang/RuntimeException;
new-instance v10, Ljava/lang/StringBuilder;
invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v10, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
if-ge v9, v3, :cond_65
goto :goto_66
:cond_65
const/4 v1, 0x0
:goto_66
invoke-virtual {v10, v1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v5, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw v5
.line 2116
:cond_71
if-gt v9, v3, :cond_76
.line 2107
.end local v7 # "child":Landroid/view/View;
.end local v8 # "pos":I
.end local v9 # "screenLoc":I
add-int/lit8 v4, v4, 0x1
goto :goto_3f
.line 2117
.restart local v7 # "child":Landroid/view/View;
.restart local v8 # "pos":I
.restart local v9 # "screenLoc":I
:cond_76
invoke-direct {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->logChildren()V
.line 2118
new-instance v0, Ljava/lang/RuntimeException;
invoke-direct {v0, v5}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw v0
.line 2107
.end local v4 # "i":I
.end local v7 # "child":Landroid/view/View;
.end local v8 # "pos":I
.end local v9 # "screenLoc":I
:cond_7f
goto :goto_c1
.line 2122
:cond_80
const/4 v4, 0x1
.restart local v4 # "i":I
:goto_81
invoke-virtual {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildCount()I
move-result v7
if-ge v4, v7, :cond_c1
.line 2123
invoke-virtual {p0, v4}, Landroidx/recyclerview/widget/LinearLayoutManager;->getChildAt(I)Landroid/view/View;
move-result-object v7
.line 2124
.restart local v7 # "child":Landroid/view/View;
invoke-virtual {p0, v7}, Landroidx/recyclerview/widget/LinearLayoutManager;->getPosition(Landroid/view/View;)I
move-result v8
.line 2125
.restart local v8 # "pos":I
iget-object v9, p0, Landroidx/recyclerview/widget/LinearLayoutManager;->mOrientationHelper:Landroidx/recyclerview/widget/OrientationHelper;
invoke-virtual {v9, v7}, Landroidx/recyclerview/widget/OrientationHelper;->getDecoratedStart(Landroid/view/View;)I
move-result v9
.line 2126
.restart local v9 # "screenLoc":I
if-ge v8, v2, :cond_b3
.line 2127
invoke-direct {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->logChildren()V
.line 2128
new-instance v5, Ljava/lang/RuntimeException;
new-instance v10, Ljava/lang/StringBuilder;
invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v10, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
if-ge v9, v3, :cond_a7
goto :goto_a8
:cond_a7
const/4 v1, 0x0
:goto_a8
invoke-virtual {v10, v1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v5, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw v5
.line 2131
:cond_b3
if-lt v9, v3, :cond_b8
.line 2122
.end local v7 # "child":Landroid/view/View;
.end local v8 # "pos":I
.end local v9 # "screenLoc":I
add-int/lit8 v4, v4, 0x1
goto :goto_81
.line 2132
.restart local v7 # "child":Landroid/view/View;
.restart local v8 # "pos":I
.restart local v9 # "screenLoc":I
:cond_b8
invoke-direct {p0}, Landroidx/recyclerview/widget/LinearLayoutManager;->logChildren()V
.line 2133
new-instance v0, Ljava/lang/RuntimeException;
invoke-direct {v0, v5}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw v0
.line 2137
.end local v4 # "i":I
.end local v7 # "child":Landroid/view/View;
.end local v8 # "pos":I
.end local v9 # "screenLoc":I
:cond_c1
:goto_c1
return-void
.end method