tmap/smali/androidx/recyclerview/widget/RecyclerView.smali
2022-06-10 21:38:30 +09:00

14377 lines
368 KiB
Smali

.class public Landroidx/recyclerview/widget/RecyclerView;
.super Landroid/view/ViewGroup;
.source "RecyclerView.java"
# interfaces
.implements Ls1/k0;
.implements Ls1/w;
.implements Ls1/x;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Landroidx/recyclerview/widget/RecyclerView$j;,
Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;,
Landroidx/recyclerview/widget/RecyclerView$k;,
Landroidx/recyclerview/widget/RecyclerView$o;,
Landroidx/recyclerview/widget/RecyclerView$x;,
Landroidx/recyclerview/widget/RecyclerView$SavedState;,
Landroidx/recyclerview/widget/RecyclerView$h;,
Landroidx/recyclerview/widget/RecyclerView$w;,
Landroidx/recyclerview/widget/RecyclerView$i;,
Landroidx/recyclerview/widget/RecyclerView$LayoutParams;,
Landroidx/recyclerview/widget/RecyclerView$a0;,
Landroidx/recyclerview/widget/RecyclerView$n;,
Landroidx/recyclerview/widget/RecyclerView$t;,
Landroidx/recyclerview/widget/RecyclerView$q;,
Landroidx/recyclerview/widget/RecyclerView$v;,
Landroidx/recyclerview/widget/RecyclerView$p;,
Landroidx/recyclerview/widget/RecyclerView$l;,
Landroidx/recyclerview/widget/RecyclerView$m;,
Landroidx/recyclerview/widget/RecyclerView$Adapter;,
Landroidx/recyclerview/widget/RecyclerView$y;,
Landroidx/recyclerview/widget/RecyclerView$s;,
Landroidx/recyclerview/widget/RecyclerView$r;,
Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;,
Landroidx/recyclerview/widget/RecyclerView$u;,
Landroidx/recyclerview/widget/RecyclerView$z;,
Landroidx/recyclerview/widget/RecyclerView$Orientation;
}
.end annotation
# static fields
.field public static final ALLOW_SIZE_IN_UNSPECIFIED_SPEC:Z
.field public static final ALLOW_THREAD_GAP_WORK:Z
.field public static final DEBUG:Z = false
.field public static final DEFAULT_ORIENTATION:I = 0x1
.field public static final DISPATCH_TEMP_DETACH:Z = false
.field private static final FORCE_ABS_FOCUS_SEARCH_DIRECTION:Z
.field public static final FORCE_INVALIDATE_DISPLAY_LIST:Z
.field public static final FOREVER_NS:J = 0x7fffffffffffffffL
.field public static final HORIZONTAL:I = 0x0
.field private static final IGNORE_DETACHED_FOCUSED_CHILD:Z
.field private static final INVALID_POINTER:I = -0x1
.field public static final INVALID_TYPE:I = -0x1
.field private static final LAYOUT_MANAGER_CONSTRUCTOR_SIGNATURE:[Ljava/lang/Class;
.annotation system Ldalvik/annotation/Signature;
value = {
"[",
"Ljava/lang/Class<",
"*>;"
}
.end annotation
.end field
.field public static final MAX_SCROLL_DURATION:I = 0x7d0
.field private static final NESTED_SCROLLING_ATTRS:[I
.field public static final NO_ID:J = -0x1L
.field public static final NO_POSITION:I = -0x1
.field public static final POST_UPDATES_ON_ANIMATION:Z
.field public static final SCROLL_STATE_DRAGGING:I = 0x1
.field public static final SCROLL_STATE_IDLE:I = 0x0
.field public static final SCROLL_STATE_SETTLING:I = 0x2
.field public static final TAG:Ljava/lang/String; = "RecyclerView"
.field public static final TOUCH_SLOP_DEFAULT:I = 0x0
.field public static final TOUCH_SLOP_PAGING:I = 0x1
.field public static final TRACE_BIND_VIEW_TAG:Ljava/lang/String; = "RV OnBindView"
.field public static final TRACE_CREATE_VIEW_TAG:Ljava/lang/String; = "RV CreateView"
.field private static final TRACE_HANDLE_ADAPTER_UPDATES_TAG:Ljava/lang/String; = "RV PartialInvalidate"
.field public static final TRACE_NESTED_PREFETCH_TAG:Ljava/lang/String; = "RV Nested Prefetch"
.field private static final TRACE_ON_DATA_SET_CHANGE_LAYOUT_TAG:Ljava/lang/String; = "RV FullInvalidate"
.field private static final TRACE_ON_LAYOUT_TAG:Ljava/lang/String; = "RV OnLayout"
.field public static final TRACE_PREFETCH_TAG:Ljava/lang/String; = "RV Prefetch"
.field public static final TRACE_SCROLL_TAG:Ljava/lang/String; = "RV Scroll"
.field public static final UNDEFINED_DURATION:I = -0x80000000
.field public static final VERBOSE_TRACING:Z = false
.field public static final VERTICAL:I = 0x1
.field public static final sQuinticInterpolator:Landroid/view/animation/Interpolator;
# instance fields
.field public mAccessibilityDelegate:Landroidx/recyclerview/widget/c0;
.field private final mAccessibilityManager:Landroid/view/accessibility/AccessibilityManager;
.field public mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
.field public mAdapterHelper:Landroidx/recyclerview/widget/a;
.field public mAdapterUpdateDuringMeasure:Z
.field private mBottomGlow:Landroid/widget/EdgeEffect;
.field private mChildDrawingOrderCallback:Landroidx/recyclerview/widget/RecyclerView$j;
.field public mChildHelper:Landroidx/recyclerview/widget/g;
.field public mClipToPadding:Z
.field public mDataSetHasChangedAfterLayout:Z
.field public mDispatchItemsChangedEvent:Z
.field private mDispatchScrollCounter:I
.field private mEatenAccessibilityChangeFlags:I
.field private mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end field
.field public mEnableFastScroller:Z
.field public mFirstLayoutComplete:Z
.annotation build Landroidx/annotation/VisibleForTesting;
.end annotation
.end field
.field public mGapWorker:Landroidx/recyclerview/widget/n;
.field public mHasFixedSize:Z
.field private mIgnoreMotionEventTillDown:Z
.field private mInitialTouchX:I
.field private mInitialTouchY:I
.field private mInterceptRequestLayoutDepth:I
.field private mInterceptingOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$p;
.field public mIsAttached:Z
.field public mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
.field private mItemAnimatorListener:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$b;
.field private mItemAnimatorRunner:Ljava/lang/Runnable;
.field public final mItemDecorations:Ljava/util/ArrayList;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/ArrayList<",
"Landroidx/recyclerview/widget/RecyclerView$l;",
">;"
}
.end annotation
.end field
.field public mItemsAddedOrRemoved:Z
.field public mItemsChanged:Z
.field private mLastAutoMeasureNonExactMeasuredHeight:I
.field private mLastAutoMeasureNonExactMeasuredWidth:I
.field private mLastAutoMeasureSkippedDueToExact:Z
.field private mLastTouchX:I
.field private mLastTouchY:I
.field public mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
.annotation build Landroidx/annotation/VisibleForTesting;
.end annotation
.end field
.field private mLayoutOrScrollCounter:I
.field public mLayoutSuppressed:Z
.field public mLayoutWasDefered:Z
.field private mLeftGlow:Landroid/widget/EdgeEffect;
.field private final mMaxFlingVelocity:I
.field private final mMinFlingVelocity:I
.field private final mMinMaxLayoutPositions:[I
.field private final mNestedOffsets:[I
.field private final mObserver:Landroidx/recyclerview/widget/RecyclerView$u;
.field private mOnChildAttachStateListeners:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Landroidx/recyclerview/widget/RecyclerView$n;",
">;"
}
.end annotation
.end field
.field private mOnFlingListener:Landroidx/recyclerview/widget/RecyclerView$o;
.field private final mOnItemTouchListeners:Ljava/util/ArrayList;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/ArrayList<",
"Landroidx/recyclerview/widget/RecyclerView$p;",
">;"
}
.end annotation
.end field
.field public final mPendingAccessibilityImportanceChange:Ljava/util/List;
.annotation build Landroidx/annotation/VisibleForTesting;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Landroidx/recyclerview/widget/RecyclerView$a0;",
">;"
}
.end annotation
.end field
.field public mPendingSavedState:Landroidx/recyclerview/widget/RecyclerView$SavedState;
.field public mPostedAnimatorRunner:Z
.field public mPrefetchRegistry:Landroidx/recyclerview/widget/n$b;
.field private mPreserveFocusAfterLayout:Z
.field public final mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
.field public mRecyclerListener:Landroidx/recyclerview/widget/RecyclerView$t;
.field public final mRecyclerListeners:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Landroidx/recyclerview/widget/RecyclerView$t;",
">;"
}
.end annotation
.end field
.field public final mReusableIntPair:[I
.field private mRightGlow:Landroid/widget/EdgeEffect;
.field private mScaledHorizontalScrollFactor:F
.field private mScaledVerticalScrollFactor:F
.field private mScrollListener:Landroidx/recyclerview/widget/RecyclerView$q;
.field private mScrollListeners:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Landroidx/recyclerview/widget/RecyclerView$q;",
">;"
}
.end annotation
.end field
.field private final mScrollOffset:[I
.field private mScrollPointerId:I
.field private mScrollState:I
.field private mScrollingChildHelper:Ls1/z;
.field public final mState:Landroidx/recyclerview/widget/RecyclerView$x;
.field public final mTempRect:Landroid/graphics/Rect;
.field private final mTempRect2:Landroid/graphics/Rect;
.field public final mTempRectF:Landroid/graphics/RectF;
.field private mTopGlow:Landroid/widget/EdgeEffect;
.field private mTouchSlop:I
.field public final mUpdateChildViewsRunnable:Ljava/lang/Runnable;
.field private mVelocityTracker:Landroid/view/VelocityTracker;
.field public final mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$z;
.field private final mViewInfoProcessCallback:Landroidx/recyclerview/widget/l0$b;
.field public final mViewInfoStore:Landroidx/recyclerview/widget/l0;
# direct methods
.method static constructor <clinit>()V
.locals 4
const/4 v0, 0x1
new-array v1, v0, [I
const v2, 0x1010436
const/4 v3, 0x0
aput v2, v1, v3
.line 1
sput-object v1, Landroidx/recyclerview/widget/RecyclerView;->NESTED_SCROLLING_ATTRS:[I
.line 2
sput-boolean v3, Landroidx/recyclerview/widget/RecyclerView;->FORCE_INVALIDATE_DISPLAY_LIST:Z
.line 3
sput-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->ALLOW_SIZE_IN_UNSPECIFIED_SPEC:Z
.line 4
sput-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->POST_UPDATES_ON_ANIMATION:Z
.line 5
sput-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->ALLOW_THREAD_GAP_WORK:Z
.line 6
sput-boolean v3, Landroidx/recyclerview/widget/RecyclerView;->FORCE_ABS_FOCUS_SEARCH_DIRECTION:Z
.line 7
sput-boolean v3, Landroidx/recyclerview/widget/RecyclerView;->IGNORE_DETACHED_FOCUSED_CHILD:Z
const/4 v1, 0x4
new-array v1, v1, [Ljava/lang/Class;
.line 8
const-class v2, Landroid/content/Context;
aput-object v2, v1, v3
const-class v2, Landroid/util/AttributeSet;
aput-object v2, v1, v0
const/4 v0, 0x2
sget-object v2, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
aput-object v2, v1, v0
const/4 v0, 0x3
aput-object v2, v1, v0
sput-object v1, Landroidx/recyclerview/widget/RecyclerView;->LAYOUT_MANAGER_CONSTRUCTOR_SIGNATURE:[Ljava/lang/Class;
.line 9
new-instance v0, Landroidx/recyclerview/widget/RecyclerView$c;
invoke-direct {v0}, Landroidx/recyclerview/widget/RecyclerView$c;-><init>()V
sput-object v0, Landroidx/recyclerview/widget/RecyclerView;->sQuinticInterpolator:Landroid/view/animation/Interpolator;
return-void
.end method
.method public constructor <init>(Landroid/content/Context;)V
.locals 1
.param p1 # Landroid/content/Context;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
const/4 v0, 0x0
.line 1
invoke-direct {p0, p1, v0}, Landroidx/recyclerview/widget/RecyclerView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.locals 1
.param p1 # Landroid/content/Context;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Landroid/util/AttributeSet;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.line 2
sget v0, Landroidx/recyclerview/R$attr;->recyclerViewStyle:I
invoke-direct {p0, p1, p2, v0}, Landroidx/recyclerview/widget/RecyclerView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
.locals 15
.param p1 # Landroid/content/Context;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Landroid/util/AttributeSet;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
move-object v7, p0
move-object/from16 v8, p1
move-object/from16 v9, p2
move/from16 v10, p3
.line 3
invoke-direct/range {p0 .. p3}, Landroid/view/ViewGroup;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
.line 4
new-instance v0, Landroidx/recyclerview/widget/RecyclerView$u;
invoke-direct {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$u;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mObserver:Landroidx/recyclerview/widget/RecyclerView$u;
.line 5
new-instance v0, Landroidx/recyclerview/widget/RecyclerView$s;
invoke-direct {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$s;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
.line 6
new-instance v0, Landroidx/recyclerview/widget/l0;
invoke-direct {v0}, Landroidx/recyclerview/widget/l0;-><init>()V
iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/l0;
.line 7
new-instance v0, Landroidx/recyclerview/widget/RecyclerView$a;
invoke-direct {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$a;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mUpdateChildViewsRunnable:Ljava/lang/Runnable;
.line 8
new-instance v0, Landroid/graphics/Rect;
invoke-direct {v0}, Landroid/graphics/Rect;-><init>()V
iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
.line 9
new-instance v0, Landroid/graphics/Rect;
invoke-direct {v0}, Landroid/graphics/Rect;-><init>()V
iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect;
.line 10
new-instance v0, Landroid/graphics/RectF;
invoke-direct {v0}, Landroid/graphics/RectF;-><init>()V
iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mTempRectF:Landroid/graphics/RectF;
.line 11
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mRecyclerListeners:Ljava/util/List;
.line 12
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
.line 13
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList;
const/4 v11, 0x0
.line 14
iput v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I
.line 15
iput-boolean v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z
.line 16
iput-boolean v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mDispatchItemsChangedEvent:Z
.line 17
iput v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I
.line 18
iput v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mDispatchScrollCounter:I
.line 19
new-instance v0, Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;
invoke-direct {v0}, Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;-><init>()V
iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;
.line 20
new-instance v0, Landroidx/recyclerview/widget/j;
invoke-direct {v0}, Landroidx/recyclerview/widget/j;-><init>()V
iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
.line 21
iput v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I
const/4 v12, -0x1
.line 22
iput v12, v7, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
const/4 v0, 0x1
.line 23
iput v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mScaledHorizontalScrollFactor:F
.line 24
iput v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mScaledVerticalScrollFactor:F
const/4 v13, 0x1
.line 25
iput-boolean v13, v7, Landroidx/recyclerview/widget/RecyclerView;->mPreserveFocusAfterLayout:Z
.line 26
new-instance v0, Landroidx/recyclerview/widget/RecyclerView$z;
invoke-direct {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$z;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$z;
.line 27
sget-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->ALLOW_THREAD_GAP_WORK:Z
if-eqz v0, :cond_0
new-instance v0, Landroidx/recyclerview/widget/n$b;
invoke-direct {v0}, Landroidx/recyclerview/widget/n$b;-><init>()V
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mPrefetchRegistry:Landroidx/recyclerview/widget/n$b;
.line 28
new-instance v0, Landroidx/recyclerview/widget/RecyclerView$x;
invoke-direct {v0}, Landroidx/recyclerview/widget/RecyclerView$x;-><init>()V
iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
.line 29
iput-boolean v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mItemsAddedOrRemoved:Z
.line 30
iput-boolean v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mItemsChanged:Z
.line 31
new-instance v0, Landroidx/recyclerview/widget/RecyclerView$k;
invoke-direct {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$k;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimatorListener:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$b;
.line 32
iput-boolean v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mPostedAnimatorRunner:Z
const/4 v0, 0x2
new-array v1, v0, [I
.line 33
iput-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mMinMaxLayoutPositions:[I
new-array v1, v0, [I
.line 34
iput-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I
new-array v1, v0, [I
.line 35
iput-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I
new-array v1, v0, [I
.line 36
iput-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I
.line 37
new-instance v1, Ljava/util/ArrayList;
invoke-direct {v1}, Ljava/util/ArrayList;-><init>()V
iput-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mPendingAccessibilityImportanceChange:Ljava/util/List;
.line 38
new-instance v1, Landroidx/recyclerview/widget/RecyclerView$b;
invoke-direct {v1, p0}, Landroidx/recyclerview/widget/RecyclerView$b;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
iput-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimatorRunner:Ljava/lang/Runnable;
.line 39
iput v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureNonExactMeasuredWidth:I
.line 40
iput v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureNonExactMeasuredHeight:I
.line 41
new-instance v1, Landroidx/recyclerview/widget/RecyclerView$d;
invoke-direct {v1, p0}, Landroidx/recyclerview/widget/RecyclerView$d;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
iput-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoProcessCallback:Landroidx/recyclerview/widget/l0$b;
.line 42
invoke-virtual {p0, v13}, Landroid/view/ViewGroup;->setScrollContainer(Z)V
.line 43
invoke-virtual {p0, v13}, Landroid/view/ViewGroup;->setFocusableInTouchMode(Z)V
.line 44
invoke-static/range {p1 .. p1}, Landroid/view/ViewConfiguration;->get(Landroid/content/Context;)Landroid/view/ViewConfiguration;
move-result-object v1
.line 45
invoke-virtual {v1}, Landroid/view/ViewConfiguration;->getScaledTouchSlop()I
move-result v2
iput v2, v7, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I
.line 46
invoke-static {v1, v8}, Ls1/p0;->b(Landroid/view/ViewConfiguration;Landroid/content/Context;)F
move-result v2
iput v2, v7, Landroidx/recyclerview/widget/RecyclerView;->mScaledHorizontalScrollFactor:F
.line 47
invoke-static {v1, v8}, Ls1/p0;->e(Landroid/view/ViewConfiguration;Landroid/content/Context;)F
move-result v2
iput v2, v7, Landroidx/recyclerview/widget/RecyclerView;->mScaledVerticalScrollFactor:F
.line 48
invoke-virtual {v1}, Landroid/view/ViewConfiguration;->getScaledMinimumFlingVelocity()I
move-result v2
iput v2, v7, Landroidx/recyclerview/widget/RecyclerView;->mMinFlingVelocity:I
.line 49
invoke-virtual {v1}, Landroid/view/ViewConfiguration;->getScaledMaximumFlingVelocity()I
move-result v1
iput v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mMaxFlingVelocity:I
.line 50
invoke-virtual {p0}, Landroid/view/ViewGroup;->getOverScrollMode()I
move-result v1
if-ne v1, v0, :cond_1
move v0, v13
goto :goto_1
:cond_1
move v0, v11
:goto_1
invoke-virtual {p0, v0}, Landroid/view/ViewGroup;->setWillNotDraw(Z)V
.line 51
iget-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
iget-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimatorListener:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$b;
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->A(Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$b;)V
.line 52
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->initAdapterManager()V
.line 53
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->initChildrenHelper()V
.line 54
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->initAutofill()V
.line 55
invoke-static {p0}, Landroidx/core/view/ViewCompat;->V(Landroid/view/View;)I
move-result v0
if-nez v0, :cond_2
.line 56
invoke-static {p0, v13}, Landroidx/core/view/ViewCompat;->R1(Landroid/view/View;I)V
.line 57
:cond_2
invoke-virtual {p0}, Landroid/view/ViewGroup;->getContext()Landroid/content/Context;
move-result-object v0
const-string v1, "accessibility"
.line 58
invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/view/accessibility/AccessibilityManager;
iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mAccessibilityManager:Landroid/view/accessibility/AccessibilityManager;
.line 59
new-instance v0, Landroidx/recyclerview/widget/c0;
invoke-direct {v0, p0}, Landroidx/recyclerview/widget/c0;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setAccessibilityDelegateCompat(Landroidx/recyclerview/widget/c0;)V
.line 60
sget-object v2, Landroidx/recyclerview/R$styleable;->RecyclerView:[I
invoke-virtual {v8, v9, v2, v10, v11}, Landroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray;
move-result-object v14
const/4 v6, 0x0
move-object v0, p0
move-object/from16 v1, p1
move-object/from16 v3, p2
move-object v4, v14
move/from16 v5, p3
.line 61
invoke-static/range {v0 .. v6}, Landroidx/core/view/ViewCompat;->z1(Landroid/view/View;Landroid/content/Context;[ILandroid/util/AttributeSet;Landroid/content/res/TypedArray;II)V
.line 62
sget v0, Landroidx/recyclerview/R$styleable;->RecyclerView_layoutManager:I
invoke-virtual {v14, v0}, Landroid/content/res/TypedArray;->getString(I)Ljava/lang/String;
move-result-object v2
.line 63
sget v0, Landroidx/recyclerview/R$styleable;->RecyclerView_android_descendantFocusability:I
invoke-virtual {v14, v0, v12}, Landroid/content/res/TypedArray;->getInt(II)I
move-result v0
if-ne v0, v12, :cond_3
const/high16 v0, 0x40000
.line 64
invoke-virtual {p0, v0}, Landroid/view/ViewGroup;->setDescendantFocusability(I)V
.line 65
:cond_3
sget v0, Landroidx/recyclerview/R$styleable;->RecyclerView_android_clipToPadding:I
invoke-virtual {v14, v0, v13}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z
move-result v0
iput-boolean v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
.line 66
sget v0, Landroidx/recyclerview/R$styleable;->RecyclerView_fastScrollEnabled:I
invoke-virtual {v14, v0, v11}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z
move-result v0
iput-boolean v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mEnableFastScroller:Z
if-eqz v0, :cond_4
.line 67
sget v0, Landroidx/recyclerview/R$styleable;->RecyclerView_fastScrollVerticalThumbDrawable:I
.line 68
invoke-virtual {v14, v0}, Landroid/content/res/TypedArray;->getDrawable(I)Landroid/graphics/drawable/Drawable;
move-result-object v0
check-cast v0, Landroid/graphics/drawable/StateListDrawable;
.line 69
sget v1, Landroidx/recyclerview/R$styleable;->RecyclerView_fastScrollVerticalTrackDrawable:I
.line 70
invoke-virtual {v14, v1}, Landroid/content/res/TypedArray;->getDrawable(I)Landroid/graphics/drawable/Drawable;
move-result-object v1
.line 71
sget v3, Landroidx/recyclerview/R$styleable;->RecyclerView_fastScrollHorizontalThumbDrawable:I
.line 72
invoke-virtual {v14, v3}, Landroid/content/res/TypedArray;->getDrawable(I)Landroid/graphics/drawable/Drawable;
move-result-object v3
check-cast v3, Landroid/graphics/drawable/StateListDrawable;
.line 73
sget v4, Landroidx/recyclerview/R$styleable;->RecyclerView_fastScrollHorizontalTrackDrawable:I
.line 74
invoke-virtual {v14, v4}, Landroid/content/res/TypedArray;->getDrawable(I)Landroid/graphics/drawable/Drawable;
move-result-object v4
.line 75
invoke-virtual {p0, v0, v1, v3, v4}, Landroidx/recyclerview/widget/RecyclerView;->initFastScroller(Landroid/graphics/drawable/StateListDrawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/StateListDrawable;Landroid/graphics/drawable/Drawable;)V
.line 76
:cond_4
invoke-virtual {v14}, Landroid/content/res/TypedArray;->recycle()V
const/4 v5, 0x0
move-object v0, p0
move-object/from16 v1, p1
move-object/from16 v3, p2
move/from16 v4, p3
.line 77
invoke-direct/range {v0 .. v5}, Landroidx/recyclerview/widget/RecyclerView;->createLayoutManager(Landroid/content/Context;Ljava/lang/String;Landroid/util/AttributeSet;II)V
.line 78
sget-object v2, Landroidx/recyclerview/widget/RecyclerView;->NESTED_SCROLLING_ATTRS:[I
invoke-virtual {v8, v9, v2, v10, v11}, Landroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray;
move-result-object v12
const/4 v6, 0x0
move-object v0, p0
move-object/from16 v1, p1
move-object/from16 v3, p2
move-object v4, v12
move/from16 v5, p3
.line 79
invoke-static/range {v0 .. v6}, Landroidx/core/view/ViewCompat;->z1(Landroid/view/View;Landroid/content/Context;[ILandroid/util/AttributeSet;Landroid/content/res/TypedArray;II)V
.line 80
invoke-virtual {v12, v11, v13}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z
move-result v0
.line 81
invoke-virtual {v12}, Landroid/content/res/TypedArray;->recycle()V
.line 82
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setNestedScrollingEnabled(Z)V
return-void
.end method
.method public static synthetic access$000(Landroidx/recyclerview/widget/RecyclerView;Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V
.locals 0
.line 1
invoke-virtual {p0, p1, p2, p3}, Landroid/view/ViewGroup;->attachViewToParent(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V
return-void
.end method
.method public static synthetic access$100(Landroidx/recyclerview/widget/RecyclerView;I)V
.locals 0
.line 1
invoke-virtual {p0, p1}, Landroid/view/ViewGroup;->detachViewFromParent(I)V
return-void
.end method
.method public static synthetic access$200(Landroidx/recyclerview/widget/RecyclerView;)Z
.locals 0
.line 1
invoke-virtual {p0}, Landroid/view/ViewGroup;->awakenScrollBars()Z
move-result p0
return p0
.end method
.method public static synthetic access$300(Landroidx/recyclerview/widget/RecyclerView;II)V
.locals 0
.line 1
invoke-virtual {p0, p1, p2}, Landroid/view/ViewGroup;->setMeasuredDimension(II)V
return-void
.end method
.method private addAnimatingView(Landroidx/recyclerview/widget/RecyclerView$a0;)V
.locals 5
.line 1
iget-object v0, p1, Landroidx/recyclerview/widget/RecyclerView$a0;->itemView:Landroid/view/View;
.line 2
invoke-virtual {v0}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
move-result-object v1
const/4 v2, 0x1
if-ne v1, p0, :cond_0
move v1, v2
goto :goto_0
:cond_0
const/4 v1, 0x0
.line 3
:goto_0
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolder(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$a0;
move-result-object v4
invoke-virtual {v3, v4}, Landroidx/recyclerview/widget/RecyclerView$s;->K(Landroidx/recyclerview/widget/RecyclerView$a0;)V
.line 4
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$a0;->isTmpDetached()Z
move-result p1
if-eqz p1, :cond_1
.line 5
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
const/4 v1, -0x1
invoke-virtual {v0}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
move-result-object v3
invoke-virtual {p1, v0, v1, v3, v2}, Landroidx/recyclerview/widget/g;->c(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;Z)V
goto :goto_1
:cond_1
if-nez v1, :cond_2
.line 6
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
invoke-virtual {p1, v0, v2}, Landroidx/recyclerview/widget/g;->b(Landroid/view/View;Z)V
goto :goto_1
.line 7
:cond_2
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/g;->k(Landroid/view/View;)V
:goto_1
return-void
.end method
.method private animateChange(Landroidx/recyclerview/widget/RecyclerView$a0;Landroidx/recyclerview/widget/RecyclerView$a0;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;ZZ)V
.locals 1
.param p1 # Landroidx/recyclerview/widget/RecyclerView$a0;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Landroidx/recyclerview/widget/RecyclerView$a0;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p3 # Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p4 # Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
const/4 v0, 0x0
.line 1
invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$a0;->setIsRecyclable(Z)V
if-eqz p5, :cond_0
.line 2
invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->addAnimatingView(Landroidx/recyclerview/widget/RecyclerView$a0;)V
:cond_0
if-eq p1, p2, :cond_2
if-eqz p6, :cond_1
.line 3
invoke-direct {p0, p2}, Landroidx/recyclerview/widget/RecyclerView;->addAnimatingView(Landroidx/recyclerview/widget/RecyclerView$a0;)V
.line 4
:cond_1
iput-object p2, p1, Landroidx/recyclerview/widget/RecyclerView$a0;->mShadowedHolder:Landroidx/recyclerview/widget/RecyclerView$a0;
.line 5
invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->addAnimatingView(Landroidx/recyclerview/widget/RecyclerView$a0;)V
.line 6
iget-object p5, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
invoke-virtual {p5, p1}, Landroidx/recyclerview/widget/RecyclerView$s;->K(Landroidx/recyclerview/widget/RecyclerView$a0;)V
.line 7
invoke-virtual {p2, v0}, Landroidx/recyclerview/widget/RecyclerView$a0;->setIsRecyclable(Z)V
.line 8
iput-object p1, p2, Landroidx/recyclerview/widget/RecyclerView$a0;->mShadowingHolder:Landroidx/recyclerview/widget/RecyclerView$a0;
.line 9
:cond_2
iget-object p5, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
invoke-virtual {p5, p1, p2, p3, p4}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->b(Landroidx/recyclerview/widget/RecyclerView$a0;Landroidx/recyclerview/widget/RecyclerView$a0;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;)Z
move-result p1
if-eqz p1, :cond_3
.line 10
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->postAnimationRunner()V
:cond_3
return-void
.end method
.method private cancelScroll()V
.locals 1
.line 1
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->resetScroll()V
const/4 v0, 0x0
.line 2
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V
return-void
.end method
.method public static clearNestedRecyclerViewIfNotNested(Landroidx/recyclerview/widget/RecyclerView$a0;)V
.locals 3
.param p0 # Landroidx/recyclerview/widget/RecyclerView$a0;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView$a0;->mNestedRecyclerView:Ljava/lang/ref/WeakReference;
if-eqz v0, :cond_3
.line 2
invoke-virtual {v0}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/view/View;
:goto_0
const/4 v1, 0x0
if-eqz v0, :cond_2
.line 3
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView$a0;->itemView:Landroid/view/View;
if-ne v0, v2, :cond_0
return-void
.line 4
:cond_0
invoke-virtual {v0}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
move-result-object v0
.line 5
instance-of v2, v0, Landroid/view/View;
if-eqz v2, :cond_1
.line 6
check-cast v0, Landroid/view/View;
goto :goto_0
:cond_1
move-object v0, v1
goto :goto_0
.line 7
:cond_2
iput-object v1, p0, Landroidx/recyclerview/widget/RecyclerView$a0;->mNestedRecyclerView:Ljava/lang/ref/WeakReference;
:cond_3
return-void
.end method
.method private createLayoutManager(Landroid/content/Context;Ljava/lang/String;Landroid/util/AttributeSet;II)V
.locals 7
const-string v0, ": Could not instantiate the LayoutManager: "
if-eqz p2, :cond_1
.line 1
invoke-virtual {p2}, Ljava/lang/String;->trim()Ljava/lang/String;
move-result-object p2
.line 2
invoke-virtual {p2}, Ljava/lang/String;->isEmpty()Z
move-result v1
if-nez v1, :cond_1
.line 3
invoke-direct {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->getFullClassName(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
move-result-object p2
.line 4
:try_start_0
invoke-virtual {p0}, Landroid/view/ViewGroup;->isInEditMode()Z
move-result v1
if-eqz v1, :cond_0
.line 5
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/Class;->getClassLoader()Ljava/lang/ClassLoader;
move-result-object v1
goto :goto_0
.line 6
:cond_0
invoke-virtual {p1}, Landroid/content/Context;->getClassLoader()Ljava/lang/ClassLoader;
move-result-object v1
:goto_0
const/4 v2, 0x0
.line 7
invoke-static {p2, v2, v1}, Ljava/lang/Class;->forName(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
move-result-object v1
const-class v3, Landroidx/recyclerview/widget/RecyclerView$m;
.line 8
invoke-virtual {v1, v3}, Ljava/lang/Class;->asSubclass(Ljava/lang/Class;)Ljava/lang/Class;
move-result-object v1
:try_end_0
.catch Ljava/lang/ClassNotFoundException; {:try_start_0 .. :try_end_0} :catch_6
.catch Ljava/lang/reflect/InvocationTargetException; {:try_start_0 .. :try_end_0} :catch_5
.catch Ljava/lang/InstantiationException; {:try_start_0 .. :try_end_0} :catch_4
.catch Ljava/lang/IllegalAccessException; {:try_start_0 .. :try_end_0} :catch_3
.catch Ljava/lang/ClassCastException; {:try_start_0 .. :try_end_0} :catch_2
const/4 v3, 0x0
const/4 v4, 0x1
.line 9
:try_start_1
sget-object v5, Landroidx/recyclerview/widget/RecyclerView;->LAYOUT_MANAGER_CONSTRUCTOR_SIGNATURE:[Ljava/lang/Class;
.line 10
invoke-virtual {v1, v5}, Ljava/lang/Class;->getConstructor([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
move-result-object v5
const/4 v6, 0x4
new-array v6, v6, [Ljava/lang/Object;
aput-object p1, v6, v2
aput-object p3, v6, v4
const/4 p1, 0x2
.line 11
invoke-static {p4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p4
aput-object p4, v6, p1
const/4 p1, 0x3
invoke-static {p5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p4
aput-object p4, v6, p1
:try_end_1
.catch Ljava/lang/NoSuchMethodException; {:try_start_1 .. :try_end_1} :catch_0
.catch Ljava/lang/ClassNotFoundException; {:try_start_1 .. :try_end_1} :catch_6
.catch Ljava/lang/reflect/InvocationTargetException; {:try_start_1 .. :try_end_1} :catch_5
.catch Ljava/lang/InstantiationException; {:try_start_1 .. :try_end_1} :catch_4
.catch Ljava/lang/IllegalAccessException; {:try_start_1 .. :try_end_1} :catch_3
.catch Ljava/lang/ClassCastException; {:try_start_1 .. :try_end_1} :catch_2
move-object v3, v6
goto :goto_1
:catch_0
move-exception p1
:try_start_2
new-array p4, v2, [Ljava/lang/Class;
.line 12
invoke-virtual {v1, p4}, Ljava/lang/Class;->getConstructor([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
move-result-object v5
:try_end_2
.catch Ljava/lang/NoSuchMethodException; {:try_start_2 .. :try_end_2} :catch_1
.catch Ljava/lang/ClassNotFoundException; {:try_start_2 .. :try_end_2} :catch_6
.catch Ljava/lang/reflect/InvocationTargetException; {:try_start_2 .. :try_end_2} :catch_5
.catch Ljava/lang/InstantiationException; {:try_start_2 .. :try_end_2} :catch_4
.catch Ljava/lang/IllegalAccessException; {:try_start_2 .. :try_end_2} :catch_3
.catch Ljava/lang/ClassCastException; {:try_start_2 .. :try_end_2} :catch_2
.line 13
:goto_1
:try_start_3
invoke-virtual {v5, v4}, Ljava/lang/reflect/Constructor;->setAccessible(Z)V
.line 14
invoke-virtual {v5, v3}, Ljava/lang/reflect/Constructor;->newInstance([Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Landroidx/recyclerview/widget/RecyclerView$m;
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->setLayoutManager(Landroidx/recyclerview/widget/RecyclerView$m;)V
goto/16 :goto_2
:catch_1
move-exception p4
.line 15
invoke-virtual {p4, p1}, Ljava/lang/NoSuchMethodException;->initCause(Ljava/lang/Throwable;)Ljava/lang/Throwable;
.line 16
new-instance p1, Ljava/lang/IllegalStateException;
new-instance p5, Ljava/lang/StringBuilder;
invoke-direct {p5}, Ljava/lang/StringBuilder;-><init>()V
invoke-interface {p3}, Landroid/util/AttributeSet;->getPositionDescription()Ljava/lang/String;
move-result-object v1
invoke-virtual {p5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, ": Error creating LayoutManager "
invoke-virtual {p5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p5, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p5
invoke-direct {p1, p5, p4}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw p1
:try_end_3
.catch Ljava/lang/ClassNotFoundException; {:try_start_3 .. :try_end_3} :catch_6
.catch Ljava/lang/reflect/InvocationTargetException; {:try_start_3 .. :try_end_3} :catch_5
.catch Ljava/lang/InstantiationException; {:try_start_3 .. :try_end_3} :catch_4
.catch Ljava/lang/IllegalAccessException; {:try_start_3 .. :try_end_3} :catch_3
.catch Ljava/lang/ClassCastException; {:try_start_3 .. :try_end_3} :catch_2
:catch_2
move-exception p1
.line 17
new-instance p4, Ljava/lang/IllegalStateException;
new-instance p5, Ljava/lang/StringBuilder;
invoke-direct {p5}, Ljava/lang/StringBuilder;-><init>()V
invoke-interface {p3}, Landroid/util/AttributeSet;->getPositionDescription()Ljava/lang/String;
move-result-object p3
invoke-virtual {p5, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p3, ": Class is not a LayoutManager "
invoke-virtual {p5, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p5, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-direct {p4, p2, p1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw p4
:catch_3
move-exception p1
.line 18
new-instance p4, Ljava/lang/IllegalStateException;
new-instance p5, Ljava/lang/StringBuilder;
invoke-direct {p5}, Ljava/lang/StringBuilder;-><init>()V
invoke-interface {p3}, Landroid/util/AttributeSet;->getPositionDescription()Ljava/lang/String;
move-result-object p3
invoke-virtual {p5, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p3, ": Cannot access non-public constructor "
invoke-virtual {p5, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p5, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-direct {p4, p2, p1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw p4
:catch_4
move-exception p1
.line 19
new-instance p4, Ljava/lang/IllegalStateException;
new-instance p5, Ljava/lang/StringBuilder;
invoke-direct {p5}, Ljava/lang/StringBuilder;-><init>()V
invoke-interface {p3}, Landroid/util/AttributeSet;->getPositionDescription()Ljava/lang/String;
move-result-object p3
invoke-virtual {p5, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p5, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p5, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-direct {p4, p2, p1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw p4
:catch_5
move-exception p1
.line 20
new-instance p4, Ljava/lang/IllegalStateException;
new-instance p5, Ljava/lang/StringBuilder;
invoke-direct {p5}, Ljava/lang/StringBuilder;-><init>()V
invoke-interface {p3}, Landroid/util/AttributeSet;->getPositionDescription()Ljava/lang/String;
move-result-object p3
invoke-virtual {p5, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p5, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p5, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-direct {p4, p2, p1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw p4
:catch_6
move-exception p1
.line 21
new-instance p4, Ljava/lang/IllegalStateException;
new-instance p5, Ljava/lang/StringBuilder;
invoke-direct {p5}, Ljava/lang/StringBuilder;-><init>()V
invoke-interface {p3}, Landroid/util/AttributeSet;->getPositionDescription()Ljava/lang/String;
move-result-object p3
invoke-virtual {p5, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p3, ": Unable to find LayoutManager "
invoke-virtual {p5, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p5, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-direct {p4, p2, p1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw p4
:cond_1
:goto_2
return-void
.end method
.method private didChildRangeChange(II)Z
.locals 4
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinMaxLayoutPositions:[I
invoke-direct {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->findMinMaxChildLayoutPositions([I)V
.line 2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinMaxLayoutPositions:[I
const/4 v1, 0x0
aget v2, v0, v1
const/4 v3, 0x1
if-ne v2, p1, :cond_0
aget p1, v0, v3
if-eq p1, p2, :cond_1
:cond_0
move v1, v3
:cond_1
return v1
.end method
.method private dispatchContentChangedIfNecessary()V
.locals 3
.line 1
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mEatenAccessibilityChangeFlags:I
const/4 v1, 0x0
.line 2
iput v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mEatenAccessibilityChangeFlags:I
if-eqz v0, :cond_0
.line 3
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isAccessibilityEnabled()Z
move-result v1
if-eqz v1, :cond_0
.line 4
invoke-static {}, Landroid/view/accessibility/AccessibilityEvent;->obtain()Landroid/view/accessibility/AccessibilityEvent;
move-result-object v1
const/16 v2, 0x800
.line 5
invoke-virtual {v1, v2}, Landroid/view/accessibility/AccessibilityEvent;->setEventType(I)V
.line 6
invoke-static {v1, v0}, Landroidx/core/view/accessibility/AccessibilityEventCompat;->i(Landroid/view/accessibility/AccessibilityEvent;I)V
.line 7
invoke-virtual {p0, v1}, Landroidx/recyclerview/widget/RecyclerView;->sendAccessibilityEventUnchecked(Landroid/view/accessibility/AccessibilityEvent;)V
:cond_0
return-void
.end method
.method private dispatchLayoutStep1()V
.locals 8
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
const/4 v1, 0x1
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$x;->a(I)V
.line 2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->fillRemainingScrollValues(Landroidx/recyclerview/widget/RecyclerView$x;)V
.line 3
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
const/4 v2, 0x0
iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$x;->j:Z
.line 4
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
.line 5
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/l0;
invoke-virtual {v0}, Landroidx/recyclerview/widget/l0;->f()V
.line 6
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V
.line 7
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->processAdapterUpdatesAndSetAnimationFlags()V
.line 8
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->saveFocusInfo()V
.line 9
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
iget-boolean v3, v0, Landroidx/recyclerview/widget/RecyclerView$x;->k:Z
if-eqz v3, :cond_0
iget-boolean v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemsChanged:Z
if-eqz v3, :cond_0
goto :goto_0
:cond_0
move v1, v2
:goto_0
iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$x;->i:Z
.line 10
iput-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemsChanged:Z
iput-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemsAddedOrRemoved:Z
.line 11
iget-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$x;->l:Z
iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$x;->h:Z
.line 12
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->getItemCount()I
move-result v1
iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$x;->f:I
.line 13
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinMaxLayoutPositions:[I
invoke-direct {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->findMinMaxChildLayoutPositions([I)V
.line 14
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
iget-boolean v0, v0, Landroidx/recyclerview/widget/RecyclerView$x;->k:Z
if-eqz v0, :cond_3
.line 15
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
invoke-virtual {v0}, Landroidx/recyclerview/widget/g;->g()I
move-result v0
move v1, v2
:goto_1
if-ge v1, v0, :cond_3
.line 16
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
invoke-virtual {v3, v1}, Landroidx/recyclerview/widget/g;->f(I)Landroid/view/View;
move-result-object v3
invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$a0;
move-result-object v3
.line 17
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$a0;->shouldIgnore()Z
move-result v4
if-nez v4, :cond_2
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$a0;->isInvalid()Z
move-result v4
if-eqz v4, :cond_1
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
invoke-virtual {v4}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z
move-result v4
if-nez v4, :cond_1
goto :goto_2
.line 18
:cond_1
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
.line 19
invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->e(Landroidx/recyclerview/widget/RecyclerView$a0;)I
move-result v6
.line 20
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$a0;->getUnmodifiedPayloads()Ljava/util/List;
move-result-object v7
.line 21
invoke-virtual {v4, v5, v3, v6, v7}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->w(Landroidx/recyclerview/widget/RecyclerView$x;Landroidx/recyclerview/widget/RecyclerView$a0;ILjava/util/List;)Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;
move-result-object v4
.line 22
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/l0;
invoke-virtual {v5, v3, v4}, Landroidx/recyclerview/widget/l0;->e(Landroidx/recyclerview/widget/RecyclerView$a0;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;)V
.line 23
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
iget-boolean v4, v4, Landroidx/recyclerview/widget/RecyclerView$x;->i:Z
if-eqz v4, :cond_2
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$a0;->isUpdated()Z
move-result v4
if-eqz v4, :cond_2
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$a0;->isRemoved()Z
move-result v4
if-nez v4, :cond_2
.line 24
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$a0;->shouldIgnore()Z
move-result v4
if-nez v4, :cond_2
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$a0;->isInvalid()Z
move-result v4
if-nez v4, :cond_2
.line 25
invoke-virtual {p0, v3}, Landroidx/recyclerview/widget/RecyclerView;->getChangedHolderKey(Landroidx/recyclerview/widget/RecyclerView$a0;)J
move-result-wide v4
.line 26
iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/l0;
invoke-virtual {v6, v4, v5, v3}, Landroidx/recyclerview/widget/l0;->c(JLandroidx/recyclerview/widget/RecyclerView$a0;)V
:cond_2
:goto_2
add-int/lit8 v1, v1, 0x1
goto :goto_1
.line 27
:cond_3
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
iget-boolean v0, v0, Landroidx/recyclerview/widget/RecyclerView$x;->l:Z
if-eqz v0, :cond_9
.line 28
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->saveOldPositions()V
.line 29
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
iget-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$x;->g:Z
.line 30
iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$x;->g:Z
.line 31
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
invoke-virtual {v3, v4, v0}, Landroidx/recyclerview/widget/RecyclerView$m;->onLayoutChildren(Landroidx/recyclerview/widget/RecyclerView$s;Landroidx/recyclerview/widget/RecyclerView$x;)V
.line 32
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$x;->g:Z
move v0, v2
.line 33
:goto_3
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
invoke-virtual {v1}, Landroidx/recyclerview/widget/g;->g()I
move-result v1
if-ge v0, v1, :cond_8
.line 34
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
invoke-virtual {v1, v0}, Landroidx/recyclerview/widget/g;->f(I)Landroid/view/View;
move-result-object v1
.line 35
invoke-static {v1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$a0;
move-result-object v1
.line 36
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$a0;->shouldIgnore()Z
move-result v3
if-eqz v3, :cond_4
goto :goto_4
.line 37
:cond_4
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/l0;
invoke-virtual {v3, v1}, Landroidx/recyclerview/widget/l0;->i(Landroidx/recyclerview/widget/RecyclerView$a0;)Z
move-result v3
if-nez v3, :cond_7
.line 38
invoke-static {v1}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->e(Landroidx/recyclerview/widget/RecyclerView$a0;)I
move-result v3
const/16 v4, 0x2000
.line 39
invoke-virtual {v1, v4}, Landroidx/recyclerview/widget/RecyclerView$a0;->hasAnyOfTheFlags(I)Z
move-result v4
if-nez v4, :cond_5
or-int/lit16 v3, v3, 0x1000
.line 40
:cond_5
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
.line 41
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$a0;->getUnmodifiedPayloads()Ljava/util/List;
move-result-object v7
.line 42
invoke-virtual {v5, v6, v1, v3, v7}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->w(Landroidx/recyclerview/widget/RecyclerView$x;Landroidx/recyclerview/widget/RecyclerView$a0;ILjava/util/List;)Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;
move-result-object v3
if-eqz v4, :cond_6
.line 43
invoke-virtual {p0, v1, v3}, Landroidx/recyclerview/widget/RecyclerView;->recordAnimationInfoIfBouncedHiddenView(Landroidx/recyclerview/widget/RecyclerView$a0;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;)V
goto :goto_4
.line 44
:cond_6
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/l0;
invoke-virtual {v4, v1, v3}, Landroidx/recyclerview/widget/l0;->a(Landroidx/recyclerview/widget/RecyclerView$a0;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;)V
:cond_7
:goto_4
add-int/lit8 v0, v0, 0x1
goto :goto_3
.line 45
:cond_8
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->clearOldPositions()V
goto :goto_5
.line 46
:cond_9
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->clearOldPositions()V
.line 47
:goto_5
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V
.line 48
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
.line 49
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
const/4 v1, 0x2
iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$x;->e:I
return-void
.end method
.method private dispatchLayoutStep2()V
.locals 4
.line 1
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
.line 2
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V
.line 3
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
const/4 v1, 0x6
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$x;->a(I)V
.line 4
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/a;
invoke-virtual {v0}, Landroidx/recyclerview/widget/a;->k()V
.line 5
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->getItemCount()I
move-result v1
iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$x;->f:I
.line 6
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
const/4 v1, 0x0
iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$x;->d:I
.line 7
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingSavedState:Landroidx/recyclerview/widget/RecyclerView$SavedState;
if-eqz v0, :cond_1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->canRestoreState()Z
move-result v0
if-eqz v0, :cond_1
.line 8
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingSavedState:Landroidx/recyclerview/widget/RecyclerView$SavedState;
iget-object v0, v0, Landroidx/recyclerview/widget/RecyclerView$SavedState;->a:Landroid/os/Parcelable;
if-eqz v0, :cond_0
.line 9
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
invoke-virtual {v2, v0}, Landroidx/recyclerview/widget/RecyclerView$m;->onRestoreInstanceState(Landroid/os/Parcelable;)V
:cond_0
const/4 v0, 0x0
.line 10
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingSavedState:Landroidx/recyclerview/widget/RecyclerView$SavedState;
.line 11
:cond_1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$x;->h:Z
.line 12
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
invoke-virtual {v2, v3, v0}, Landroidx/recyclerview/widget/RecyclerView$m;->onLayoutChildren(Landroidx/recyclerview/widget/RecyclerView$s;Landroidx/recyclerview/widget/RecyclerView$x;)V
.line 13
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$x;->g:Z
.line 14
iget-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$x;->k:Z
if-eqz v2, :cond_2
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
if-eqz v2, :cond_2
const/4 v2, 0x1
goto :goto_0
:cond_2
move v2, v1
:goto_0
iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$x;->k:Z
const/4 v2, 0x4
.line 15
iput v2, v0, Landroidx/recyclerview/widget/RecyclerView$x;->e:I
.line 16
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V
.line 17
invoke-virtual {p0, v1}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
return-void
.end method
.method private dispatchLayoutStep3()V
.locals 11
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
const/4 v1, 0x4
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$x;->a(I)V
.line 2
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
.line 3
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V
.line 4
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
const/4 v1, 0x1
iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$x;->e:I
.line 5
iget-boolean v0, v0, Landroidx/recyclerview/widget/RecyclerView$x;->k:Z
if-eqz v0, :cond_5
.line 6
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
invoke-virtual {v0}, Landroidx/recyclerview/widget/g;->g()I
move-result v0
sub-int/2addr v0, v1
:goto_0
if-ltz v0, :cond_4
.line 7
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
invoke-virtual {v2, v0}, Landroidx/recyclerview/widget/g;->f(I)Landroid/view/View;
move-result-object v2
invoke-static {v2}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$a0;
move-result-object v5
.line 8
invoke-virtual {v5}, Landroidx/recyclerview/widget/RecyclerView$a0;->shouldIgnore()Z
move-result v2
if-eqz v2, :cond_0
goto :goto_1
.line 9
:cond_0
invoke-virtual {p0, v5}, Landroidx/recyclerview/widget/RecyclerView;->getChangedHolderKey(Landroidx/recyclerview/widget/RecyclerView$a0;)J
move-result-wide v2
.line 10
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
.line 11
invoke-virtual {v4, v6, v5}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->v(Landroidx/recyclerview/widget/RecyclerView$x;Landroidx/recyclerview/widget/RecyclerView$a0;)Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;
move-result-object v4
.line 12
iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/l0;
invoke-virtual {v6, v2, v3}, Landroidx/recyclerview/widget/l0;->g(J)Landroidx/recyclerview/widget/RecyclerView$a0;
move-result-object v6
if-eqz v6, :cond_3
.line 13
invoke-virtual {v6}, Landroidx/recyclerview/widget/RecyclerView$a0;->shouldIgnore()Z
move-result v7
if-nez v7, :cond_3
.line 14
iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/l0;
invoke-virtual {v7, v6}, Landroidx/recyclerview/widget/l0;->h(Landroidx/recyclerview/widget/RecyclerView$a0;)Z
move-result v8
.line 15
iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/l0;
invoke-virtual {v7, v5}, Landroidx/recyclerview/widget/l0;->h(Landroidx/recyclerview/widget/RecyclerView$a0;)Z
move-result v9
if-eqz v8, :cond_1
if-ne v6, v5, :cond_1
.line 16
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/l0;
invoke-virtual {v2, v5, v4}, Landroidx/recyclerview/widget/l0;->d(Landroidx/recyclerview/widget/RecyclerView$a0;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;)V
goto :goto_1
.line 17
:cond_1
iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/l0;
invoke-virtual {v7, v6}, Landroidx/recyclerview/widget/l0;->n(Landroidx/recyclerview/widget/RecyclerView$a0;)Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;
move-result-object v7
.line 18
iget-object v10, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/l0;
invoke-virtual {v10, v5, v4}, Landroidx/recyclerview/widget/l0;->d(Landroidx/recyclerview/widget/RecyclerView$a0;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;)V
.line 19
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/l0;
invoke-virtual {v4, v5}, Landroidx/recyclerview/widget/l0;->m(Landroidx/recyclerview/widget/RecyclerView$a0;)Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;
move-result-object v10
if-nez v7, :cond_2
.line 20
invoke-direct {p0, v2, v3, v5, v6}, Landroidx/recyclerview/widget/RecyclerView;->handleMissingPreInfoForChangeError(JLandroidx/recyclerview/widget/RecyclerView$a0;Landroidx/recyclerview/widget/RecyclerView$a0;)V
goto :goto_1
:cond_2
move-object v3, p0
move-object v4, v6
move-object v6, v7
move-object v7, v10
.line 21
invoke-direct/range {v3 .. v9}, Landroidx/recyclerview/widget/RecyclerView;->animateChange(Landroidx/recyclerview/widget/RecyclerView$a0;Landroidx/recyclerview/widget/RecyclerView$a0;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;ZZ)V
goto :goto_1
.line 22
:cond_3
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/l0;
invoke-virtual {v2, v5, v4}, Landroidx/recyclerview/widget/l0;->d(Landroidx/recyclerview/widget/RecyclerView$a0;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;)V
:goto_1
add-int/lit8 v0, v0, -0x1
goto :goto_0
.line 23
:cond_4
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/l0;
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoProcessCallback:Landroidx/recyclerview/widget/l0$b;
invoke-virtual {v0, v2}, Landroidx/recyclerview/widget/l0;->o(Landroidx/recyclerview/widget/l0$b;)V
.line 24
:cond_5
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
invoke-virtual {v0, v2}, Landroidx/recyclerview/widget/RecyclerView$m;->removeAndRecycleScrapInt(Landroidx/recyclerview/widget/RecyclerView$s;)V
.line 25
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
iget v2, v0, Landroidx/recyclerview/widget/RecyclerView$x;->f:I
iput v2, v0, Landroidx/recyclerview/widget/RecyclerView$x;->c:I
const/4 v2, 0x0
.line 26
iput-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z
.line 27
iput-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchItemsChangedEvent:Z
.line 28
iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$x;->k:Z
.line 29
iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$x;->l:Z
.line 30
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$m;->mRequestedSimpleAnimations:Z
.line 31
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
iget-object v0, v0, Landroidx/recyclerview/widget/RecyclerView$s;->b:Ljava/util/ArrayList;
if-eqz v0, :cond_6
.line 32
invoke-virtual {v0}, Ljava/util/ArrayList;->clear()V
.line 33
:cond_6
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
iget-boolean v3, v0, Landroidx/recyclerview/widget/RecyclerView$m;->mPrefetchMaxObservedInInitialPrefetch:Z
if-eqz v3, :cond_7
.line 34
iput v2, v0, Landroidx/recyclerview/widget/RecyclerView$m;->mPrefetchMaxCountObserved:I
.line 35
iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$m;->mPrefetchMaxObservedInInitialPrefetch:Z
.line 36
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$s;->L()V
.line 37
:cond_7
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
invoke-virtual {v0, v3}, Landroidx/recyclerview/widget/RecyclerView$m;->onLayoutCompleted(Landroidx/recyclerview/widget/RecyclerView$x;)V
.line 38
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V
.line 39
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
.line 40
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/l0;
invoke-virtual {v0}, Landroidx/recyclerview/widget/l0;->f()V
.line 41
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinMaxLayoutPositions:[I
aget v3, v0, v2
aget v0, v0, v1
invoke-direct {p0, v3, v0}, Landroidx/recyclerview/widget/RecyclerView;->didChildRangeChange(II)Z
move-result v0
if-eqz v0, :cond_8
.line 42
invoke-virtual {p0, v2, v2}, Landroidx/recyclerview/widget/RecyclerView;->dispatchOnScrolled(II)V
.line 43
:cond_8
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->recoverFocusFromState()V
.line 44
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->resetFocusInfo()V
return-void
.end method
.method private dispatchToOnItemTouchListeners(Landroid/view/MotionEvent;)Z
.locals 2
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptingOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$p;
if-nez v0, :cond_1
.line 2
invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I
move-result v0
if-nez v0, :cond_0
const/4 p1, 0x0
return p1
.line 3
:cond_0
invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->findInterceptingOnItemTouchListener(Landroid/view/MotionEvent;)Z
move-result p1
return p1
.line 4
:cond_1
invoke-interface {v0, p0, p1}, Landroidx/recyclerview/widget/RecyclerView$p;->a(Landroidx/recyclerview/widget/RecyclerView;Landroid/view/MotionEvent;)V
.line 5
invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I
move-result p1
const/4 v0, 0x3
const/4 v1, 0x1
if-eq p1, v0, :cond_2
if-ne p1, v1, :cond_3
:cond_2
const/4 p1, 0x0
.line 6
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptingOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$p;
:cond_3
return v1
.end method
.method private findInterceptingOnItemTouchListener(Landroid/view/MotionEvent;)Z
.locals 6
.line 1
invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I
move-result v0
.line 2
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList;
invoke-virtual {v1}, Ljava/util/ArrayList;->size()I
move-result v1
const/4 v2, 0x0
move v3, v2
:goto_0
if-ge v3, v1, :cond_1
.line 3
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList;
invoke-virtual {v4, v3}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v4
check-cast v4, Landroidx/recyclerview/widget/RecyclerView$p;
.line 4
invoke-interface {v4, p0, p1}, Landroidx/recyclerview/widget/RecyclerView$p;->c(Landroidx/recyclerview/widget/RecyclerView;Landroid/view/MotionEvent;)Z
move-result v5
if-eqz v5, :cond_0
const/4 v5, 0x3
if-eq v0, v5, :cond_0
.line 5
iput-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptingOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$p;
const/4 p1, 0x1
return p1
:cond_0
add-int/lit8 v3, v3, 0x1
goto :goto_0
:cond_1
return v2
.end method
.method private findMinMaxChildLayoutPositions([I)V
.locals 8
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
invoke-virtual {v0}, Landroidx/recyclerview/widget/g;->g()I
move-result v0
const/4 v1, 0x1
const/4 v2, 0x0
if-nez v0, :cond_0
const/4 v0, -0x1
.line 2
aput v0, p1, v2
.line 3
aput v0, p1, v1
return-void
:cond_0
const v3, 0x7fffffff
const/high16 v4, -0x80000000
move v5, v2
:goto_0
if-ge v5, v0, :cond_4
.line 4
iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
invoke-virtual {v6, v5}, Landroidx/recyclerview/widget/g;->f(I)Landroid/view/View;
move-result-object v6
invoke-static {v6}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$a0;
move-result-object v6
.line 5
invoke-virtual {v6}, Landroidx/recyclerview/widget/RecyclerView$a0;->shouldIgnore()Z
move-result v7
if-eqz v7, :cond_1
goto :goto_1
.line 6
:cond_1
invoke-virtual {v6}, Landroidx/recyclerview/widget/RecyclerView$a0;->getLayoutPosition()I
move-result v6
if-ge v6, v3, :cond_2
move v3, v6
:cond_2
if-le v6, v4, :cond_3
move v4, v6
:cond_3
:goto_1
add-int/lit8 v5, v5, 0x1
goto :goto_0
.line 7
:cond_4
aput v3, p1, v2
.line 8
aput v4, p1, v1
return-void
.end method
.method static findNestedRecyclerView(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView;
.locals 4
.param p0 # Landroid/view/View;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/Nullable;
.end annotation
.line 1
instance-of v0, p0, Landroid/view/ViewGroup;
const/4 v1, 0x0
if-nez v0, :cond_0
return-object v1
.line 2
:cond_0
instance-of v0, p0, Landroidx/recyclerview/widget/RecyclerView;
if-eqz v0, :cond_1
.line 3
check-cast p0, Landroidx/recyclerview/widget/RecyclerView;
return-object p0
.line 4
:cond_1
check-cast p0, Landroid/view/ViewGroup;
.line 5
invoke-virtual {p0}, Landroid/view/ViewGroup;->getChildCount()I
move-result v0
const/4 v2, 0x0
:goto_0
if-ge v2, v0, :cond_3
.line 6
invoke-virtual {p0, v2}, Landroid/view/ViewGroup;->getChildAt(I)Landroid/view/View;
move-result-object v3
.line 7
invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->findNestedRecyclerView(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView;
move-result-object v3
if-eqz v3, :cond_2
return-object v3
:cond_2
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_3
return-object v1
.end method
.method private findNextViewToFocus()Landroid/view/View;
.locals 5
.annotation build Landroidx/annotation/Nullable;
.end annotation
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
iget v1, v0, Landroidx/recyclerview/widget/RecyclerView$x;->m:I
const/4 v2, -0x1
if-eq v1, v2, :cond_0
goto :goto_0
:cond_0
const/4 v1, 0x0
.line 2
:goto_0
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$x;->d()I
move-result v0
move v2, v1
:goto_1
if-ge v2, v0, :cond_3
.line 3
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->findViewHolderForAdapterPosition(I)Landroidx/recyclerview/widget/RecyclerView$a0;
move-result-object v3
if-nez v3, :cond_1
goto :goto_2
.line 4
:cond_1
iget-object v4, v3, Landroidx/recyclerview/widget/RecyclerView$a0;->itemView:Landroid/view/View;
invoke-virtual {v4}, Landroid/view/View;->hasFocusable()Z
move-result v4
if-eqz v4, :cond_2
.line 5
iget-object v0, v3, Landroidx/recyclerview/widget/RecyclerView$a0;->itemView:Landroid/view/View;
return-object v0
:cond_2
add-int/lit8 v2, v2, 0x1
goto :goto_1
.line 6
:cond_3
:goto_2
invoke-static {v0, v1}, Ljava/lang/Math;->min(II)I
move-result v0
add-int/lit8 v0, v0, -0x1
:goto_3
const/4 v1, 0x0
if-ltz v0, :cond_6
.line 7
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->findViewHolderForAdapterPosition(I)Landroidx/recyclerview/widget/RecyclerView$a0;
move-result-object v2
if-nez v2, :cond_4
return-object v1
.line 8
:cond_4
iget-object v1, v2, Landroidx/recyclerview/widget/RecyclerView$a0;->itemView:Landroid/view/View;
invoke-virtual {v1}, Landroid/view/View;->hasFocusable()Z
move-result v1
if-eqz v1, :cond_5
.line 9
iget-object v0, v2, Landroidx/recyclerview/widget/RecyclerView$a0;->itemView:Landroid/view/View;
return-object v0
:cond_5
add-int/lit8 v0, v0, -0x1
goto :goto_3
:cond_6
return-object v1
.end method
.method public static getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$a0;
.locals 0
if-nez p0, :cond_0
const/4 p0, 0x0
return-object p0
.line 1
:cond_0
invoke-virtual {p0}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
move-result-object p0
check-cast p0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->a:Landroidx/recyclerview/widget/RecyclerView$a0;
return-object p0
.end method
.method public static getDecoratedBoundsWithMarginsInt(Landroid/view/View;Landroid/graphics/Rect;)V
.locals 6
.line 1
invoke-virtual {p0}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
move-result-object v0
check-cast v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
.line 2
iget-object v1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->b:Landroid/graphics/Rect;
.line 3
invoke-virtual {p0}, Landroid/view/View;->getLeft()I
move-result v2
iget v3, v1, Landroid/graphics/Rect;->left:I
sub-int/2addr v2, v3
iget v3, v0, Landroid/view/ViewGroup$MarginLayoutParams;->leftMargin:I
sub-int/2addr v2, v3
.line 4
invoke-virtual {p0}, Landroid/view/View;->getTop()I
move-result v3
iget v4, v1, Landroid/graphics/Rect;->top:I
sub-int/2addr v3, v4
iget v4, v0, Landroid/view/ViewGroup$MarginLayoutParams;->topMargin:I
sub-int/2addr v3, v4
.line 5
invoke-virtual {p0}, Landroid/view/View;->getRight()I
move-result v4
iget v5, v1, Landroid/graphics/Rect;->right:I
add-int/2addr v4, v5
iget v5, v0, Landroid/view/ViewGroup$MarginLayoutParams;->rightMargin:I
add-int/2addr v4, v5
.line 6
invoke-virtual {p0}, Landroid/view/View;->getBottom()I
move-result p0
iget v1, v1, Landroid/graphics/Rect;->bottom:I
add-int/2addr p0, v1
iget v0, v0, Landroid/view/ViewGroup$MarginLayoutParams;->bottomMargin:I
add-int/2addr p0, v0
.line 7
invoke-virtual {p1, v2, v3, v4, p0}, Landroid/graphics/Rect;->set(IIII)V
return-void
.end method
.method private getDeepestFocusedViewWithId(Landroid/view/View;)I
.locals 3
.line 1
invoke-virtual {p1}, Landroid/view/View;->getId()I
move-result v0
.line 2
:cond_0
:goto_0
invoke-virtual {p1}, Landroid/view/View;->isFocused()Z
move-result v1
if-nez v1, :cond_1
instance-of v1, p1, Landroid/view/ViewGroup;
if-eqz v1, :cond_1
invoke-virtual {p1}, Landroid/view/View;->hasFocus()Z
move-result v1
if-eqz v1, :cond_1
.line 3
check-cast p1, Landroid/view/ViewGroup;
invoke-virtual {p1}, Landroid/view/ViewGroup;->getFocusedChild()Landroid/view/View;
move-result-object p1
.line 4
invoke-virtual {p1}, Landroid/view/View;->getId()I
move-result v1
const/4 v2, -0x1
if-eq v1, v2, :cond_0
.line 5
invoke-virtual {p1}, Landroid/view/View;->getId()I
move-result v0
goto :goto_0
:cond_1
return v0
.end method
.method private getFullClassName(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
.locals 2
const/4 v0, 0x0
.line 1
invoke-virtual {p2, v0}, Ljava/lang/String;->charAt(I)C
move-result v0
const/16 v1, 0x2e
if-ne v0, v1, :cond_0
.line 2
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object p1
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
return-object p1
:cond_0
const-string p1, "."
.line 3
invoke-virtual {p2, p1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result p1
if-eqz p1, :cond_1
return-object p2
.line 4
:cond_1
new-instance p1, Ljava/lang/StringBuilder;
invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V
const-class v0, Landroidx/recyclerview/widget/RecyclerView;
invoke-virtual {v0}, Ljava/lang/Class;->getPackage()Ljava/lang/Package;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Package;->getName()Ljava/lang/String;
move-result-object v0
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
return-object p1
.end method
.method private getScrollingChildHelper()Ls1/z;
.locals 1
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollingChildHelper:Ls1/z;
if-nez v0, :cond_0
.line 2
new-instance v0, Ls1/z;
invoke-direct {v0, p0}, Ls1/z;-><init>(Landroid/view/View;)V
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollingChildHelper:Ls1/z;
.line 3
:cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollingChildHelper:Ls1/z;
return-object v0
.end method
.method private handleMissingPreInfoForChangeError(JLandroidx/recyclerview/widget/RecyclerView$a0;Landroidx/recyclerview/widget/RecyclerView$a0;)V
.locals 5
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
invoke-virtual {v0}, Landroidx/recyclerview/widget/g;->g()I
move-result v0
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_3
.line 2
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/g;->f(I)Landroid/view/View;
move-result-object v2
.line 3
invoke-static {v2}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$a0;
move-result-object v2
if-ne v2, p3, :cond_0
goto :goto_1
.line 4
:cond_0
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->getChangedHolderKey(Landroidx/recyclerview/widget/RecyclerView$a0;)J
move-result-wide v3
cmp-long v3, v3, p1
if-nez v3, :cond_2
.line 5
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
const-string p2, " \n View Holder 2:"
if-eqz p1, :cond_1
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z
move-result p1
if-eqz p1, :cond_1
.line 6
new-instance p1, Ljava/lang/IllegalStateException;
new-instance p4, Ljava/lang/StringBuilder;
invoke-direct {p4}, Ljava/lang/StringBuilder;-><init>()V
const-string v0, "Two different ViewHolders have the same stable ID. Stable IDs in your adapter MUST BE unique and SHOULD NOT change.\n ViewHolder 1:"
invoke-virtual {p4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {p4, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p4, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
.line 7
invoke-static {p0, p4}, Landroidx/recyclerview/widget/b0;->a(Landroidx/recyclerview/widget/RecyclerView;Ljava/lang/StringBuilder;)Ljava/lang/String;
move-result-object p2
invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
.line 8
:cond_1
new-instance p1, Ljava/lang/IllegalStateException;
new-instance p4, Ljava/lang/StringBuilder;
invoke-direct {p4}, Ljava/lang/StringBuilder;-><init>()V
const-string v0, "Two different ViewHolders have the same change ID. This might happen due to inconsistent Adapter update events or if the LayoutManager lays out the same View multiple times.\n ViewHolder 1:"
invoke-virtual {p4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {p4, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p4, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
.line 9
invoke-static {p0, p4}, Landroidx/recyclerview/widget/b0;->a(Landroidx/recyclerview/widget/RecyclerView;Ljava/lang/StringBuilder;)Ljava/lang/String;
move-result-object p2
invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
:cond_2
:goto_1
add-int/lit8 v1, v1, 0x1
goto :goto_0
.line 10
:cond_3
new-instance p1, Ljava/lang/StringBuilder;
invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V
const-string p2, "Problem while matching changed view holders with the newones. The pre-layout information for the change holder "
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string p2, " cannot be found but it is necessary for "
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
.line 11
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String;
move-result-object p2
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
const-string p2, "RecyclerView"
.line 12
invoke-static {p2, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
return-void
.end method
.method private hasUpdatedView()Z
.locals 5
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
invoke-virtual {v0}, Landroidx/recyclerview/widget/g;->g()I
move-result v0
const/4 v1, 0x0
move v2, v1
:goto_0
if-ge v2, v0, :cond_2
.line 2
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/g;->f(I)Landroid/view/View;
move-result-object v3
invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$a0;
move-result-object v3
if-eqz v3, :cond_1
.line 3
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$a0;->shouldIgnore()Z
move-result v4
if-eqz v4, :cond_0
goto :goto_1
.line 4
:cond_0
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$a0;->isUpdated()Z
move-result v3
if-eqz v3, :cond_1
const/4 v0, 0x1
return v0
:cond_1
:goto_1
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_2
return v1
.end method
.method private initAutofill()V
.locals 1
.annotation build Landroid/annotation/SuppressLint;
value = {
"InlinedApi"
}
.end annotation
.line 1
invoke-static {p0}, Landroidx/core/view/ViewCompat;->W(Landroid/view/View;)I
move-result v0
if-nez v0, :cond_0
const/16 v0, 0x8
.line 2
invoke-static {p0, v0}, Landroidx/core/view/ViewCompat;->S1(Landroid/view/View;I)V
:cond_0
return-void
.end method
.method private initChildrenHelper()V
.locals 2
.line 1
new-instance v0, Landroidx/recyclerview/widget/g;
new-instance v1, Landroidx/recyclerview/widget/RecyclerView$e;
invoke-direct {v1, p0}, Landroidx/recyclerview/widget/RecyclerView$e;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
invoke-direct {v0, v1}, Landroidx/recyclerview/widget/g;-><init>(Landroidx/recyclerview/widget/g$b;)V
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
return-void
.end method
.method private isPreferredNextFocus(Landroid/view/View;Landroid/view/View;I)Z
.locals 9
const/4 v0, 0x0
if-eqz p2, :cond_1a
if-eq p2, p0, :cond_1a
if-ne p2, p1, :cond_0
goto/16 :goto_3
.line 1
:cond_0
invoke-virtual {p0, p2}, Landroidx/recyclerview/widget/RecyclerView;->findContainingItemView(Landroid/view/View;)Landroid/view/View;
move-result-object v1
if-nez v1, :cond_1
return v0
:cond_1
const/4 v1, 0x1
if-nez p1, :cond_2
return v1
.line 2
:cond_2
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->findContainingItemView(Landroid/view/View;)Landroid/view/View;
move-result-object v2
if-nez v2, :cond_3
return v1
.line 3
:cond_3
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
invoke-virtual {p1}, Landroid/view/View;->getWidth()I
move-result v3
invoke-virtual {p1}, Landroid/view/View;->getHeight()I
move-result v4
invoke-virtual {v2, v0, v0, v3, v4}, Landroid/graphics/Rect;->set(IIII)V
.line 4
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect;
invoke-virtual {p2}, Landroid/view/View;->getWidth()I
move-result v3
invoke-virtual {p2}, Landroid/view/View;->getHeight()I
move-result v4
invoke-virtual {v2, v0, v0, v3, v4}, Landroid/graphics/Rect;->set(IIII)V
.line 5
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
invoke-virtual {p0, p1, v2}, Landroid/view/ViewGroup;->offsetDescendantRectToMyCoords(Landroid/view/View;Landroid/graphics/Rect;)V
.line 6
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect;
invoke-virtual {p0, p2, p1}, Landroid/view/ViewGroup;->offsetDescendantRectToMyCoords(Landroid/view/View;Landroid/graphics/Rect;)V
.line 7
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$m;->getLayoutDirection()I
move-result p1
const/4 p2, -0x1
if-ne p1, v1, :cond_4
move p1, p2
goto :goto_0
:cond_4
move p1, v1
.line 8
:goto_0
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
iget v3, v2, Landroid/graphics/Rect;->left:I
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect;
iget v5, v4, Landroid/graphics/Rect;->left:I
if-lt v3, v5, :cond_5
iget v6, v2, Landroid/graphics/Rect;->right:I
if-gt v6, v5, :cond_6
:cond_5
iget v6, v2, Landroid/graphics/Rect;->right:I
iget v7, v4, Landroid/graphics/Rect;->right:I
if-ge v6, v7, :cond_6
move v3, v1
goto :goto_1
.line 9
:cond_6
iget v6, v2, Landroid/graphics/Rect;->right:I
iget v7, v4, Landroid/graphics/Rect;->right:I
if-gt v6, v7, :cond_7
if-lt v3, v7, :cond_8
:cond_7
if-le v3, v5, :cond_8
move v3, p2
goto :goto_1
:cond_8
move v3, v0
.line 10
:goto_1
iget v5, v2, Landroid/graphics/Rect;->top:I
iget v6, v4, Landroid/graphics/Rect;->top:I
if-lt v5, v6, :cond_9
iget v7, v2, Landroid/graphics/Rect;->bottom:I
if-gt v7, v6, :cond_a
:cond_9
iget v7, v2, Landroid/graphics/Rect;->bottom:I
iget v8, v4, Landroid/graphics/Rect;->bottom:I
if-ge v7, v8, :cond_a
move p2, v1
goto :goto_2
.line 11
:cond_a
iget v2, v2, Landroid/graphics/Rect;->bottom:I
iget v4, v4, Landroid/graphics/Rect;->bottom:I
if-gt v2, v4, :cond_b
if-lt v5, v4, :cond_c
:cond_b
if-le v5, v6, :cond_c
goto :goto_2
:cond_c
move p2, v0
:goto_2
if-eq p3, v1, :cond_18
const/4 v2, 0x2
if-eq p3, v2, :cond_15
const/16 p1, 0x11
if-eq p3, p1, :cond_13
const/16 p1, 0x21
if-eq p3, p1, :cond_11
const/16 p1, 0x42
if-eq p3, p1, :cond_f
const/16 p1, 0x82
if-ne p3, p1, :cond_e
if-lez p2, :cond_d
move v0, v1
:cond_d
return v0
.line 12
:cond_e
new-instance p1, Ljava/lang/IllegalArgumentException;
new-instance p2, Ljava/lang/StringBuilder;
invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
const-string v0, "Invalid direction: "
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-static {p0, p2}, Landroidx/recyclerview/widget/b0;->a(Landroidx/recyclerview/widget/RecyclerView;Ljava/lang/StringBuilder;)Ljava/lang/String;
move-result-object p2
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
:cond_f
if-lez v3, :cond_10
move v0, v1
:cond_10
return v0
:cond_11
if-gez p2, :cond_12
move v0, v1
:cond_12
return v0
:cond_13
if-gez v3, :cond_14
move v0, v1
:cond_14
return v0
:cond_15
if-gtz p2, :cond_16
if-nez p2, :cond_17
mul-int/2addr v3, p1
if-lez v3, :cond_17
:cond_16
move v0, v1
:cond_17
return v0
:cond_18
if-ltz p2, :cond_19
if-nez p2, :cond_1a
mul-int/2addr v3, p1
if-gez v3, :cond_1a
:cond_19
move v0, v1
:cond_1a
:goto_3
return v0
.end method
.method private nestedScrollByInternal(IILandroid/view/MotionEvent;I)V
.locals 11
.param p3 # Landroid/view/MotionEvent;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
if-nez v0, :cond_0
const-string p1, "RecyclerView"
const-string p2, "Cannot scroll without a LayoutManager set. Call setLayoutManager with a non-null argument."
.line 2
invoke-static {p1, p2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
return-void
.line 3
:cond_0
iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
if-eqz v1, :cond_1
return-void
.line 4
:cond_1
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I
const/4 v2, 0x0
aput v2, v1, v2
const/4 v3, 0x1
.line 5
aput v2, v1, v3
.line 6
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$m;->canScrollHorizontally()Z
move-result v0
.line 7
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$m;->canScrollVertically()Z
move-result v1
if-eqz v1, :cond_2
or-int/lit8 v4, v0, 0x2
goto :goto_0
:cond_2
move v4, v0
.line 8
:goto_0
invoke-virtual {p0, v4, p4}, Landroidx/recyclerview/widget/RecyclerView;->startNestedScroll(II)Z
if-eqz v0, :cond_3
move v6, p1
goto :goto_1
:cond_3
move v6, v2
:goto_1
if-eqz v1, :cond_4
move v7, p2
goto :goto_2
:cond_4
move v7, v2
.line 9
:goto_2
iget-object v8, p0, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I
iget-object v9, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I
move-object v5, p0
move v10, p4
.line 10
invoke-virtual/range {v5 .. v10}, Landroidx/recyclerview/widget/RecyclerView;->dispatchNestedPreScroll(II[I[II)Z
move-result v4
if-eqz v4, :cond_5
.line 11
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I
aget v5, v4, v2
sub-int/2addr p1, v5
.line 12
aget v3, v4, v3
sub-int/2addr p2, v3
:cond_5
if-eqz v0, :cond_6
move v0, p1
goto :goto_3
:cond_6
move v0, v2
:goto_3
if-eqz v1, :cond_7
move v2, p2
.line 13
:cond_7
invoke-virtual {p0, v0, v2, p3, p4}, Landroidx/recyclerview/widget/RecyclerView;->scrollByInternal(IILandroid/view/MotionEvent;I)Z
.line 14
iget-object p3, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/n;
if-eqz p3, :cond_9
if-nez p1, :cond_8
if-eqz p2, :cond_9
.line 15
:cond_8
invoke-virtual {p3, p0, p1, p2}, Landroidx/recyclerview/widget/n;->f(Landroidx/recyclerview/widget/RecyclerView;II)V
.line 16
:cond_9
invoke-virtual {p0, p4}, Landroidx/recyclerview/widget/RecyclerView;->stopNestedScroll(I)V
return-void
.end method
.method private onPointerUp(Landroid/view/MotionEvent;)V
.locals 3
.line 1
invoke-virtual {p1}, Landroid/view/MotionEvent;->getActionIndex()I
move-result v0
.line 2
invoke-virtual {p1, v0}, Landroid/view/MotionEvent;->getPointerId(I)I
move-result v1
iget v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
if-ne v1, v2, :cond_1
if-nez v0, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
.line 3
:goto_0
invoke-virtual {p1, v0}, Landroid/view/MotionEvent;->getPointerId(I)I
move-result v1
iput v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
.line 4
invoke-virtual {p1, v0}, Landroid/view/MotionEvent;->getX(I)F
move-result v1
const/high16 v2, 0x3f000000 # 0.5f
add-float/2addr v1, v2
float-to-int v1, v1
iput v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I
iput v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchX:I
.line 5
invoke-virtual {p1, v0}, Landroid/view/MotionEvent;->getY(I)F
move-result p1
add-float/2addr p1, v2
float-to-int p1, p1
iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I
iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchY:I
:cond_1
return-void
.end method
.method private predictiveItemAnimationsEnabled()Z
.locals 1
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
if-eqz v0, :cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$m;->supportsPredictiveItemAnimations()Z
move-result v0
if-eqz v0, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
return v0
.end method
.method private processAdapterUpdatesAndSetAnimationFlags()V
.locals 6
.line 1
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z
if-eqz v0, :cond_0
.line 2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/a;
invoke-virtual {v0}, Landroidx/recyclerview/widget/a;->z()V
.line 3
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchItemsChangedEvent:Z
if-eqz v0, :cond_0
.line 4
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$m;->onItemsChanged(Landroidx/recyclerview/widget/RecyclerView;)V
.line 5
:cond_0
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->predictiveItemAnimationsEnabled()Z
move-result v0
if-eqz v0, :cond_1
.line 6
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/a;
invoke-virtual {v0}, Landroidx/recyclerview/widget/a;->x()V
goto :goto_0
.line 7
:cond_1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/a;
invoke-virtual {v0}, Landroidx/recyclerview/widget/a;->k()V
.line 8
:goto_0
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemsAddedOrRemoved:Z
const/4 v1, 0x0
const/4 v2, 0x1
if-nez v0, :cond_3
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemsChanged:Z
if-eqz v0, :cond_2
goto :goto_1
:cond_2
move v0, v1
goto :goto_2
:cond_3
:goto_1
move v0, v2
.line 9
:goto_2
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
iget-boolean v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z
if-eqz v4, :cond_6
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
if-eqz v4, :cond_6
iget-boolean v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z
if-nez v4, :cond_4
if-nez v0, :cond_4
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
iget-boolean v5, v5, Landroidx/recyclerview/widget/RecyclerView$m;->mRequestedSimpleAnimations:Z
if-eqz v5, :cond_6
:cond_4
if-eqz v4, :cond_5
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
.line 10
invoke-virtual {v4}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z
move-result v4
if-eqz v4, :cond_6
:cond_5
move v4, v2
goto :goto_3
:cond_6
move v4, v1
:goto_3
iput-boolean v4, v3, Landroidx/recyclerview/widget/RecyclerView$x;->k:Z
.line 11
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
iget-boolean v4, v3, Landroidx/recyclerview/widget/RecyclerView$x;->k:Z
if-eqz v4, :cond_7
if-eqz v0, :cond_7
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z
if-nez v0, :cond_7
.line 12
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->predictiveItemAnimationsEnabled()Z
move-result v0
if-eqz v0, :cond_7
move v1, v2
:cond_7
iput-boolean v1, v3, Landroidx/recyclerview/widget/RecyclerView$x;->l:Z
return-void
.end method
.method private pullGlows(FFFF)V
.locals 6
const/4 v0, 0x0
cmpg-float v1, p2, v0
const/high16 v2, 0x3f800000 # 1.0f
const/4 v3, 0x1
if-gez v1, :cond_0
.line 1
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureLeftGlow()V
.line 2
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
neg-float v4, p2
invoke-virtual {p0}, Landroid/view/ViewGroup;->getWidth()I
move-result v5
int-to-float v5, v5
div-float/2addr v4, v5
invoke-virtual {p0}, Landroid/view/ViewGroup;->getHeight()I
move-result v5
int-to-float v5, v5
div-float/2addr p3, v5
sub-float p3, v2, p3
invoke-static {v1, v4, p3}, Landroidx/core/widget/i;->g(Landroid/widget/EdgeEffect;FF)V
:goto_0
move p3, v3
goto :goto_1
:cond_0
cmpl-float v1, p2, v0
if-lez v1, :cond_1
.line 3
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureRightGlow()V
.line 4
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
invoke-virtual {p0}, Landroid/view/ViewGroup;->getWidth()I
move-result v4
int-to-float v4, v4
div-float v4, p2, v4
invoke-virtual {p0}, Landroid/view/ViewGroup;->getHeight()I
move-result v5
int-to-float v5, v5
div-float/2addr p3, v5
invoke-static {v1, v4, p3}, Landroidx/core/widget/i;->g(Landroid/widget/EdgeEffect;FF)V
goto :goto_0
:cond_1
const/4 p3, 0x0
:goto_1
cmpg-float v1, p4, v0
if-gez v1, :cond_2
.line 5
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureTopGlow()V
.line 6
iget-object p3, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
neg-float v1, p4
invoke-virtual {p0}, Landroid/view/ViewGroup;->getHeight()I
move-result v2
int-to-float v2, v2
div-float/2addr v1, v2
invoke-virtual {p0}, Landroid/view/ViewGroup;->getWidth()I
move-result v2
int-to-float v2, v2
div-float/2addr p1, v2
invoke-static {p3, v1, p1}, Landroidx/core/widget/i;->g(Landroid/widget/EdgeEffect;FF)V
goto :goto_2
:cond_2
cmpl-float v1, p4, v0
if-lez v1, :cond_3
.line 7
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureBottomGlow()V
.line 8
iget-object p3, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
invoke-virtual {p0}, Landroid/view/ViewGroup;->getHeight()I
move-result v1
int-to-float v1, v1
div-float v1, p4, v1
invoke-virtual {p0}, Landroid/view/ViewGroup;->getWidth()I
move-result v4
int-to-float v4, v4
div-float/2addr p1, v4
sub-float/2addr v2, p1
invoke-static {p3, v1, v2}, Landroidx/core/widget/i;->g(Landroid/widget/EdgeEffect;FF)V
goto :goto_2
:cond_3
move v3, p3
:goto_2
if-nez v3, :cond_4
cmpl-float p1, p2, v0
if-nez p1, :cond_4
cmpl-float p1, p4, v0
if-eqz p1, :cond_5
.line 9
:cond_4
invoke-static {p0}, Landroidx/core/view/ViewCompat;->n1(Landroid/view/View;)V
:cond_5
return-void
.end method
.method private recoverFocusFromState()V
.locals 6
.line 1
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPreserveFocusAfterLayout:Z
if-eqz v0, :cond_9
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
if-eqz v0, :cond_9
invoke-virtual {p0}, Landroid/view/ViewGroup;->hasFocus()Z
move-result v0
if-eqz v0, :cond_9
.line 2
invoke-virtual {p0}, Landroid/view/ViewGroup;->getDescendantFocusability()I
move-result v0
const/high16 v1, 0x60000
if-eq v0, v1, :cond_9
.line 3
invoke-virtual {p0}, Landroid/view/ViewGroup;->getDescendantFocusability()I
move-result v0
const/high16 v1, 0x20000
if-ne v0, v1, :cond_0
invoke-virtual {p0}, Landroid/view/ViewGroup;->isFocused()Z
move-result v0
if-eqz v0, :cond_0
goto/16 :goto_3
.line 4
:cond_0
invoke-virtual {p0}, Landroid/view/ViewGroup;->isFocused()Z
move-result v0
if-nez v0, :cond_3
.line 5
invoke-virtual {p0}, Landroid/view/ViewGroup;->getFocusedChild()Landroid/view/View;
move-result-object v0
.line 6
sget-boolean v1, Landroidx/recyclerview/widget/RecyclerView;->IGNORE_DETACHED_FOCUSED_CHILD:Z
if-eqz v1, :cond_2
.line 7
invoke-virtual {v0}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
move-result-object v1
if-eqz v1, :cond_1
invoke-virtual {v0}, Landroid/view/View;->hasFocus()Z
move-result v1
if-nez v1, :cond_2
.line 8
:cond_1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
invoke-virtual {v0}, Landroidx/recyclerview/widget/g;->g()I
move-result v0
if-nez v0, :cond_3
.line 9
invoke-virtual {p0}, Landroid/view/ViewGroup;->requestFocus()Z
return-void
.line 10
:cond_2
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
invoke-virtual {v1, v0}, Landroidx/recyclerview/widget/g;->n(Landroid/view/View;)Z
move-result v0
if-nez v0, :cond_3
return-void
.line 11
:cond_3
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
iget-wide v0, v0, Landroidx/recyclerview/widget/RecyclerView$x;->n:J
const-wide/16 v2, -0x1
cmp-long v0, v0, v2
const/4 v1, 0x0
if-eqz v0, :cond_4
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z
move-result v0
if-eqz v0, :cond_4
.line 12
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
iget-wide v4, v0, Landroidx/recyclerview/widget/RecyclerView$x;->n:J
invoke-virtual {p0, v4, v5}, Landroidx/recyclerview/widget/RecyclerView;->findViewHolderForItemId(J)Landroidx/recyclerview/widget/RecyclerView$a0;
move-result-object v0
goto :goto_0
:cond_4
move-object v0, v1
:goto_0
if-eqz v0, :cond_6
.line 13
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
iget-object v5, v0, Landroidx/recyclerview/widget/RecyclerView$a0;->itemView:Landroid/view/View;
invoke-virtual {v4, v5}, Landroidx/recyclerview/widget/g;->n(Landroid/view/View;)Z
move-result v4
if-nez v4, :cond_6
iget-object v4, v0, Landroidx/recyclerview/widget/RecyclerView$a0;->itemView:Landroid/view/View;
.line 14
invoke-virtual {v4}, Landroid/view/View;->hasFocusable()Z
move-result v4
if-nez v4, :cond_5
goto :goto_1
.line 15
:cond_5
iget-object v1, v0, Landroidx/recyclerview/widget/RecyclerView$a0;->itemView:Landroid/view/View;
goto :goto_2
.line 16
:cond_6
:goto_1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
invoke-virtual {v0}, Landroidx/recyclerview/widget/g;->g()I
move-result v0
if-lez v0, :cond_7
.line 17
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->findNextViewToFocus()Landroid/view/View;
move-result-object v1
:cond_7
:goto_2
if-eqz v1, :cond_9
.line 18
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
iget v0, v0, Landroidx/recyclerview/widget/RecyclerView$x;->o:I
int-to-long v4, v0
cmp-long v2, v4, v2
if-eqz v2, :cond_8
.line 19
invoke-virtual {v1, v0}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v0
if-eqz v0, :cond_8
.line 20
invoke-virtual {v0}, Landroid/view/View;->isFocusable()Z
move-result v2
if-eqz v2, :cond_8
move-object v1, v0
.line 21
:cond_8
invoke-virtual {v1}, Landroid/view/View;->requestFocus()Z
:cond_9
:goto_3
return-void
.end method
.method private releaseGlows()V
.locals 2
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
if-eqz v0, :cond_0
.line 2
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->onRelease()V
.line 3
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result v0
goto :goto_0
:cond_0
const/4 v0, 0x0
.line 4
:goto_0
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
if-eqz v1, :cond_1
.line 5
invoke-virtual {v1}, Landroid/widget/EdgeEffect;->onRelease()V
.line 6
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
invoke-virtual {v1}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result v1
or-int/2addr v0, v1
.line 7
:cond_1
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
if-eqz v1, :cond_2
.line 8
invoke-virtual {v1}, Landroid/widget/EdgeEffect;->onRelease()V
.line 9
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
invoke-virtual {v1}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result v1
or-int/2addr v0, v1
.line 10
:cond_2
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
if-eqz v1, :cond_3
.line 11
invoke-virtual {v1}, Landroid/widget/EdgeEffect;->onRelease()V
.line 12
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
invoke-virtual {v1}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result v1
or-int/2addr v0, v1
:cond_3
if-eqz v0, :cond_4
.line 13
invoke-static {p0}, Landroidx/core/view/ViewCompat;->n1(Landroid/view/View;)V
:cond_4
return-void
.end method
.method private requestChildOnScreen(Landroid/view/View;Landroid/view/View;)V
.locals 11
.param p1 # Landroid/view/View;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Landroid/view/View;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
if-eqz p2, :cond_0
move-object v0, p2
goto :goto_0
:cond_0
move-object v0, p1
.line 1
:goto_0
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
invoke-virtual {v0}, Landroid/view/View;->getWidth()I
move-result v2
invoke-virtual {v0}, Landroid/view/View;->getHeight()I
move-result v3
const/4 v4, 0x0
invoke-virtual {v1, v4, v4, v2, v3}, Landroid/graphics/Rect;->set(IIII)V
.line 2
invoke-virtual {v0}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
move-result-object v0
.line 3
instance-of v1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
if-eqz v1, :cond_1
.line 4
check-cast v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
.line 5
iget-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->c:Z
if-nez v1, :cond_1
.line 6
iget-object v0, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->b:Landroid/graphics/Rect;
.line 7
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
iget v2, v1, Landroid/graphics/Rect;->left:I
iget v3, v0, Landroid/graphics/Rect;->left:I
sub-int/2addr v2, v3
iput v2, v1, Landroid/graphics/Rect;->left:I
.line 8
iget v2, v1, Landroid/graphics/Rect;->right:I
iget v3, v0, Landroid/graphics/Rect;->right:I
add-int/2addr v2, v3
iput v2, v1, Landroid/graphics/Rect;->right:I
.line 9
iget v2, v1, Landroid/graphics/Rect;->top:I
iget v3, v0, Landroid/graphics/Rect;->top:I
sub-int/2addr v2, v3
iput v2, v1, Landroid/graphics/Rect;->top:I
.line 10
iget v2, v1, Landroid/graphics/Rect;->bottom:I
iget v0, v0, Landroid/graphics/Rect;->bottom:I
add-int/2addr v2, v0
iput v2, v1, Landroid/graphics/Rect;->bottom:I
:cond_1
if-eqz p2, :cond_2
.line 11
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
invoke-virtual {p0, p2, v0}, Landroid/view/ViewGroup;->offsetDescendantRectToMyCoords(Landroid/view/View;Landroid/graphics/Rect;)V
.line 12
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
invoke-virtual {p0, p1, v0}, Landroid/view/ViewGroup;->offsetRectIntoDescendantCoords(Landroid/view/View;Landroid/graphics/Rect;)V
.line 13
:cond_2
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
iget-object v8, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z
const/4 v1, 0x1
xor-int/lit8 v9, v0, 0x1
if-nez p2, :cond_3
move v10, v1
goto :goto_1
:cond_3
move v10, v4
:goto_1
move-object v6, p0
move-object v7, p1
invoke-virtual/range {v5 .. v10}, Landroidx/recyclerview/widget/RecyclerView$m;->requestChildRectangleOnScreen(Landroidx/recyclerview/widget/RecyclerView;Landroid/view/View;Landroid/graphics/Rect;ZZ)Z
return-void
.end method
.method private resetFocusInfo()V
.locals 3
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
const-wide/16 v1, -0x1
iput-wide v1, v0, Landroidx/recyclerview/widget/RecyclerView$x;->n:J
const/4 v1, -0x1
.line 2
iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$x;->m:I
.line 3
iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$x;->o:I
return-void
.end method
.method private resetScroll()V
.locals 1
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
if-eqz v0, :cond_0
.line 2
invoke-virtual {v0}, Landroid/view/VelocityTracker;->clear()V
:cond_0
const/4 v0, 0x0
.line 3
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->stopNestedScroll(I)V
.line 4
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->releaseGlows()V
return-void
.end method
.method private saveFocusInfo()V
.locals 4
.line 1
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPreserveFocusAfterLayout:Z
const/4 v1, 0x0
if-eqz v0, :cond_0
invoke-virtual {p0}, Landroid/view/ViewGroup;->hasFocus()Z
move-result v0
if-eqz v0, :cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
if-eqz v0, :cond_0
.line 2
invoke-virtual {p0}, Landroid/view/ViewGroup;->getFocusedChild()Landroid/view/View;
move-result-object v0
goto :goto_0
:cond_0
move-object v0, v1
:goto_0
if-nez v0, :cond_1
goto :goto_1
.line 3
:cond_1
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->findContainingViewHolder(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$a0;
move-result-object v1
:goto_1
if-nez v1, :cond_2
.line 4
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->resetFocusInfo()V
goto :goto_4
.line 5
:cond_2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z
move-result v2
if-eqz v2, :cond_3
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$a0;->getItemId()J
move-result-wide v2
goto :goto_2
:cond_3
const-wide/16 v2, -0x1
:goto_2
iput-wide v2, v0, Landroidx/recyclerview/widget/RecyclerView$x;->n:J
.line 6
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
iget-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z
if-eqz v2, :cond_4
const/4 v2, -0x1
goto :goto_3
.line 7
:cond_4
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$a0;->isRemoved()Z
move-result v2
if-eqz v2, :cond_5
iget v2, v1, Landroidx/recyclerview/widget/RecyclerView$a0;->mOldPosition:I
goto :goto_3
.line 8
:cond_5
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$a0;->getAbsoluteAdapterPosition()I
move-result v2
:goto_3
iput v2, v0, Landroidx/recyclerview/widget/RecyclerView$x;->m:I
.line 9
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
iget-object v1, v1, Landroidx/recyclerview/widget/RecyclerView$a0;->itemView:Landroid/view/View;
invoke-direct {p0, v1}, Landroidx/recyclerview/widget/RecyclerView;->getDeepestFocusedViewWithId(Landroid/view/View;)I
move-result v1
iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$x;->o:I
:goto_4
return-void
.end method
.method private setAdapterInternal(Landroidx/recyclerview/widget/RecyclerView$Adapter;ZZ)V
.locals 2
.param p1 # Landroidx/recyclerview/widget/RecyclerView$Adapter;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
if-eqz v0, :cond_0
.line 2
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mObserver:Landroidx/recyclerview/widget/RecyclerView$u;
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->unregisterAdapterDataObserver(Landroidx/recyclerview/widget/RecyclerView$i;)V
.line 3
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->onDetachedFromRecyclerView(Landroidx/recyclerview/widget/RecyclerView;)V
:cond_0
if-eqz p2, :cond_1
if-eqz p3, :cond_2
.line 4
:cond_1
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->removeAndRecycleViews()V
.line 5
:cond_2
iget-object p3, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/a;
invoke-virtual {p3}, Landroidx/recyclerview/widget/a;->z()V
.line 6
iget-object p3, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
.line 7
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
if-eqz p1, :cond_3
.line 8
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mObserver:Landroidx/recyclerview/widget/RecyclerView$u;
invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->registerAdapterDataObserver(Landroidx/recyclerview/widget/RecyclerView$i;)V
.line 9
invoke-virtual {p1, p0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->onAttachedToRecyclerView(Landroidx/recyclerview/widget/RecyclerView;)V
.line 10
:cond_3
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
if-eqz p1, :cond_4
.line 11
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
invoke-virtual {p1, p3, v0}, Landroidx/recyclerview/widget/RecyclerView$m;->onAdapterChanged(Landroidx/recyclerview/widget/RecyclerView$Adapter;Landroidx/recyclerview/widget/RecyclerView$Adapter;)V
.line 12
:cond_4
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
invoke-virtual {p1, p3, v0, p2}, Landroidx/recyclerview/widget/RecyclerView$s;->y(Landroidx/recyclerview/widget/RecyclerView$Adapter;Landroidx/recyclerview/widget/RecyclerView$Adapter;Z)V
.line 13
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
const/4 p2, 0x1
iput-boolean p2, p1, Landroidx/recyclerview/widget/RecyclerView$x;->g:Z
return-void
.end method
.method private stopScrollersInternal()V
.locals 1
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$z;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$z;->f()V
.line 2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
if-eqz v0, :cond_0
.line 3
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$m;->stopSmoothScroller()V
:cond_0
return-void
.end method
# virtual methods
.method public absorbGlows(II)V
.locals 2
if-gez p1, :cond_0
.line 1
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureLeftGlow()V
.line 2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result v0
if-eqz v0, :cond_1
.line 3
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
neg-int v1, p1
invoke-virtual {v0, v1}, Landroid/widget/EdgeEffect;->onAbsorb(I)V
goto :goto_0
:cond_0
if-lez p1, :cond_1
.line 4
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureRightGlow()V
.line 5
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result v0
if-eqz v0, :cond_1
.line 6
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
invoke-virtual {v0, p1}, Landroid/widget/EdgeEffect;->onAbsorb(I)V
:cond_1
:goto_0
if-gez p2, :cond_2
.line 7
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureTopGlow()V
.line 8
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result v0
if-eqz v0, :cond_3
.line 9
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
neg-int v1, p2
invoke-virtual {v0, v1}, Landroid/widget/EdgeEffect;->onAbsorb(I)V
goto :goto_1
:cond_2
if-lez p2, :cond_3
.line 10
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureBottomGlow()V
.line 11
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result v0
if-eqz v0, :cond_3
.line 12
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
invoke-virtual {v0, p2}, Landroid/widget/EdgeEffect;->onAbsorb(I)V
:cond_3
:goto_1
if-nez p1, :cond_4
if-eqz p2, :cond_5
.line 13
:cond_4
invoke-static {p0}, Landroidx/core/view/ViewCompat;->n1(Landroid/view/View;)V
:cond_5
return-void
.end method
.method public addFocusables(Ljava/util/ArrayList;II)V
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/ArrayList<",
"Landroid/view/View;",
">;II)V"
}
.end annotation
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
if-eqz v0, :cond_0
invoke-virtual {v0, p0, p1, p2, p3}, Landroidx/recyclerview/widget/RecyclerView$m;->onAddFocusables(Landroidx/recyclerview/widget/RecyclerView;Ljava/util/ArrayList;II)Z
move-result v0
if-nez v0, :cond_1
.line 2
:cond_0
invoke-super {p0, p1, p2, p3}, Landroid/view/ViewGroup;->addFocusables(Ljava/util/ArrayList;II)V
:cond_1
return-void
.end method
.method public addItemDecoration(Landroidx/recyclerview/widget/RecyclerView$l;)V
.locals 1
.param p1 # Landroidx/recyclerview/widget/RecyclerView$l;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
const/4 v0, -0x1
.line 9
invoke-virtual {p0, p1, v0}, Landroidx/recyclerview/widget/RecyclerView;->addItemDecoration(Landroidx/recyclerview/widget/RecyclerView$l;I)V
return-void
.end method
.method public addItemDecoration(Landroidx/recyclerview/widget/RecyclerView$l;I)V
.locals 2
.param p1 # Landroidx/recyclerview/widget/RecyclerView$l;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
if-eqz v0, :cond_0
const-string v1, "Cannot add item decoration during a scroll or layout"
.line 2
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$m;->assertNotInLayoutOrScroll(Ljava/lang/String;)V
.line 3
:cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->isEmpty()Z
move-result v0
if-eqz v0, :cond_1
const/4 v0, 0x0
.line 4
invoke-virtual {p0, v0}, Landroid/view/ViewGroup;->setWillNotDraw(Z)V
:cond_1
if-gez p2, :cond_2
.line 5
iget-object p2, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
invoke-virtual {p2, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
goto :goto_0
.line 6
:cond_2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
invoke-virtual {v0, p2, p1}, Ljava/util/ArrayList;->add(ILjava/lang/Object;)V
.line 7
:goto_0
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->markItemDecorInsetsDirty()V
.line 8
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
return-void
.end method
.method public addOnChildAttachStateChangeListener(Landroidx/recyclerview/widget/RecyclerView$n;)V
.locals 1
.param p1 # Landroidx/recyclerview/widget/RecyclerView$n;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List;
if-nez v0, :cond_0
.line 2
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List;
.line 3
:cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List;
invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
return-void
.end method
.method public addOnItemTouchListener(Landroidx/recyclerview/widget/RecyclerView$p;)V
.locals 1
.param p1 # Landroidx/recyclerview/widget/RecyclerView$p;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList;
invoke-virtual {v0, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
return-void
.end method
.method public addOnScrollListener(Landroidx/recyclerview/widget/RecyclerView$q;)V
.locals 1
.param p1 # Landroidx/recyclerview/widget/RecyclerView$q;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List;
if-nez v0, :cond_0
.line 2
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List;
.line 3
:cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List;
invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
return-void
.end method
.method public addRecyclerListener(Landroidx/recyclerview/widget/RecyclerView$t;)V
.locals 2
.param p1 # Landroidx/recyclerview/widget/RecyclerView$t;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
if-eqz p1, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
const-string v1, "\'listener\' arg cannot be null."
.line 1
invoke-static {v0, v1}, Lr1/o;->b(ZLjava/lang/Object;)V
.line 2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecyclerListeners:Ljava/util/List;
invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
return-void
.end method
.method public animateAppearance(Landroidx/recyclerview/widget/RecyclerView$a0;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;)V
.locals 1
.param p1 # Landroidx/recyclerview/widget/RecyclerView$a0;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.param p3 # Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
const/4 v0, 0x0
.line 1
invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$a0;->setIsRecyclable(Z)V
.line 2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
invoke-virtual {v0, p1, p2, p3}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->a(Landroidx/recyclerview/widget/RecyclerView$a0;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;)Z
move-result p1
if-eqz p1, :cond_0
.line 3
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->postAnimationRunner()V
:cond_0
return-void
.end method
.method public animateDisappearance(Landroidx/recyclerview/widget/RecyclerView$a0;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;)V
.locals 1
.param p1 # Landroidx/recyclerview/widget/RecyclerView$a0;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p3 # Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.line 1
invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->addAnimatingView(Landroidx/recyclerview/widget/RecyclerView$a0;)V
const/4 v0, 0x0
.line 2
invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$a0;->setIsRecyclable(Z)V
.line 3
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
invoke-virtual {v0, p1, p2, p3}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->c(Landroidx/recyclerview/widget/RecyclerView$a0;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;)Z
move-result p1
if-eqz p1, :cond_0
.line 4
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->postAnimationRunner()V
:cond_0
return-void
.end method
.method public assertInLayoutOrScroll(Ljava/lang/String;)V
.locals 1
.line 1
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isComputingLayout()Z
move-result v0
if-nez v0, :cond_1
if-nez p1, :cond_0
.line 2
new-instance p1, Ljava/lang/IllegalStateException;
const-string v0, "Cannot call this method unless RecyclerView is computing a layout or scrolling"
invoke-static {v0}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
.line 3
invoke-static {p0, v0}, Landroidx/recyclerview/widget/b0;->a(Landroidx/recyclerview/widget/RecyclerView;Ljava/lang/StringBuilder;)Ljava/lang/String;
move-result-object v0
invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
.line 4
:cond_0
new-instance v0, Ljava/lang/IllegalStateException;
invoke-static {p1}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p1
invoke-static {p0, p1}, Landroidx/recyclerview/widget/b0;->a(Landroidx/recyclerview/widget/RecyclerView;Ljava/lang/StringBuilder;)Ljava/lang/String;
move-result-object p1
invoke-direct {v0, p1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
:cond_1
return-void
.end method
.method public assertNotInLayoutOrScroll(Ljava/lang/String;)V
.locals 2
.line 1
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isComputingLayout()Z
move-result v0
if-eqz v0, :cond_1
if-nez p1, :cond_0
.line 2
new-instance p1, Ljava/lang/IllegalStateException;
const-string v0, "Cannot call this method while RecyclerView is computing a layout or scrolling"
invoke-static {v0}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
.line 3
invoke-static {p0, v0}, Landroidx/recyclerview/widget/b0;->a(Landroidx/recyclerview/widget/RecyclerView;Ljava/lang/StringBuilder;)Ljava/lang/String;
move-result-object v0
invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
.line 4
:cond_0
new-instance v0, Ljava/lang/IllegalStateException;
invoke-direct {v0, p1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.line 5
:cond_1
iget p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchScrollCounter:I
if-lez p1, :cond_2
.line 6
new-instance p1, Ljava/lang/IllegalStateException;
const-string v0, ""
invoke-static {v0}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
.line 7
invoke-static {p0, v0}, Landroidx/recyclerview/widget/b0;->a(Landroidx/recyclerview/widget/RecyclerView;Ljava/lang/StringBuilder;)Ljava/lang/String;
move-result-object v0
invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
const-string v0, "RecyclerView"
const-string v1, "Cannot call this method in a scroll callback. Scroll callbacks mightbe run during a measure & layout pass where you cannot change theRecyclerView data. Any method call that might change the structureof the RecyclerView or the adapter contents should be postponed tothe next frame."
.line 8
invoke-static {v0, v1, p1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
:cond_2
return-void
.end method
.method public canReuseUpdatedViewHolder(Landroidx/recyclerview/widget/RecyclerView$a0;)Z
.locals 2
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
if-eqz v0, :cond_1
.line 2
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$a0;->getUnmodifiedPayloads()Ljava/util/List;
move-result-object v1
.line 3
invoke-virtual {v0, p1, v1}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->g(Landroidx/recyclerview/widget/RecyclerView$a0;Ljava/util/List;)Z
move-result p1
if-eqz p1, :cond_0
goto :goto_0
:cond_0
const/4 p1, 0x0
goto :goto_1
:cond_1
:goto_0
const/4 p1, 0x1
:goto_1
return p1
.end method
.method public checkLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Z
.locals 1
.line 1
instance-of v0, p1, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
if-eqz v0, :cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
check-cast p1, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$m;->checkLayoutParams(Landroidx/recyclerview/widget/RecyclerView$LayoutParams;)Z
move-result p1
if-eqz p1, :cond_0
const/4 p1, 0x1
goto :goto_0
:cond_0
const/4 p1, 0x0
:goto_0
return p1
.end method
.method public clearOldPositions()V
.locals 4
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
invoke-virtual {v0}, Landroidx/recyclerview/widget/g;->j()I
move-result v0
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_1
.line 2
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/g;->i(I)Landroid/view/View;
move-result-object v2
invoke-static {v2}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$a0;
move-result-object v2
.line 3
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$a0;->shouldIgnore()Z
move-result v3
if-nez v3, :cond_0
.line 4
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$a0;->clearOldPosition()V
:cond_0
add-int/lit8 v1, v1, 0x1
goto :goto_0
.line 5
:cond_1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$s;->e()V
return-void
.end method
.method public clearOnChildAttachStateChangeListeners()V
.locals 1
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List;
if-eqz v0, :cond_0
.line 2
invoke-interface {v0}, Ljava/util/List;->clear()V
:cond_0
return-void
.end method
.method public clearOnScrollListeners()V
.locals 1
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List;
if-eqz v0, :cond_0
.line 2
invoke-interface {v0}, Ljava/util/List;->clear()V
:cond_0
return-void
.end method
.method public computeHorizontalScrollExtent()I
.locals 2
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
const/4 v1, 0x0
if-nez v0, :cond_0
return v1
.line 2
:cond_0
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$m;->canScrollHorizontally()Z
move-result v0
if-eqz v0, :cond_1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$m;->computeHorizontalScrollExtent(Landroidx/recyclerview/widget/RecyclerView$x;)I
move-result v1
:cond_1
return v1
.end method
.method public computeHorizontalScrollOffset()I
.locals 2
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
const/4 v1, 0x0
if-nez v0, :cond_0
return v1
.line 2
:cond_0
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$m;->canScrollHorizontally()Z
move-result v0
if-eqz v0, :cond_1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$m;->computeHorizontalScrollOffset(Landroidx/recyclerview/widget/RecyclerView$x;)I
move-result v1
:cond_1
return v1
.end method
.method public computeHorizontalScrollRange()I
.locals 2
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
const/4 v1, 0x0
if-nez v0, :cond_0
return v1
.line 2
:cond_0
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$m;->canScrollHorizontally()Z
move-result v0
if-eqz v0, :cond_1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$m;->computeHorizontalScrollRange(Landroidx/recyclerview/widget/RecyclerView$x;)I
move-result v1
:cond_1
return v1
.end method
.method public computeVerticalScrollExtent()I
.locals 2
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
const/4 v1, 0x0
if-nez v0, :cond_0
return v1
.line 2
:cond_0
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$m;->canScrollVertically()Z
move-result v0
if-eqz v0, :cond_1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$m;->computeVerticalScrollExtent(Landroidx/recyclerview/widget/RecyclerView$x;)I
move-result v1
:cond_1
return v1
.end method
.method public computeVerticalScrollOffset()I
.locals 2
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
const/4 v1, 0x0
if-nez v0, :cond_0
return v1
.line 2
:cond_0
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$m;->canScrollVertically()Z
move-result v0
if-eqz v0, :cond_1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$m;->computeVerticalScrollOffset(Landroidx/recyclerview/widget/RecyclerView$x;)I
move-result v1
:cond_1
return v1
.end method
.method public computeVerticalScrollRange()I
.locals 2
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
const/4 v1, 0x0
if-nez v0, :cond_0
return v1
.line 2
:cond_0
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$m;->canScrollVertically()Z
move-result v0
if-eqz v0, :cond_1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$m;->computeVerticalScrollRange(Landroidx/recyclerview/widget/RecyclerView$x;)I
move-result v1
:cond_1
return v1
.end method
.method public considerReleasingGlowsOnScroll(II)V
.locals 2
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
if-eqz v0, :cond_0
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result v0
if-nez v0, :cond_0
if-lez p1, :cond_0
.line 2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->onRelease()V
.line 3
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result v0
goto :goto_0
:cond_0
const/4 v0, 0x0
.line 4
:goto_0
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
if-eqz v1, :cond_1
invoke-virtual {v1}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result v1
if-nez v1, :cond_1
if-gez p1, :cond_1
.line 5
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
invoke-virtual {p1}, Landroid/widget/EdgeEffect;->onRelease()V
.line 6
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
invoke-virtual {p1}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result p1
or-int/2addr v0, p1
.line 7
:cond_1
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
if-eqz p1, :cond_2
invoke-virtual {p1}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result p1
if-nez p1, :cond_2
if-lez p2, :cond_2
.line 8
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
invoke-virtual {p1}, Landroid/widget/EdgeEffect;->onRelease()V
.line 9
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
invoke-virtual {p1}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result p1
or-int/2addr v0, p1
.line 10
:cond_2
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
if-eqz p1, :cond_3
invoke-virtual {p1}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result p1
if-nez p1, :cond_3
if-gez p2, :cond_3
.line 11
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
invoke-virtual {p1}, Landroid/widget/EdgeEffect;->onRelease()V
.line 12
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
invoke-virtual {p1}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result p1
or-int/2addr v0, p1
:cond_3
if-eqz v0, :cond_4
.line 13
invoke-static {p0}, Landroidx/core/view/ViewCompat;->n1(Landroid/view/View;)V
:cond_4
return-void
.end method
.method public consumePendingUpdateOperations()V
.locals 3
.line 1
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z
const-string v1, "RV FullInvalidate"
if-eqz v0, :cond_6
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z
if-eqz v0, :cond_0
goto :goto_2
.line 2
:cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/a;
invoke-virtual {v0}, Landroidx/recyclerview/widget/a;->q()Z
move-result v0
if-nez v0, :cond_1
return-void
.line 3
:cond_1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/a;
const/4 v2, 0x4
invoke-virtual {v0, v2}, Landroidx/recyclerview/widget/a;->p(I)Z
move-result v0
if-eqz v0, :cond_4
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/a;
const/16 v2, 0xb
.line 4
invoke-virtual {v0, v2}, Landroidx/recyclerview/widget/a;->p(I)Z
move-result v0
if-nez v0, :cond_4
const-string v0, "RV PartialInvalidate"
.line 5
invoke-static {v0}, Ll1/r;->b(Ljava/lang/String;)V
.line 6
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
.line 7
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V
.line 8
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/a;
invoke-virtual {v0}, Landroidx/recyclerview/widget/a;->x()V
.line 9
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z
if-nez v0, :cond_3
.line 10
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->hasUpdatedView()Z
move-result v0
if-eqz v0, :cond_2
.line 11
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayout()V
goto :goto_0
.line 12
:cond_2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/a;
invoke-virtual {v0}, Landroidx/recyclerview/widget/a;->j()V
:cond_3
:goto_0
const/4 v0, 0x1
.line 13
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
.line 14
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V
.line 15
invoke-static {}, Ll1/r;->d()V
goto :goto_1
.line 16
:cond_4
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/a;
invoke-virtual {v0}, Landroidx/recyclerview/widget/a;->q()Z
move-result v0
if-eqz v0, :cond_5
.line 17
invoke-static {v1}, Ll1/r;->b(Ljava/lang/String;)V
.line 18
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayout()V
.line 19
invoke-static {}, Ll1/r;->d()V
:cond_5
:goto_1
return-void
.line 20
:cond_6
:goto_2
invoke-static {v1}, Ll1/r;->b(Ljava/lang/String;)V
.line 21
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayout()V
.line 22
invoke-static {}, Ll1/r;->d()V
return-void
.end method
.method public defaultOnMeasure(II)V
.locals 2
.line 1
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingLeft()I
move-result v0
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingRight()I
move-result v1
add-int/2addr v1, v0
.line 2
invoke-static {p0}, Landroidx/core/view/ViewCompat;->f0(Landroid/view/View;)I
move-result v0
.line 3
invoke-static {p1, v1, v0}, Landroidx/recyclerview/widget/RecyclerView$m;->chooseSize(III)I
move-result p1
.line 4
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingTop()I
move-result v0
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingBottom()I
move-result v1
add-int/2addr v1, v0
.line 5
invoke-static {p0}, Landroidx/core/view/ViewCompat;->e0(Landroid/view/View;)I
move-result v0
.line 6
invoke-static {p2, v1, v0}, Landroidx/recyclerview/widget/RecyclerView$m;->chooseSize(III)I
move-result p2
.line 7
invoke-virtual {p0, p1, p2}, Landroid/view/ViewGroup;->setMeasuredDimension(II)V
return-void
.end method
.method public dispatchChildAttached(Landroid/view/View;)V
.locals 2
.line 1
invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$a0;
move-result-object v0
.line 2
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->onChildAttachedToWindow(Landroid/view/View;)V
.line 3
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
if-eqz v1, :cond_0
if-eqz v0, :cond_0
.line 4
invoke-virtual {v1, v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->onViewAttachedToWindow(Landroidx/recyclerview/widget/RecyclerView$a0;)V
.line 5
:cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List;
if-eqz v0, :cond_1
.line 6
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v0
add-int/lit8 v0, v0, -0x1
:goto_0
if-ltz v0, :cond_1
.line 7
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List;
invoke-interface {v1, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroidx/recyclerview/widget/RecyclerView$n;
invoke-interface {v1, p1}, Landroidx/recyclerview/widget/RecyclerView$n;->d(Landroid/view/View;)V
add-int/lit8 v0, v0, -0x1
goto :goto_0
:cond_1
return-void
.end method
.method public dispatchChildDetached(Landroid/view/View;)V
.locals 2
.line 1
invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$a0;
move-result-object v0
.line 2
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->onChildDetachedFromWindow(Landroid/view/View;)V
.line 3
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
if-eqz v1, :cond_0
if-eqz v0, :cond_0
.line 4
invoke-virtual {v1, v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->onViewDetachedFromWindow(Landroidx/recyclerview/widget/RecyclerView$a0;)V
.line 5
:cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List;
if-eqz v0, :cond_1
.line 6
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v0
add-int/lit8 v0, v0, -0x1
:goto_0
if-ltz v0, :cond_1
.line 7
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List;
invoke-interface {v1, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroidx/recyclerview/widget/RecyclerView$n;
invoke-interface {v1, p1}, Landroidx/recyclerview/widget/RecyclerView$n;->b(Landroid/view/View;)V
add-int/lit8 v0, v0, -0x1
goto :goto_0
:cond_1
return-void
.end method
.method public dispatchLayout()V
.locals 4
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
const-string v1, "RecyclerView"
if-nez v0, :cond_0
const-string v0, "No adapter attached; skipping layout"
.line 2
invoke-static {v1, v0}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
return-void
.line 3
:cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
if-nez v0, :cond_1
const-string v0, "No layout manager attached; skipping layout"
.line 4
invoke-static {v1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
return-void
.line 5
:cond_1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
const/4 v1, 0x0
iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$x;->j:Z
.line 6
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureSkippedDueToExact:Z
const/4 v2, 0x1
if-eqz v0, :cond_3
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureNonExactMeasuredWidth:I
.line 7
invoke-virtual {p0}, Landroid/view/ViewGroup;->getWidth()I
move-result v3
if-ne v0, v3, :cond_2
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureNonExactMeasuredHeight:I
.line 8
invoke-virtual {p0}, Landroid/view/ViewGroup;->getHeight()I
move-result v3
if-eq v0, v3, :cond_3
:cond_2
move v0, v2
goto :goto_0
:cond_3
move v0, v1
.line 9
:goto_0
iput v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureNonExactMeasuredWidth:I
.line 10
iput v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureNonExactMeasuredHeight:I
.line 11
iput-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureSkippedDueToExact:Z
.line 12
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
iget v1, v1, Landroidx/recyclerview/widget/RecyclerView$x;->e:I
if-ne v1, v2, :cond_4
.line 13
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep1()V
.line 14
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$m;->setExactMeasureSpecsFrom(Landroidx/recyclerview/widget/RecyclerView;)V
.line 15
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep2()V
goto :goto_2
.line 16
:cond_4
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/a;
invoke-virtual {v1}, Landroidx/recyclerview/widget/a;->r()Z
move-result v1
if-nez v1, :cond_6
if-nez v0, :cond_6
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
.line 17
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$m;->getWidth()I
move-result v0
invoke-virtual {p0}, Landroid/view/ViewGroup;->getWidth()I
move-result v1
if-ne v0, v1, :cond_6
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
.line 18
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$m;->getHeight()I
move-result v0
invoke-virtual {p0}, Landroid/view/ViewGroup;->getHeight()I
move-result v1
if-eq v0, v1, :cond_5
goto :goto_1
.line 19
:cond_5
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$m;->setExactMeasureSpecsFrom(Landroidx/recyclerview/widget/RecyclerView;)V
goto :goto_2
.line 20
:cond_6
:goto_1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$m;->setExactMeasureSpecsFrom(Landroidx/recyclerview/widget/RecyclerView;)V
.line 21
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep2()V
.line 22
:goto_2
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep3()V
return-void
.end method
.method public dispatchNestedFling(FFZ)Z
.locals 1
.line 1
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Ls1/z;
move-result-object v0
invoke-virtual {v0, p1, p2, p3}, Ls1/z;->a(FFZ)Z
move-result p1
return p1
.end method
.method public dispatchNestedPreFling(FF)Z
.locals 1
.line 1
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Ls1/z;
move-result-object v0
invoke-virtual {v0, p1, p2}, Ls1/z;->b(FF)Z
move-result p1
return p1
.end method
.method public dispatchNestedPreScroll(II[I[I)Z
.locals 1
.line 1
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Ls1/z;
move-result-object v0
invoke-virtual {v0, p1, p2, p3, p4}, Ls1/z;->c(II[I[I)Z
move-result p1
return p1
.end method
.method public dispatchNestedPreScroll(II[I[II)Z
.locals 6
.line 2
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Ls1/z;
move-result-object v0
move v1, p1
move v2, p2
move-object v3, p3
move-object v4, p4
move v5, p5
invoke-virtual/range {v0 .. v5}, Ls1/z;->d(II[I[II)Z
move-result p1
return p1
.end method
.method public final dispatchNestedScroll(IIII[II[I)V
.locals 8
.param p7 # [I
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.line 3
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Ls1/z;
move-result-object v0
move v1, p1
move v2, p2
move v3, p3
move v4, p4
move-object v5, p5
move v6, p6
move-object v7, p7
invoke-virtual/range {v0 .. v7}, Ls1/z;->e(IIII[II[I)V
return-void
.end method
.method public dispatchNestedScroll(IIII[I)Z
.locals 6
.line 1
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Ls1/z;
move-result-object v0
move v1, p1
move v2, p2
move v3, p3
move v4, p4
move-object v5, p5
invoke-virtual/range {v0 .. v5}, Ls1/z;->f(IIII[I)Z
move-result p1
return p1
.end method
.method public dispatchNestedScroll(IIII[II)Z
.locals 7
.line 2
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Ls1/z;
move-result-object v0
move v1, p1
move v2, p2
move v3, p3
move v4, p4
move-object v5, p5
move v6, p6
invoke-virtual/range {v0 .. v6}, Ls1/z;->g(IIII[II)Z
move-result p1
return p1
.end method
.method public dispatchOnScrollStateChanged(I)V
.locals 2
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
if-eqz v0, :cond_0
.line 2
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$m;->onScrollStateChanged(I)V
.line 3
:cond_0
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->onScrollStateChanged(I)V
.line 4
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListener:Landroidx/recyclerview/widget/RecyclerView$q;
if-eqz v0, :cond_1
.line 5
invoke-virtual {v0, p0, p1}, Landroidx/recyclerview/widget/RecyclerView$q;->onScrollStateChanged(Landroidx/recyclerview/widget/RecyclerView;I)V
.line 6
:cond_1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List;
if-eqz v0, :cond_2
.line 7
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v0
add-int/lit8 v0, v0, -0x1
:goto_0
if-ltz v0, :cond_2
.line 8
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List;
invoke-interface {v1, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroidx/recyclerview/widget/RecyclerView$q;
invoke-virtual {v1, p0, p1}, Landroidx/recyclerview/widget/RecyclerView$q;->onScrollStateChanged(Landroidx/recyclerview/widget/RecyclerView;I)V
add-int/lit8 v0, v0, -0x1
goto :goto_0
:cond_2
return-void
.end method
.method public dispatchOnScrolled(II)V
.locals 4
.line 1
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchScrollCounter:I
add-int/lit8 v0, v0, 0x1
iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchScrollCounter:I
.line 2
invoke-virtual {p0}, Landroid/view/ViewGroup;->getScrollX()I
move-result v0
.line 3
invoke-virtual {p0}, Landroid/view/ViewGroup;->getScrollY()I
move-result v1
sub-int v2, v0, p1
sub-int v3, v1, p2
.line 4
invoke-virtual {p0, v0, v1, v2, v3}, Landroid/view/ViewGroup;->onScrollChanged(IIII)V
.line 5
invoke-virtual {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->onScrolled(II)V
.line 6
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListener:Landroidx/recyclerview/widget/RecyclerView$q;
if-eqz v0, :cond_0
.line 7
invoke-virtual {v0, p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$q;->onScrolled(Landroidx/recyclerview/widget/RecyclerView;II)V
.line 8
:cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List;
if-eqz v0, :cond_1
.line 9
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v0
add-int/lit8 v0, v0, -0x1
:goto_0
if-ltz v0, :cond_1
.line 10
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List;
invoke-interface {v1, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroidx/recyclerview/widget/RecyclerView$q;
invoke-virtual {v1, p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$q;->onScrolled(Landroidx/recyclerview/widget/RecyclerView;II)V
add-int/lit8 v0, v0, -0x1
goto :goto_0
.line 11
:cond_1
iget p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchScrollCounter:I
add-int/lit8 p1, p1, -0x1
iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchScrollCounter:I
return-void
.end method
.method public dispatchPendingImportantForAccessibilityChanges()V
.locals 5
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingAccessibilityImportanceChange:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v0
add-int/lit8 v0, v0, -0x1
:goto_0
if-ltz v0, :cond_2
.line 2
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingAccessibilityImportanceChange:Ljava/util/List;
invoke-interface {v1, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroidx/recyclerview/widget/RecyclerView$a0;
.line 3
iget-object v2, v1, Landroidx/recyclerview/widget/RecyclerView$a0;->itemView:Landroid/view/View;
invoke-virtual {v2}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
move-result-object v2
if-ne v2, p0, :cond_1
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$a0;->shouldIgnore()Z
move-result v2
if-eqz v2, :cond_0
goto :goto_1
.line 4
:cond_0
iget v2, v1, Landroidx/recyclerview/widget/RecyclerView$a0;->mPendingAccessibilityState:I
const/4 v3, -0x1
if-eq v2, v3, :cond_1
.line 5
iget-object v4, v1, Landroidx/recyclerview/widget/RecyclerView$a0;->itemView:Landroid/view/View;
invoke-static {v4, v2}, Landroidx/core/view/ViewCompat;->R1(Landroid/view/View;I)V
.line 6
iput v3, v1, Landroidx/recyclerview/widget/RecyclerView$a0;->mPendingAccessibilityState:I
:cond_1
:goto_1
add-int/lit8 v0, v0, -0x1
goto :goto_0
.line 7
:cond_2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingAccessibilityImportanceChange:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->clear()V
return-void
.end method
.method public dispatchPopulateAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)Z
.locals 0
.line 1
invoke-virtual {p0, p1}, Landroid/view/ViewGroup;->onPopulateAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)V
const/4 p1, 0x1
return p1
.end method
.method public dispatchRestoreInstanceState(Landroid/util/SparseArray;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/util/SparseArray<",
"Landroid/os/Parcelable;",
">;)V"
}
.end annotation
.line 1
invoke-virtual {p0, p1}, Landroid/view/ViewGroup;->dispatchThawSelfOnly(Landroid/util/SparseArray;)V
return-void
.end method
.method public dispatchSaveInstanceState(Landroid/util/SparseArray;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/util/SparseArray<",
"Landroid/os/Parcelable;",
">;)V"
}
.end annotation
.line 1
invoke-virtual {p0, p1}, Landroid/view/ViewGroup;->dispatchFreezeSelfOnly(Landroid/util/SparseArray;)V
return-void
.end method
.method public draw(Landroid/graphics/Canvas;)V
.locals 7
.line 1
invoke-super {p0, p1}, Landroid/view/ViewGroup;->draw(Landroid/graphics/Canvas;)V
.line 2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
move-result v0
const/4 v1, 0x0
move v2, v1
:goto_0
if-ge v2, v0, :cond_0
.line 3
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
invoke-virtual {v3, v2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v3
check-cast v3, Landroidx/recyclerview/widget/RecyclerView$l;
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
invoke-virtual {v3, p1, p0, v4}, Landroidx/recyclerview/widget/RecyclerView$l;->onDrawOver(Landroid/graphics/Canvas;Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$x;)V
add-int/lit8 v2, v2, 0x1
goto :goto_0
.line 4
:cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
const/4 v2, 0x1
if-eqz v0, :cond_3
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result v0
if-nez v0, :cond_3
.line 5
invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I
move-result v0
.line 6
iget-boolean v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
if-eqz v3, :cond_1
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingBottom()I
move-result v3
goto :goto_1
:cond_1
move v3, v1
:goto_1
const/high16 v4, 0x43870000 # 270.0f
.line 7
invoke-virtual {p1, v4}, Landroid/graphics/Canvas;->rotate(F)V
.line 8
invoke-virtual {p0}, Landroid/view/ViewGroup;->getHeight()I
move-result v4
neg-int v4, v4
add-int/2addr v4, v3
int-to-float v3, v4
const/4 v4, 0x0
invoke-virtual {p1, v3, v4}, Landroid/graphics/Canvas;->translate(FF)V
.line 9
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
if-eqz v3, :cond_2
invoke-virtual {v3, p1}, Landroid/widget/EdgeEffect;->draw(Landroid/graphics/Canvas;)Z
move-result v3
if-eqz v3, :cond_2
move v3, v2
goto :goto_2
:cond_2
move v3, v1
.line 10
:goto_2
invoke-virtual {p1, v0}, Landroid/graphics/Canvas;->restoreToCount(I)V
goto :goto_3
:cond_3
move v3, v1
.line 11
:goto_3
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
if-eqz v0, :cond_6
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result v0
if-nez v0, :cond_6
.line 12
invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I
move-result v0
.line 13
iget-boolean v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
if-eqz v4, :cond_4
.line 14
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingLeft()I
move-result v4
int-to-float v4, v4
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingTop()I
move-result v5
int-to-float v5, v5
invoke-virtual {p1, v4, v5}, Landroid/graphics/Canvas;->translate(FF)V
.line 15
:cond_4
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
if-eqz v4, :cond_5
invoke-virtual {v4, p1}, Landroid/widget/EdgeEffect;->draw(Landroid/graphics/Canvas;)Z
move-result v4
if-eqz v4, :cond_5
move v4, v2
goto :goto_4
:cond_5
move v4, v1
:goto_4
or-int/2addr v3, v4
.line 16
invoke-virtual {p1, v0}, Landroid/graphics/Canvas;->restoreToCount(I)V
.line 17
:cond_6
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
if-eqz v0, :cond_9
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result v0
if-nez v0, :cond_9
.line 18
invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I
move-result v0
.line 19
invoke-virtual {p0}, Landroid/view/ViewGroup;->getWidth()I
move-result v4
.line 20
iget-boolean v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
if-eqz v5, :cond_7
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingTop()I
move-result v5
goto :goto_5
:cond_7
move v5, v1
:goto_5
const/high16 v6, 0x42b40000 # 90.0f
.line 21
invoke-virtual {p1, v6}, Landroid/graphics/Canvas;->rotate(F)V
int-to-float v5, v5
neg-int v4, v4
int-to-float v4, v4
.line 22
invoke-virtual {p1, v5, v4}, Landroid/graphics/Canvas;->translate(FF)V
.line 23
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
if-eqz v4, :cond_8
invoke-virtual {v4, p1}, Landroid/widget/EdgeEffect;->draw(Landroid/graphics/Canvas;)Z
move-result v4
if-eqz v4, :cond_8
move v4, v2
goto :goto_6
:cond_8
move v4, v1
:goto_6
or-int/2addr v3, v4
.line 24
invoke-virtual {p1, v0}, Landroid/graphics/Canvas;->restoreToCount(I)V
.line 25
:cond_9
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
if-eqz v0, :cond_c
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result v0
if-nez v0, :cond_c
.line 26
invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I
move-result v0
const/high16 v4, 0x43340000 # 180.0f
.line 27
invoke-virtual {p1, v4}, Landroid/graphics/Canvas;->rotate(F)V
.line 28
iget-boolean v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
if-eqz v4, :cond_a
.line 29
invoke-virtual {p0}, Landroid/view/ViewGroup;->getWidth()I
move-result v4
neg-int v4, v4
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingRight()I
move-result v5
add-int/2addr v5, v4
int-to-float v4, v5
invoke-virtual {p0}, Landroid/view/ViewGroup;->getHeight()I
move-result v5
neg-int v5, v5
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingBottom()I
move-result v6
add-int/2addr v6, v5
int-to-float v5, v6
invoke-virtual {p1, v4, v5}, Landroid/graphics/Canvas;->translate(FF)V
goto :goto_7
.line 30
:cond_a
invoke-virtual {p0}, Landroid/view/ViewGroup;->getWidth()I
move-result v4
neg-int v4, v4
int-to-float v4, v4
invoke-virtual {p0}, Landroid/view/ViewGroup;->getHeight()I
move-result v5
neg-int v5, v5
int-to-float v5, v5
invoke-virtual {p1, v4, v5}, Landroid/graphics/Canvas;->translate(FF)V
.line 31
:goto_7
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
if-eqz v4, :cond_b
invoke-virtual {v4, p1}, Landroid/widget/EdgeEffect;->draw(Landroid/graphics/Canvas;)Z
move-result v4
if-eqz v4, :cond_b
move v1, v2
:cond_b
or-int/2addr v3, v1
.line 32
invoke-virtual {p1, v0}, Landroid/graphics/Canvas;->restoreToCount(I)V
:cond_c
if-nez v3, :cond_d
.line 33
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
if-eqz p1, :cond_d
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
invoke-virtual {p1}, Ljava/util/ArrayList;->size()I
move-result p1
if-lez p1, :cond_d
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
.line 34
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->q()Z
move-result p1
if-eqz p1, :cond_d
goto :goto_8
:cond_d
move v2, v3
:goto_8
if-eqz v2, :cond_e
.line 35
invoke-static {p0}, Landroidx/core/view/ViewCompat;->n1(Landroid/view/View;)V
:cond_e
return-void
.end method
.method public drawChild(Landroid/graphics/Canvas;Landroid/view/View;J)Z
.locals 0
.line 1
invoke-super {p0, p1, p2, p3, p4}, Landroid/view/ViewGroup;->drawChild(Landroid/graphics/Canvas;Landroid/view/View;J)Z
move-result p1
return p1
.end method
.method public ensureBottomGlow()V
.locals 4
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
if-eqz v0, :cond_0
return-void
.line 2
:cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;
const/4 v1, 0x3
invoke-virtual {v0, p0, v1}, Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;->a(Landroidx/recyclerview/widget/RecyclerView;I)Landroid/widget/EdgeEffect;
move-result-object v0
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
.line 3
iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
if-eqz v1, :cond_1
.line 4
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredWidth()I
move-result v1
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingLeft()I
move-result v2
sub-int/2addr v1, v2
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingRight()I
move-result v2
sub-int/2addr v1, v2
.line 5
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredHeight()I
move-result v2
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingTop()I
move-result v3
sub-int/2addr v2, v3
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingBottom()I
move-result v3
sub-int/2addr v2, v3
.line 6
invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V
goto :goto_0
.line 7
:cond_1
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredWidth()I
move-result v1
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredHeight()I
move-result v2
invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V
:goto_0
return-void
.end method
.method public ensureLeftGlow()V
.locals 4
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
if-eqz v0, :cond_0
return-void
.line 2
:cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;
const/4 v1, 0x0
invoke-virtual {v0, p0, v1}, Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;->a(Landroidx/recyclerview/widget/RecyclerView;I)Landroid/widget/EdgeEffect;
move-result-object v0
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
.line 3
iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
if-eqz v1, :cond_1
.line 4
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredHeight()I
move-result v1
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingTop()I
move-result v2
sub-int/2addr v1, v2
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingBottom()I
move-result v2
sub-int/2addr v1, v2
.line 5
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredWidth()I
move-result v2
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingLeft()I
move-result v3
sub-int/2addr v2, v3
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingRight()I
move-result v3
sub-int/2addr v2, v3
.line 6
invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V
goto :goto_0
.line 7
:cond_1
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredHeight()I
move-result v1
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredWidth()I
move-result v2
invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V
:goto_0
return-void
.end method
.method public ensureRightGlow()V
.locals 4
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
if-eqz v0, :cond_0
return-void
.line 2
:cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;
const/4 v1, 0x2
invoke-virtual {v0, p0, v1}, Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;->a(Landroidx/recyclerview/widget/RecyclerView;I)Landroid/widget/EdgeEffect;
move-result-object v0
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
.line 3
iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
if-eqz v1, :cond_1
.line 4
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredHeight()I
move-result v1
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingTop()I
move-result v2
sub-int/2addr v1, v2
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingBottom()I
move-result v2
sub-int/2addr v1, v2
.line 5
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredWidth()I
move-result v2
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingLeft()I
move-result v3
sub-int/2addr v2, v3
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingRight()I
move-result v3
sub-int/2addr v2, v3
.line 6
invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V
goto :goto_0
.line 7
:cond_1
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredHeight()I
move-result v1
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredWidth()I
move-result v2
invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V
:goto_0
return-void
.end method
.method public ensureTopGlow()V
.locals 4
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
if-eqz v0, :cond_0
return-void
.line 2
:cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;
const/4 v1, 0x1
invoke-virtual {v0, p0, v1}, Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;->a(Landroidx/recyclerview/widget/RecyclerView;I)Landroid/widget/EdgeEffect;
move-result-object v0
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
.line 3
iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
if-eqz v1, :cond_1
.line 4
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredWidth()I
move-result v1
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingLeft()I
move-result v2
sub-int/2addr v1, v2
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingRight()I
move-result v2
sub-int/2addr v1, v2
.line 5
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredHeight()I
move-result v2
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingTop()I
move-result v3
sub-int/2addr v2, v3
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingBottom()I
move-result v3
sub-int/2addr v2, v3
.line 6
invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V
goto :goto_0
.line 7
:cond_1
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredWidth()I
move-result v1
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredHeight()I
move-result v2
invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V
:goto_0
return-void
.end method
.method public exceptionLabel()Ljava/lang/String;
.locals 2
const-string v0, " "
.line 1
invoke-static {v0}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-super {p0}, Landroid/view/ViewGroup;->toString()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, ", adapter:"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v1, ", layout:"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v1, ", context:"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 2
invoke-virtual {p0}, Landroid/view/ViewGroup;->getContext()Landroid/content/Context;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public final fillRemainingScrollValues(Landroidx/recyclerview/widget/RecyclerView$x;)V
.locals 3
.line 1
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollState()I
move-result v0
const/4 v1, 0x2
if-ne v0, v1, :cond_0
.line 2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$z;
iget-object v0, v0, Landroidx/recyclerview/widget/RecyclerView$z;->c:Landroid/widget/OverScroller;
.line 3
invoke-virtual {v0}, Landroid/widget/OverScroller;->getFinalX()I
move-result v1
invoke-virtual {v0}, Landroid/widget/OverScroller;->getCurrX()I
move-result v2
sub-int/2addr v1, v2
iput v1, p1, Landroidx/recyclerview/widget/RecyclerView$x;->p:I
.line 4
invoke-virtual {v0}, Landroid/widget/OverScroller;->getFinalY()I
move-result v1
invoke-virtual {v0}, Landroid/widget/OverScroller;->getCurrY()I
move-result v0
sub-int/2addr v1, v0
iput v1, p1, Landroidx/recyclerview/widget/RecyclerView$x;->q:I
goto :goto_0
:cond_0
const/4 v0, 0x0
.line 5
iput v0, p1, Landroidx/recyclerview/widget/RecyclerView$x;->p:I
.line 6
iput v0, p1, Landroidx/recyclerview/widget/RecyclerView$x;->q:I
:goto_0
return-void
.end method
.method public findChildViewUnder(FF)Landroid/view/View;
.locals 5
.annotation build Landroidx/annotation/Nullable;
.end annotation
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
invoke-virtual {v0}, Landroidx/recyclerview/widget/g;->g()I
move-result v0
add-int/lit8 v0, v0, -0x1
:goto_0
if-ltz v0, :cond_1
.line 2
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
invoke-virtual {v1, v0}, Landroidx/recyclerview/widget/g;->f(I)Landroid/view/View;
move-result-object v1
.line 3
invoke-virtual {v1}, Landroid/view/View;->getTranslationX()F
move-result v2
.line 4
invoke-virtual {v1}, Landroid/view/View;->getTranslationY()F
move-result v3
.line 5
invoke-virtual {v1}, Landroid/view/View;->getLeft()I
move-result v4
int-to-float v4, v4
add-float/2addr v4, v2
cmpl-float v4, p1, v4
if-ltz v4, :cond_0
.line 6
invoke-virtual {v1}, Landroid/view/View;->getRight()I
move-result v4
int-to-float v4, v4
add-float/2addr v4, v2
cmpg-float v2, p1, v4
if-gtz v2, :cond_0
.line 7
invoke-virtual {v1}, Landroid/view/View;->getTop()I
move-result v2
int-to-float v2, v2
add-float/2addr v2, v3
cmpl-float v2, p2, v2
if-ltz v2, :cond_0
.line 8
invoke-virtual {v1}, Landroid/view/View;->getBottom()I
move-result v2
int-to-float v2, v2
add-float/2addr v2, v3
cmpg-float v2, p2, v2
if-gtz v2, :cond_0
return-object v1
:cond_0
add-int/lit8 v0, v0, -0x1
goto :goto_0
:cond_1
const/4 p1, 0x0
return-object p1
.end method
.method public findContainingItemView(Landroid/view/View;)Landroid/view/View;
.locals 2
.param p1 # Landroid/view/View;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/Nullable;
.end annotation
.line 1
invoke-virtual {p1}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
move-result-object v0
:goto_0
if-eqz v0, :cond_0
if-eq v0, p0, :cond_0
.line 2
instance-of v1, v0, Landroid/view/View;
if-eqz v1, :cond_0
.line 3
move-object p1, v0
check-cast p1, Landroid/view/View;
.line 4
invoke-virtual {p1}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
move-result-object v0
goto :goto_0
:cond_0
if-ne v0, p0, :cond_1
goto :goto_1
:cond_1
const/4 p1, 0x0
:goto_1
return-object p1
.end method
.method public findContainingViewHolder(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$a0;
.locals 0
.param p1 # Landroid/view/View;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/Nullable;
.end annotation
.line 1
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->findContainingItemView(Landroid/view/View;)Landroid/view/View;
move-result-object p1
if-nez p1, :cond_0
const/4 p1, 0x0
goto :goto_0
.line 2
:cond_0
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolder(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$a0;
move-result-object p1
:goto_0
return-object p1
.end method
.method public findViewHolderForAdapterPosition(I)Landroidx/recyclerview/widget/RecyclerView$a0;
.locals 5
.annotation build Landroidx/annotation/Nullable;
.end annotation
.line 1
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z
const/4 v1, 0x0
if-eqz v0, :cond_0
return-object v1
.line 2
:cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
invoke-virtual {v0}, Landroidx/recyclerview/widget/g;->j()I
move-result v0
const/4 v2, 0x0
:goto_0
if-ge v2, v0, :cond_3
.line 3
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/g;->i(I)Landroid/view/View;
move-result-object v3
invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$a0;
move-result-object v3
if-eqz v3, :cond_2
.line 4
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$a0;->isRemoved()Z
move-result v4
if-nez v4, :cond_2
.line 5
invoke-virtual {p0, v3}, Landroidx/recyclerview/widget/RecyclerView;->getAdapterPositionInRecyclerView(Landroidx/recyclerview/widget/RecyclerView$a0;)I
move-result v4
if-ne v4, p1, :cond_2
.line 6
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
iget-object v4, v3, Landroidx/recyclerview/widget/RecyclerView$a0;->itemView:Landroid/view/View;
invoke-virtual {v1, v4}, Landroidx/recyclerview/widget/g;->n(Landroid/view/View;)Z
move-result v1
if-eqz v1, :cond_1
move-object v1, v3
goto :goto_1
:cond_1
return-object v3
:cond_2
:goto_1
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_3
return-object v1
.end method
.method public findViewHolderForItemId(J)Landroidx/recyclerview/widget/RecyclerView$a0;
.locals 6
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
const/4 v1, 0x0
if-eqz v0, :cond_3
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z
move-result v0
if-nez v0, :cond_0
goto :goto_2
.line 2
:cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
invoke-virtual {v0}, Landroidx/recyclerview/widget/g;->j()I
move-result v0
const/4 v2, 0x0
:goto_0
if-ge v2, v0, :cond_3
.line 3
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/g;->i(I)Landroid/view/View;
move-result-object v3
invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$a0;
move-result-object v3
if-eqz v3, :cond_2
.line 4
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$a0;->isRemoved()Z
move-result v4
if-nez v4, :cond_2
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$a0;->getItemId()J
move-result-wide v4
cmp-long v4, v4, p1
if-nez v4, :cond_2
.line 5
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
iget-object v4, v3, Landroidx/recyclerview/widget/RecyclerView$a0;->itemView:Landroid/view/View;
invoke-virtual {v1, v4}, Landroidx/recyclerview/widget/g;->n(Landroid/view/View;)Z
move-result v1
if-eqz v1, :cond_1
move-object v1, v3
goto :goto_1
:cond_1
return-object v3
:cond_2
:goto_1
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_3
:goto_2
return-object v1
.end method
.method public findViewHolderForLayoutPosition(I)Landroidx/recyclerview/widget/RecyclerView$a0;
.locals 1
.annotation build Landroidx/annotation/Nullable;
.end annotation
const/4 v0, 0x0
.line 1
invoke-virtual {p0, p1, v0}, Landroidx/recyclerview/widget/RecyclerView;->findViewHolderForPosition(IZ)Landroidx/recyclerview/widget/RecyclerView$a0;
move-result-object p1
return-object p1
.end method
.method public findViewHolderForPosition(I)Landroidx/recyclerview/widget/RecyclerView$a0;
.locals 1
.annotation build Landroidx/annotation/Nullable;
.end annotation
.annotation runtime Ljava/lang/Deprecated;
.end annotation
const/4 v0, 0x0
.line 1
invoke-virtual {p0, p1, v0}, Landroidx/recyclerview/widget/RecyclerView;->findViewHolderForPosition(IZ)Landroidx/recyclerview/widget/RecyclerView$a0;
move-result-object p1
return-object p1
.end method
.method public findViewHolderForPosition(IZ)Landroidx/recyclerview/widget/RecyclerView$a0;
.locals 5
.annotation build Landroidx/annotation/Nullable;
.end annotation
.line 2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
invoke-virtual {v0}, Landroidx/recyclerview/widget/g;->j()I
move-result v0
const/4 v1, 0x0
const/4 v2, 0x0
:goto_0
if-ge v2, v0, :cond_4
.line 3
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/g;->i(I)Landroid/view/View;
move-result-object v3
invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$a0;
move-result-object v3
if-eqz v3, :cond_3
.line 4
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$a0;->isRemoved()Z
move-result v4
if-nez v4, :cond_3
if-eqz p2, :cond_0
.line 5
iget v4, v3, Landroidx/recyclerview/widget/RecyclerView$a0;->mPosition:I
if-eq v4, p1, :cond_1
goto :goto_1
.line 6
:cond_0
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$a0;->getLayoutPosition()I
move-result v4
if-eq v4, p1, :cond_1
goto :goto_1
.line 7
:cond_1
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
iget-object v4, v3, Landroidx/recyclerview/widget/RecyclerView$a0;->itemView:Landroid/view/View;
invoke-virtual {v1, v4}, Landroidx/recyclerview/widget/g;->n(Landroid/view/View;)Z
move-result v1
if-eqz v1, :cond_2
move-object v1, v3
goto :goto_1
:cond_2
return-object v3
:cond_3
:goto_1
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_4
return-object v1
.end method
.method public fling(II)Z
.locals 7
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
const/4 v1, 0x0
if-nez v0, :cond_0
const-string p1, "RecyclerView"
const-string p2, "Cannot fling without a LayoutManager set. Call setLayoutManager with a non-null argument."
.line 2
invoke-static {p1, p2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
return v1
.line 3
:cond_0
iget-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
if-eqz v2, :cond_1
return v1
.line 4
:cond_1
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$m;->canScrollHorizontally()Z
move-result v0
.line 5
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$m;->canScrollVertically()Z
move-result v2
if-eqz v0, :cond_2
.line 6
invoke-static {p1}, Ljava/lang/Math;->abs(I)I
move-result v3
iget v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinFlingVelocity:I
if-ge v3, v4, :cond_3
:cond_2
move p1, v1
:cond_3
if-eqz v2, :cond_4
.line 7
invoke-static {p2}, Ljava/lang/Math;->abs(I)I
move-result v3
iget v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinFlingVelocity:I
if-ge v3, v4, :cond_5
:cond_4
move p2, v1
:cond_5
if-nez p1, :cond_6
if-nez p2, :cond_6
return v1
:cond_6
int-to-float v3, p1
int-to-float v4, p2
.line 8
invoke-virtual {p0, v3, v4}, Landroidx/recyclerview/widget/RecyclerView;->dispatchNestedPreFling(FF)Z
move-result v5
if-nez v5, :cond_b
const/4 v5, 0x1
if-nez v0, :cond_8
if-eqz v2, :cond_7
goto :goto_0
:cond_7
move v6, v1
goto :goto_1
:cond_8
:goto_0
move v6, v5
.line 9
:goto_1
invoke-virtual {p0, v3, v4, v6}, Landroidx/recyclerview/widget/RecyclerView;->dispatchNestedFling(FFZ)Z
.line 10
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnFlingListener:Landroidx/recyclerview/widget/RecyclerView$o;
if-eqz v3, :cond_9
invoke-virtual {v3, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$o;->a(II)Z
move-result v3
if-eqz v3, :cond_9
return v5
:cond_9
if-eqz v6, :cond_b
if-eqz v2, :cond_a
or-int/lit8 v0, v0, 0x2
.line 11
:cond_a
invoke-virtual {p0, v0, v5}, Landroidx/recyclerview/widget/RecyclerView;->startNestedScroll(II)Z
.line 12
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMaxFlingVelocity:I
neg-int v1, v0
invoke-static {p1, v0}, Ljava/lang/Math;->min(II)I
move-result p1
invoke-static {v1, p1}, Ljava/lang/Math;->max(II)I
move-result p1
.line 13
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMaxFlingVelocity:I
neg-int v1, v0
invoke-static {p2, v0}, Ljava/lang/Math;->min(II)I
move-result p2
invoke-static {v1, p2}, Ljava/lang/Math;->max(II)I
move-result p2
.line 14
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$z;
invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$z;->b(II)V
return v5
:cond_b
return v1
.end method
.method public focusSearch(Landroid/view/View;I)Landroid/view/View;
.locals 8
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$m;->onInterceptFocusSearch(Landroid/view/View;I)Landroid/view/View;
move-result-object v0
if-eqz v0, :cond_0
return-object v0
.line 2
:cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
const/4 v1, 0x1
const/4 v2, 0x0
if-eqz v0, :cond_1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
if-eqz v0, :cond_1
.line 3
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isComputingLayout()Z
move-result v0
if-nez v0, :cond_1
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
if-nez v0, :cond_1
move v0, v1
goto :goto_0
:cond_1
move v0, v2
.line 4
:goto_0
invoke-static {}, Landroid/view/FocusFinder;->getInstance()Landroid/view/FocusFinder;
move-result-object v3
const/4 v4, 0x0
if-eqz v0, :cond_f
const/4 v5, 0x2
if-eq p2, v5, :cond_2
if-ne p2, v1, :cond_f
.line 5
:cond_2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$m;->canScrollVertically()Z
move-result v0
if-eqz v0, :cond_5
if-ne p2, v5, :cond_3
const/16 v0, 0x82
goto :goto_1
:cond_3
const/16 v0, 0x21
.line 6
:goto_1
invoke-virtual {v3, p0, p1, v0}, Landroid/view/FocusFinder;->findNextFocus(Landroid/view/ViewGroup;Landroid/view/View;I)Landroid/view/View;
move-result-object v6
if-nez v6, :cond_4
move v6, v1
goto :goto_2
:cond_4
move v6, v2
.line 7
:goto_2
sget-boolean v7, Landroidx/recyclerview/widget/RecyclerView;->FORCE_ABS_FOCUS_SEARCH_DIRECTION:Z
if-eqz v7, :cond_6
move p2, v0
goto :goto_3
:cond_5
move v6, v2
:cond_6
:goto_3
if-nez v6, :cond_c
.line 8
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$m;->canScrollHorizontally()Z
move-result v0
if-eqz v0, :cond_c
.line 9
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$m;->getLayoutDirection()I
move-result v0
if-ne v0, v1, :cond_7
move v0, v1
goto :goto_4
:cond_7
move v0, v2
:goto_4
if-ne p2, v5, :cond_8
move v5, v1
goto :goto_5
:cond_8
move v5, v2
:goto_5
xor-int/2addr v0, v5
if-eqz v0, :cond_9
const/16 v0, 0x42
goto :goto_6
:cond_9
const/16 v0, 0x11
.line 10
:goto_6
invoke-virtual {v3, p0, p1, v0}, Landroid/view/FocusFinder;->findNextFocus(Landroid/view/ViewGroup;Landroid/view/View;I)Landroid/view/View;
move-result-object v5
if-nez v5, :cond_a
goto :goto_7
:cond_a
move v1, v2
.line 11
:goto_7
sget-boolean v5, Landroidx/recyclerview/widget/RecyclerView;->FORCE_ABS_FOCUS_SEARCH_DIRECTION:Z
if-eqz v5, :cond_b
move p2, v0
:cond_b
move v6, v1
:cond_c
if-eqz v6, :cond_e
.line 12
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->consumePendingUpdateOperations()V
.line 13
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->findContainingItemView(Landroid/view/View;)Landroid/view/View;
move-result-object v0
if-nez v0, :cond_d
return-object v4
.line 14
:cond_d
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
.line 15
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
invoke-virtual {v0, p1, p2, v1, v5}, Landroidx/recyclerview/widget/RecyclerView$m;->onFocusSearchFailed(Landroid/view/View;ILandroidx/recyclerview/widget/RecyclerView$s;Landroidx/recyclerview/widget/RecyclerView$x;)Landroid/view/View;
.line 16
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
.line 17
:cond_e
invoke-virtual {v3, p0, p1, p2}, Landroid/view/FocusFinder;->findNextFocus(Landroid/view/ViewGroup;Landroid/view/View;I)Landroid/view/View;
move-result-object v0
goto :goto_8
.line 18
:cond_f
invoke-virtual {v3, p0, p1, p2}, Landroid/view/FocusFinder;->findNextFocus(Landroid/view/ViewGroup;Landroid/view/View;I)Landroid/view/View;
move-result-object v1
if-nez v1, :cond_11
if-eqz v0, :cond_11
.line 19
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->consumePendingUpdateOperations()V
.line 20
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->findContainingItemView(Landroid/view/View;)Landroid/view/View;
move-result-object v0
if-nez v0, :cond_10
return-object v4
.line 21
:cond_10
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
.line 22
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
invoke-virtual {v0, p1, p2, v1, v3}, Landroidx/recyclerview/widget/RecyclerView$m;->onFocusSearchFailed(Landroid/view/View;ILandroidx/recyclerview/widget/RecyclerView$s;Landroidx/recyclerview/widget/RecyclerView$x;)Landroid/view/View;
move-result-object v0
.line 23
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
goto :goto_8
:cond_11
move-object v0, v1
:goto_8
if-eqz v0, :cond_13
.line 24
invoke-virtual {v0}, Landroid/view/View;->hasFocusable()Z
move-result v1
if-nez v1, :cond_13
.line 25
invoke-virtual {p0}, Landroid/view/ViewGroup;->getFocusedChild()Landroid/view/View;
move-result-object v1
if-nez v1, :cond_12
.line 26
invoke-super {p0, p1, p2}, Landroid/view/ViewGroup;->focusSearch(Landroid/view/View;I)Landroid/view/View;
move-result-object p1
return-object p1
.line 27
:cond_12
invoke-direct {p0, v0, v4}, Landroidx/recyclerview/widget/RecyclerView;->requestChildOnScreen(Landroid/view/View;Landroid/view/View;)V
return-object p1
.line 28
:cond_13
invoke-direct {p0, p1, v0, p2}, Landroidx/recyclerview/widget/RecyclerView;->isPreferredNextFocus(Landroid/view/View;Landroid/view/View;I)Z
move-result v1
if-eqz v1, :cond_14
goto :goto_9
.line 29
:cond_14
invoke-super {p0, p1, p2}, Landroid/view/ViewGroup;->focusSearch(Landroid/view/View;I)Landroid/view/View;
move-result-object v0
:goto_9
return-object v0
.end method
.method public generateDefaultLayoutParams()Landroid/view/ViewGroup$LayoutParams;
.locals 2
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
if-eqz v0, :cond_0
.line 2
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$m;->generateDefaultLayoutParams()Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
move-result-object v0
return-object v0
.line 3
:cond_0
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "RecyclerView has no LayoutManager"
invoke-static {v1}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-static {p0, v1}, Landroidx/recyclerview/widget/b0;->a(Landroidx/recyclerview/widget/RecyclerView;Ljava/lang/StringBuilder;)Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public generateLayoutParams(Landroid/util/AttributeSet;)Landroid/view/ViewGroup$LayoutParams;
.locals 2
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
if-eqz v0, :cond_0
.line 2
invoke-virtual {p0}, Landroid/view/ViewGroup;->getContext()Landroid/content/Context;
move-result-object v1
invoke-virtual {v0, v1, p1}, Landroidx/recyclerview/widget/RecyclerView$m;->generateLayoutParams(Landroid/content/Context;Landroid/util/AttributeSet;)Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
move-result-object p1
return-object p1
.line 3
:cond_0
new-instance p1, Ljava/lang/IllegalStateException;
const-string v0, "RecyclerView has no LayoutManager"
invoke-static {v0}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-static {p0, v0}, Landroidx/recyclerview/widget/b0;->a(Landroidx/recyclerview/widget/RecyclerView;Ljava/lang/StringBuilder;)Ljava/lang/String;
move-result-object v0
invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public generateLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Landroid/view/ViewGroup$LayoutParams;
.locals 1
.line 4
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
if-eqz v0, :cond_0
.line 5
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$m;->generateLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
move-result-object p1
return-object p1
.line 6
:cond_0
new-instance p1, Ljava/lang/IllegalStateException;
const-string v0, "RecyclerView has no LayoutManager"
invoke-static {v0}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-static {p0, v0}, Landroidx/recyclerview/widget/b0;->a(Landroidx/recyclerview/widget/RecyclerView;Ljava/lang/StringBuilder;)Ljava/lang/String;
move-result-object v0
invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public getAccessibilityClassName()Ljava/lang/CharSequence;
.locals 1
const-string v0, "androidx.recyclerview.widget.RecyclerView"
return-object v0
.end method
.method public getAdapter()Landroidx/recyclerview/widget/RecyclerView$Adapter;
.locals 1
.annotation build Landroidx/annotation/Nullable;
.end annotation
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
return-object v0
.end method
.method public getAdapterPositionInRecyclerView(Landroidx/recyclerview/widget/RecyclerView$a0;)I
.locals 1
const/16 v0, 0x20c
.line 1
invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$a0;->hasAnyOfTheFlags(I)Z
move-result v0
if-nez v0, :cond_1
.line 2
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$a0;->isBound()Z
move-result v0
if-nez v0, :cond_0
goto :goto_0
.line 3
:cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/a;
iget p1, p1, Landroidx/recyclerview/widget/RecyclerView$a0;->mPosition:I
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/a;->f(I)I
move-result p1
return p1
:cond_1
:goto_0
const/4 p1, -0x1
return p1
.end method
.method public getBaseline()I
.locals 1
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
if-eqz v0, :cond_0
.line 2
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$m;->getBaseline()I
move-result v0
return v0
.line 3
:cond_0
invoke-super {p0}, Landroid/view/ViewGroup;->getBaseline()I
move-result v0
return v0
.end method
.method public getChangedHolderKey(Landroidx/recyclerview/widget/RecyclerView$a0;)J
.locals 2
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z
move-result v0
if-eqz v0, :cond_0
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$a0;->getItemId()J
move-result-wide v0
goto :goto_0
:cond_0
iget p1, p1, Landroidx/recyclerview/widget/RecyclerView$a0;->mPosition:I
int-to-long v0, p1
:goto_0
return-wide v0
.end method
.method public getChildAdapterPosition(Landroid/view/View;)I
.locals 0
.param p1 # Landroid/view/View;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.line 1
invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$a0;
move-result-object p1
if-eqz p1, :cond_0
.line 2
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$a0;->getAbsoluteAdapterPosition()I
move-result p1
goto :goto_0
:cond_0
const/4 p1, -0x1
:goto_0
return p1
.end method
.method public getChildDrawingOrder(II)I
.locals 1
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildDrawingOrderCallback:Landroidx/recyclerview/widget/RecyclerView$j;
if-nez v0, :cond_0
.line 2
invoke-super {p0, p1, p2}, Landroid/view/ViewGroup;->getChildDrawingOrder(II)I
move-result p1
return p1
.line 3
:cond_0
invoke-interface {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$j;->a(II)I
move-result p1
return p1
.end method
.method public getChildItemId(Landroid/view/View;)J
.locals 3
.param p1 # Landroid/view/View;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
const-wide/16 v1, -0x1
if-eqz v0, :cond_1
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z
move-result v0
if-nez v0, :cond_0
goto :goto_0
.line 2
:cond_0
invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$a0;
move-result-object p1
if-eqz p1, :cond_1
.line 3
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$a0;->getItemId()J
move-result-wide v1
:cond_1
:goto_0
return-wide v1
.end method
.method public getChildLayoutPosition(Landroid/view/View;)I
.locals 0
.param p1 # Landroid/view/View;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.line 1
invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$a0;
move-result-object p1
if-eqz p1, :cond_0
.line 2
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$a0;->getLayoutPosition()I
move-result p1
goto :goto_0
:cond_0
const/4 p1, -0x1
:goto_0
return p1
.end method
.method public getChildPosition(Landroid/view/View;)I
.locals 0
.param p1 # Landroid/view/View;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.line 1
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildAdapterPosition(Landroid/view/View;)I
move-result p1
return p1
.end method
.method public getChildViewHolder(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$a0;
.locals 3
.param p1 # Landroid/view/View;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.line 1
invoke-virtual {p1}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
move-result-object v0
if-eqz v0, :cond_1
if-ne v0, p0, :cond_0
goto :goto_0
.line 2
:cond_0
new-instance v0, Ljava/lang/IllegalArgumentException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "View "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string p1, " is not a direct child of "
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {v0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.line 3
:cond_1
:goto_0
invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$a0;
move-result-object p1
return-object p1
.end method
.method public getClipToPadding()Z
.locals 1
.line 1
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
return v0
.end method
.method public getCompatAccessibilityDelegate()Landroidx/recyclerview/widget/c0;
.locals 1
.annotation build Landroidx/annotation/Nullable;
.end annotation
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAccessibilityDelegate:Landroidx/recyclerview/widget/c0;
return-object v0
.end method
.method public getDecoratedBoundsWithMargins(Landroid/view/View;Landroid/graphics/Rect;)V
.locals 0
.param p1 # Landroid/view/View;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Landroid/graphics/Rect;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.line 1
invoke-static {p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->getDecoratedBoundsWithMarginsInt(Landroid/view/View;Landroid/graphics/Rect;)V
return-void
.end method
.method public getEdgeEffectFactory()Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;
.locals 1
.annotation build Landroidx/annotation/NonNull;
.end annotation
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;
return-object v0
.end method
.method public getItemAnimator()Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
.locals 1
.annotation build Landroidx/annotation/Nullable;
.end annotation
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
return-object v0
.end method
.method public getItemDecorInsetsForChild(Landroid/view/View;)Landroid/graphics/Rect;
.locals 8
.line 1
invoke-virtual {p1}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
move-result-object v0
check-cast v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
.line 2
iget-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->c:Z
if-nez v1, :cond_0
.line 3
iget-object p1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->b:Landroid/graphics/Rect;
return-object p1
.line 4
:cond_0
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$x;->j()Z
move-result v1
if-eqz v1, :cond_2
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->f()Z
move-result v1
if-nez v1, :cond_1
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->h()Z
move-result v1
if-eqz v1, :cond_2
.line 5
:cond_1
iget-object p1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->b:Landroid/graphics/Rect;
return-object p1
.line 6
:cond_2
iget-object v1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->b:Landroid/graphics/Rect;
const/4 v2, 0x0
.line 7
invoke-virtual {v1, v2, v2, v2, v2}, Landroid/graphics/Rect;->set(IIII)V
.line 8
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
invoke-virtual {v3}, Ljava/util/ArrayList;->size()I
move-result v3
move v4, v2
:goto_0
if-ge v4, v3, :cond_3
.line 9
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
invoke-virtual {v5, v2, v2, v2, v2}, Landroid/graphics/Rect;->set(IIII)V
.line 10
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
invoke-virtual {v5, v4}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v5
check-cast v5, Landroidx/recyclerview/widget/RecyclerView$l;
iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
invoke-virtual {v5, v6, p1, p0, v7}, Landroidx/recyclerview/widget/RecyclerView$l;->getItemOffsets(Landroid/graphics/Rect;Landroid/view/View;Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$x;)V
.line 11
iget v5, v1, Landroid/graphics/Rect;->left:I
iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
iget v7, v6, Landroid/graphics/Rect;->left:I
add-int/2addr v5, v7
iput v5, v1, Landroid/graphics/Rect;->left:I
.line 12
iget v5, v1, Landroid/graphics/Rect;->top:I
iget v7, v6, Landroid/graphics/Rect;->top:I
add-int/2addr v5, v7
iput v5, v1, Landroid/graphics/Rect;->top:I
.line 13
iget v5, v1, Landroid/graphics/Rect;->right:I
iget v7, v6, Landroid/graphics/Rect;->right:I
add-int/2addr v5, v7
iput v5, v1, Landroid/graphics/Rect;->right:I
.line 14
iget v5, v1, Landroid/graphics/Rect;->bottom:I
iget v6, v6, Landroid/graphics/Rect;->bottom:I
add-int/2addr v5, v6
iput v5, v1, Landroid/graphics/Rect;->bottom:I
add-int/lit8 v4, v4, 0x1
goto :goto_0
.line 15
:cond_3
iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->c:Z
return-object v1
.end method
.method public getItemDecorationAt(I)Landroidx/recyclerview/widget/RecyclerView$l;
.locals 3
.annotation build Landroidx/annotation/NonNull;
.end annotation
.line 1
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getItemDecorationCount()I
move-result v0
if-ltz p1, :cond_0
if-ge p1, v0, :cond_0
.line 2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
invoke-virtual {v0, p1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object p1
check-cast p1, Landroidx/recyclerview/widget/RecyclerView$l;
return-object p1
.line 3
:cond_0
new-instance v1, Ljava/lang/IndexOutOfBoundsException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string p1, " is an invalid index for size "
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {v1, p1}, Ljava/lang/IndexOutOfBoundsException;-><init>(Ljava/lang/String;)V
throw v1
.end method
.method public getItemDecorationCount()I
.locals 1
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
move-result v0
return v0
.end method
.method public getLayoutManager()Landroidx/recyclerview/widget/RecyclerView$m;
.locals 1
.annotation build Landroidx/annotation/Nullable;
.end annotation
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
return-object v0
.end method
.method public getMaxFlingVelocity()I
.locals 1
.line 1
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMaxFlingVelocity:I
return v0
.end method
.method public getMinFlingVelocity()I
.locals 1
.line 1
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinFlingVelocity:I
return v0
.end method
.method getNanoTime()J
.locals 2
.line 1
sget-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->ALLOW_THREAD_GAP_WORK:Z
if-eqz v0, :cond_0
.line 2
invoke-static {}, Ljava/lang/System;->nanoTime()J
move-result-wide v0
return-wide v0
:cond_0
const-wide/16 v0, 0x0
return-wide v0
.end method
.method public getOnFlingListener()Landroidx/recyclerview/widget/RecyclerView$o;
.locals 1
.annotation build Landroidx/annotation/Nullable;
.end annotation
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnFlingListener:Landroidx/recyclerview/widget/RecyclerView$o;
return-object v0
.end method
.method public getPreserveFocusAfterLayout()Z
.locals 1
.line 1
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPreserveFocusAfterLayout:Z
return v0
.end method
.method public getRecycledViewPool()Landroidx/recyclerview/widget/RecyclerView$r;
.locals 1
.annotation build Landroidx/annotation/NonNull;
.end annotation
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$s;->j()Landroidx/recyclerview/widget/RecyclerView$r;
move-result-object v0
return-object v0
.end method
.method public getScrollState()I
.locals 1
.line 1
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I
return v0
.end method
.method public hasFixedSize()Z
.locals 1
.line 1
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mHasFixedSize:Z
return v0
.end method
.method public hasNestedScrollingParent()Z
.locals 1
.line 1
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Ls1/z;
move-result-object v0
invoke-virtual {v0}, Ls1/z;->k()Z
move-result v0
return v0
.end method
.method public hasNestedScrollingParent(I)Z
.locals 1
.line 2
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Ls1/z;
move-result-object v0
invoke-virtual {v0, p1}, Ls1/z;->l(I)Z
move-result p1
return p1
.end method
.method public hasPendingAdapterUpdates()Z
.locals 1
.line 1
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z
if-eqz v0, :cond_1
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z
if-nez v0, :cond_1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/a;
.line 2
invoke-virtual {v0}, Landroidx/recyclerview/widget/a;->q()Z
move-result v0
if-eqz v0, :cond_0
goto :goto_0
:cond_0
const/4 v0, 0x0
goto :goto_1
:cond_1
:goto_0
const/4 v0, 0x1
:goto_1
return v0
.end method
.method public initAdapterManager()V
.locals 2
.line 1
new-instance v0, Landroidx/recyclerview/widget/a;
new-instance v1, Landroidx/recyclerview/widget/RecyclerView$f;
invoke-direct {v1, p0}, Landroidx/recyclerview/widget/RecyclerView$f;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
invoke-direct {v0, v1}, Landroidx/recyclerview/widget/a;-><init>(Landroidx/recyclerview/widget/a$a;)V
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/a;
return-void
.end method
.method public initFastScroller(Landroid/graphics/drawable/StateListDrawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/StateListDrawable;Landroid/graphics/drawable/Drawable;)V
.locals 10
.annotation build Landroidx/annotation/VisibleForTesting;
.end annotation
if-eqz p1, :cond_0
if-eqz p2, :cond_0
if-eqz p3, :cond_0
if-eqz p4, :cond_0
.line 1
invoke-virtual {p0}, Landroid/view/ViewGroup;->getContext()Landroid/content/Context;
move-result-object v0
invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v0
.line 2
new-instance v1, Landroidx/recyclerview/widget/m;
sget v2, Landroidx/recyclerview/R$dimen;->fastscroll_default_thickness:I
.line 3
invoke-virtual {v0, v2}, Landroid/content/res/Resources;->getDimensionPixelSize(I)I
move-result v7
sget v2, Landroidx/recyclerview/R$dimen;->fastscroll_minimum_range:I
.line 4
invoke-virtual {v0, v2}, Landroid/content/res/Resources;->getDimensionPixelSize(I)I
move-result v8
sget v2, Landroidx/recyclerview/R$dimen;->fastscroll_margin:I
.line 5
invoke-virtual {v0, v2}, Landroid/content/res/Resources;->getDimensionPixelOffset(I)I
move-result v9
move-object v2, p0
move-object v3, p1
move-object v4, p2
move-object v5, p3
move-object v6, p4
invoke-direct/range {v1 .. v9}, Landroidx/recyclerview/widget/m;-><init>(Landroidx/recyclerview/widget/RecyclerView;Landroid/graphics/drawable/StateListDrawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/StateListDrawable;Landroid/graphics/drawable/Drawable;III)V
return-void
.line 6
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "Trying to set fast scroller without both required drawables."
invoke-static {p2}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p2
.line 7
invoke-static {p0, p2}, Landroidx/recyclerview/widget/b0;->a(Landroidx/recyclerview/widget/RecyclerView;Ljava/lang/StringBuilder;)Ljava/lang/String;
move-result-object p2
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public invalidateGlows()V
.locals 1
const/4 v0, 0x0
.line 1
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
return-void
.end method
.method public invalidateItemDecorations()V
.locals 2
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
move-result v0
if-nez v0, :cond_0
return-void
.line 2
:cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
if-eqz v0, :cond_1
const-string v1, "Cannot invalidate item decorations during a scroll or layout"
.line 3
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$m;->assertNotInLayoutOrScroll(Ljava/lang/String;)V
.line 4
:cond_1
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->markItemDecorInsetsDirty()V
.line 5
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
return-void
.end method
.method public isAccessibilityEnabled()Z
.locals 1
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAccessibilityManager:Landroid/view/accessibility/AccessibilityManager;
if-eqz v0, :cond_0
invoke-virtual {v0}, Landroid/view/accessibility/AccessibilityManager;->isEnabled()Z
move-result v0
if-eqz v0, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
return v0
.end method
.method public isAnimating()Z
.locals 1
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
if-eqz v0, :cond_0
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->q()Z
move-result v0
if-eqz v0, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
return v0
.end method
.method public isAttachedToWindow()Z
.locals 1
.line 1
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mIsAttached:Z
return v0
.end method
.method public isComputingLayout()Z
.locals 1
.line 1
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I
if-lez v0, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
return v0
.end method
.method public isLayoutFrozen()Z
.locals 1
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.line 1
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isLayoutSuppressed()Z
move-result v0
return v0
.end method
.method public final isLayoutSuppressed()Z
.locals 1
.line 1
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
return v0
.end method
.method public isNestedScrollingEnabled()Z
.locals 1
.line 1
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Ls1/z;
move-result-object v0
invoke-virtual {v0}, Ls1/z;->m()Z
move-result v0
return v0
.end method
.method public jumpToPositionForSmoothScroller(I)V
.locals 1
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
if-nez v0, :cond_0
return-void
:cond_0
const/4 v0, 0x2
.line 2
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V
.line 3
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$m;->scrollToPosition(I)V
.line 4
invoke-virtual {p0}, Landroid/view/ViewGroup;->awakenScrollBars()Z
return-void
.end method
.method public markItemDecorInsetsDirty()V
.locals 4
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
invoke-virtual {v0}, Landroidx/recyclerview/widget/g;->j()I
move-result v0
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_0
.line 2
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/g;->i(I)Landroid/view/View;
move-result-object v2
.line 3
invoke-virtual {v2}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
move-result-object v2
check-cast v2, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
const/4 v3, 0x1
iput-boolean v3, v2, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->c:Z
add-int/lit8 v1, v1, 0x1
goto :goto_0
.line 4
:cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$s;->t()V
return-void
.end method
.method public markKnownViewsInvalid()V
.locals 4
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
invoke-virtual {v0}, Landroidx/recyclerview/widget/g;->j()I
move-result v0
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_1
.line 2
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/g;->i(I)Landroid/view/View;
move-result-object v2
invoke-static {v2}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$a0;
move-result-object v2
if-eqz v2, :cond_0
.line 3
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$a0;->shouldIgnore()Z
move-result v3
if-nez v3, :cond_0
const/4 v3, 0x6
.line 4
invoke-virtual {v2, v3}, Landroidx/recyclerview/widget/RecyclerView$a0;->addFlags(I)V
:cond_0
add-int/lit8 v1, v1, 0x1
goto :goto_0
.line 5
:cond_1
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->markItemDecorInsetsDirty()V
.line 6
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$s;->u()V
return-void
.end method
.method public nestedScrollBy(II)V
.locals 2
const/4 v0, 0x0
const/4 v1, 0x1
.line 1
invoke-direct {p0, p1, p2, v0, v1}, Landroidx/recyclerview/widget/RecyclerView;->nestedScrollByInternal(IILandroid/view/MotionEvent;I)V
return-void
.end method
.method public offsetChildrenHorizontal(I)V
.locals 3
.param p1 # I
.annotation build Landroidx/annotation/Px;
.end annotation
.end param
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
invoke-virtual {v0}, Landroidx/recyclerview/widget/g;->g()I
move-result v0
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_0
.line 2
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/g;->f(I)Landroid/view/View;
move-result-object v2
invoke-virtual {v2, p1}, Landroid/view/View;->offsetLeftAndRight(I)V
add-int/lit8 v1, v1, 0x1
goto :goto_0
:cond_0
return-void
.end method
.method public offsetChildrenVertical(I)V
.locals 3
.param p1 # I
.annotation build Landroidx/annotation/Px;
.end annotation
.end param
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
invoke-virtual {v0}, Landroidx/recyclerview/widget/g;->g()I
move-result v0
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_0
.line 2
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/g;->f(I)Landroid/view/View;
move-result-object v2
invoke-virtual {v2, p1}, Landroid/view/View;->offsetTopAndBottom(I)V
add-int/lit8 v1, v1, 0x1
goto :goto_0
:cond_0
return-void
.end method
.method public offsetPositionRecordsForInsert(II)V
.locals 5
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
invoke-virtual {v0}, Landroidx/recyclerview/widget/g;->j()I
move-result v0
const/4 v1, 0x0
move v2, v1
:goto_0
if-ge v2, v0, :cond_1
.line 2
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/g;->i(I)Landroid/view/View;
move-result-object v3
invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$a0;
move-result-object v3
if-eqz v3, :cond_0
.line 3
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$a0;->shouldIgnore()Z
move-result v4
if-nez v4, :cond_0
iget v4, v3, Landroidx/recyclerview/widget/RecyclerView$a0;->mPosition:I
if-lt v4, p1, :cond_0
.line 4
invoke-virtual {v3, p2, v1}, Landroidx/recyclerview/widget/RecyclerView$a0;->offsetPosition(IZ)V
.line 5
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
const/4 v4, 0x1
iput-boolean v4, v3, Landroidx/recyclerview/widget/RecyclerView$x;->g:Z
:cond_0
add-int/lit8 v2, v2, 0x1
goto :goto_0
.line 6
:cond_1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$s;->v(II)V
.line 7
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
return-void
.end method
.method public offsetPositionRecordsForMove(II)V
.locals 9
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
invoke-virtual {v0}, Landroidx/recyclerview/widget/g;->j()I
move-result v0
const/4 v1, 0x1
if-ge p1, p2, :cond_0
const/4 v2, -0x1
move v3, p1
move v4, p2
goto :goto_0
:cond_0
move v4, p1
move v3, p2
move v2, v1
:goto_0
const/4 v5, 0x0
move v6, v5
:goto_1
if-ge v6, v0, :cond_4
.line 2
iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
invoke-virtual {v7, v6}, Landroidx/recyclerview/widget/g;->i(I)Landroid/view/View;
move-result-object v7
invoke-static {v7}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$a0;
move-result-object v7
if-eqz v7, :cond_3
.line 3
iget v8, v7, Landroidx/recyclerview/widget/RecyclerView$a0;->mPosition:I
if-lt v8, v3, :cond_3
if-le v8, v4, :cond_1
goto :goto_3
:cond_1
if-ne v8, p1, :cond_2
sub-int v8, p2, p1
.line 4
invoke-virtual {v7, v8, v5}, Landroidx/recyclerview/widget/RecyclerView$a0;->offsetPosition(IZ)V
goto :goto_2
.line 5
:cond_2
invoke-virtual {v7, v2, v5}, Landroidx/recyclerview/widget/RecyclerView$a0;->offsetPosition(IZ)V
.line 6
:goto_2
iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
iput-boolean v1, v7, Landroidx/recyclerview/widget/RecyclerView$x;->g:Z
:cond_3
:goto_3
add-int/lit8 v6, v6, 0x1
goto :goto_1
.line 7
:cond_4
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$s;->w(II)V
.line 8
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
return-void
.end method
.method public offsetPositionRecordsForRemove(IIZ)V
.locals 7
add-int v0, p1, p2
.line 1
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
invoke-virtual {v1}, Landroidx/recyclerview/widget/g;->j()I
move-result v1
const/4 v2, 0x0
:goto_0
if-ge v2, v1, :cond_2
.line 2
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/g;->i(I)Landroid/view/View;
move-result-object v3
invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$a0;
move-result-object v3
if-eqz v3, :cond_1
.line 3
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$a0;->shouldIgnore()Z
move-result v4
if-nez v4, :cond_1
.line 4
iget v4, v3, Landroidx/recyclerview/widget/RecyclerView$a0;->mPosition:I
const/4 v5, 0x1
if-lt v4, v0, :cond_0
neg-int v4, p2
.line 5
invoke-virtual {v3, v4, p3}, Landroidx/recyclerview/widget/RecyclerView$a0;->offsetPosition(IZ)V
.line 6
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
iput-boolean v5, v3, Landroidx/recyclerview/widget/RecyclerView$x;->g:Z
goto :goto_1
:cond_0
if-lt v4, p1, :cond_1
add-int/lit8 v4, p1, -0x1
neg-int v6, p2
.line 7
invoke-virtual {v3, v4, v6, p3}, Landroidx/recyclerview/widget/RecyclerView$a0;->flagRemovedAndOffsetPosition(IIZ)V
.line 8
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
iput-boolean v5, v3, Landroidx/recyclerview/widget/RecyclerView$x;->g:Z
:cond_1
:goto_1
add-int/lit8 v2, v2, 0x1
goto :goto_0
.line 9
:cond_2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
invoke-virtual {v0, p1, p2, p3}, Landroidx/recyclerview/widget/RecyclerView$s;->x(IIZ)V
.line 10
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
return-void
.end method
.method public onAttachedToWindow()V
.locals 4
.line 1
invoke-super {p0}, Landroid/view/ViewGroup;->onAttachedToWindow()V
const/4 v0, 0x0
.line 2
iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I
const/4 v1, 0x1
.line 3
iput-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mIsAttached:Z
.line 4
iget-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z
if-eqz v2, :cond_0
invoke-virtual {p0}, Landroid/view/ViewGroup;->isLayoutRequested()Z
move-result v2
if-nez v2, :cond_0
goto :goto_0
:cond_0
move v1, v0
:goto_0
iput-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z
.line 5
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
if-eqz v1, :cond_1
.line 6
invoke-virtual {v1, p0}, Landroidx/recyclerview/widget/RecyclerView$m;->dispatchAttachedToWindow(Landroidx/recyclerview/widget/RecyclerView;)V
.line 7
:cond_1
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPostedAnimatorRunner:Z
.line 8
sget-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->ALLOW_THREAD_GAP_WORK:Z
if-eqz v0, :cond_4
.line 9
sget-object v0, Landroidx/recyclerview/widget/n;->e:Ljava/lang/ThreadLocal;
invoke-virtual {v0}, Ljava/lang/ThreadLocal;->get()Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroidx/recyclerview/widget/n;
iput-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/n;
if-nez v1, :cond_3
.line 10
new-instance v1, Landroidx/recyclerview/widget/n;
invoke-direct {v1}, Landroidx/recyclerview/widget/n;-><init>()V
iput-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/n;
.line 11
invoke-static {p0}, Landroidx/core/view/ViewCompat;->Q(Landroid/view/View;)Landroid/view/Display;
move-result-object v1
const/high16 v2, 0x42700000 # 60.0f
.line 12
invoke-virtual {p0}, Landroid/view/ViewGroup;->isInEditMode()Z
move-result v3
if-nez v3, :cond_2
if-eqz v1, :cond_2
.line 13
invoke-virtual {v1}, Landroid/view/Display;->getRefreshRate()F
move-result v1
const/high16 v3, 0x41f00000 # 30.0f
cmpl-float v3, v1, v3
if-ltz v3, :cond_2
move v2, v1
.line 14
:cond_2
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/n;
const v3, 0x4e6e6b28 # 1.0E9f
div-float/2addr v3, v2
float-to-long v2, v3
iput-wide v2, v1, Landroidx/recyclerview/widget/n;->c:J
.line 15
invoke-virtual {v0, v1}, Ljava/lang/ThreadLocal;->set(Ljava/lang/Object;)V
.line 16
:cond_3
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/n;
invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/n;->a(Landroidx/recyclerview/widget/RecyclerView;)V
:cond_4
return-void
.end method
.method public onChildAttachedToWindow(Landroid/view/View;)V
.locals 0
.param p1 # Landroid/view/View;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
return-void
.end method
.method public onChildDetachedFromWindow(Landroid/view/View;)V
.locals 0
.param p1 # Landroid/view/View;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
return-void
.end method
.method public onDetachedFromWindow()V
.locals 2
.line 1
invoke-super {p0}, Landroid/view/ViewGroup;->onDetachedFromWindow()V
.line 2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
if-eqz v0, :cond_0
.line 3
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->l()V
.line 4
:cond_0
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->stopScroll()V
const/4 v0, 0x0
.line 5
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mIsAttached:Z
.line 6
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
if-eqz v0, :cond_1
.line 7
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
invoke-virtual {v0, p0, v1}, Landroidx/recyclerview/widget/RecyclerView$m;->dispatchDetachedFromWindow(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$s;)V
.line 8
:cond_1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingAccessibilityImportanceChange:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->clear()V
.line 9
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimatorRunner:Ljava/lang/Runnable;
invoke-virtual {p0, v0}, Landroid/view/ViewGroup;->removeCallbacks(Ljava/lang/Runnable;)Z
.line 10
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/l0;
invoke-virtual {v0}, Landroidx/recyclerview/widget/l0;->j()V
.line 11
sget-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->ALLOW_THREAD_GAP_WORK:Z
if-eqz v0, :cond_2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/n;
if-eqz v0, :cond_2
.line 12
invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/n;->j(Landroidx/recyclerview/widget/RecyclerView;)V
const/4 v0, 0x0
.line 13
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/n;
:cond_2
return-void
.end method
.method public onDraw(Landroid/graphics/Canvas;)V
.locals 4
.line 1
invoke-super {p0, p1}, Landroid/view/ViewGroup;->onDraw(Landroid/graphics/Canvas;)V
.line 2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
move-result v0
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_0
.line 3
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
invoke-virtual {v2, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v2
check-cast v2, Landroidx/recyclerview/widget/RecyclerView$l;
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
invoke-virtual {v2, p1, p0, v3}, Landroidx/recyclerview/widget/RecyclerView$l;->onDraw(Landroid/graphics/Canvas;Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$x;)V
add-int/lit8 v1, v1, 0x1
goto :goto_0
:cond_0
return-void
.end method
.method public onEnterLayoutOrScroll()V
.locals 1
.line 1
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I
add-int/lit8 v0, v0, 0x1
iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I
return-void
.end method
.method public onExitLayoutOrScroll()V
.locals 1
const/4 v0, 0x1
.line 1
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll(Z)V
return-void
.end method
.method public onExitLayoutOrScroll(Z)V
.locals 2
.line 2
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I
const/4 v1, 0x1
sub-int/2addr v0, v1
iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I
if-ge v0, v1, :cond_0
const/4 v0, 0x0
.line 3
iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I
if-eqz p1, :cond_0
.line 4
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchContentChangedIfNecessary()V
.line 5
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchPendingImportantForAccessibilityChanges()V
:cond_0
return-void
.end method
.method public onGenericMotionEvent(Landroid/view/MotionEvent;)Z
.locals 5
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
const/4 v1, 0x0
if-nez v0, :cond_0
return v1
.line 2
:cond_0
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
if-eqz v0, :cond_1
return v1
.line 3
:cond_1
invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I
move-result v0
const/16 v2, 0x8
if-ne v0, v2, :cond_8
.line 4
invoke-virtual {p1}, Landroid/view/MotionEvent;->getSource()I
move-result v0
and-int/lit8 v0, v0, 0x2
const/4 v2, 0x0
if-eqz v0, :cond_4
.line 5
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$m;->canScrollVertically()Z
move-result v0
if-eqz v0, :cond_2
const/16 v0, 0x9
.line 6
invoke-virtual {p1, v0}, Landroid/view/MotionEvent;->getAxisValue(I)F
move-result v0
neg-float v0, v0
goto :goto_0
:cond_2
move v0, v2
.line 7
:goto_0
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$m;->canScrollHorizontally()Z
move-result v3
if-eqz v3, :cond_3
const/16 v3, 0xa
.line 8
invoke-virtual {p1, v3}, Landroid/view/MotionEvent;->getAxisValue(I)F
move-result v3
goto :goto_2
:cond_3
:goto_1
move v3, v2
goto :goto_2
.line 9
:cond_4
invoke-virtual {p1}, Landroid/view/MotionEvent;->getSource()I
move-result v0
const/high16 v3, 0x400000
and-int/2addr v0, v3
if-eqz v0, :cond_6
const/16 v0, 0x1a
.line 10
invoke-virtual {p1, v0}, Landroid/view/MotionEvent;->getAxisValue(I)F
move-result v0
.line 11
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$m;->canScrollVertically()Z
move-result v3
if-eqz v3, :cond_5
neg-float v0, v0
goto :goto_1
.line 12
:cond_5
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$m;->canScrollHorizontally()Z
move-result v3
if-eqz v3, :cond_6
move v3, v0
move v0, v2
goto :goto_2
:cond_6
move v0, v2
move v3, v0
:goto_2
cmpl-float v4, v0, v2
if-nez v4, :cond_7
cmpl-float v2, v3, v2
if-eqz v2, :cond_8
.line 13
:cond_7
iget v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mScaledHorizontalScrollFactor:F
mul-float/2addr v3, v2
float-to-int v2, v3
iget v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mScaledVerticalScrollFactor:F
mul-float/2addr v0, v3
float-to-int v0, v0
const/4 v3, 0x1
invoke-direct {p0, v2, v0, p1, v3}, Landroidx/recyclerview/widget/RecyclerView;->nestedScrollByInternal(IILandroid/view/MotionEvent;I)V
:cond_8
return v1
.end method
.method public onInterceptTouchEvent(Landroid/view/MotionEvent;)Z
.locals 8
.line 1
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
const/4 v1, 0x0
if-eqz v0, :cond_0
return v1
:cond_0
const/4 v0, 0x0
.line 2
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptingOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$p;
.line 3
invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->findInterceptingOnItemTouchListener(Landroid/view/MotionEvent;)Z
move-result v0
const/4 v2, 0x1
if-eqz v0, :cond_1
.line 4
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->cancelScroll()V
return v2
.line 5
:cond_1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
if-nez v0, :cond_2
return v1
.line 6
:cond_2
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$m;->canScrollHorizontally()Z
move-result v0
.line 7
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$m;->canScrollVertically()Z
move-result v3
.line 8
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
if-nez v4, :cond_3
.line 9
invoke-static {}, Landroid/view/VelocityTracker;->obtain()Landroid/view/VelocityTracker;
move-result-object v4
iput-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
.line 10
:cond_3
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
invoke-virtual {v4, p1}, Landroid/view/VelocityTracker;->addMovement(Landroid/view/MotionEvent;)V
.line 11
invoke-virtual {p1}, Landroid/view/MotionEvent;->getActionMasked()I
move-result v4
.line 12
invoke-virtual {p1}, Landroid/view/MotionEvent;->getActionIndex()I
move-result v5
const/4 v6, 0x2
const/high16 v7, 0x3f000000 # 0.5f
if-eqz v4, :cond_c
if-eq v4, v2, :cond_b
if-eq v4, v6, :cond_7
const/4 v0, 0x3
if-eq v4, v0, :cond_6
const/4 v0, 0x5
if-eq v4, v0, :cond_5
const/4 v0, 0x6
if-eq v4, v0, :cond_4
goto/16 :goto_1
.line 13
:cond_4
invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->onPointerUp(Landroid/view/MotionEvent;)V
goto/16 :goto_1
.line 14
:cond_5
invoke-virtual {p1, v5}, Landroid/view/MotionEvent;->getPointerId(I)I
move-result v0
iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
.line 15
invoke-virtual {p1, v5}, Landroid/view/MotionEvent;->getX(I)F
move-result v0
add-float/2addr v0, v7
float-to-int v0, v0
iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I
iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchX:I
.line 16
invoke-virtual {p1, v5}, Landroid/view/MotionEvent;->getY(I)F
move-result p1
add-float/2addr p1, v7
float-to-int p1, p1
iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I
iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchY:I
goto/16 :goto_1
.line 17
:cond_6
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->cancelScroll()V
goto/16 :goto_1
.line 18
:cond_7
iget v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
invoke-virtual {p1, v4}, Landroid/view/MotionEvent;->findPointerIndex(I)I
move-result v4
if-gez v4, :cond_8
const-string p1, "Error processing scroll; pointer index for id "
.line 19
invoke-static {p1}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p1
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v0, " not found. Did any MotionEvents get skipped?"
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
const-string v0, "RecyclerView"
invoke-static {v0, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
return v1
.line 20
:cond_8
invoke-virtual {p1, v4}, Landroid/view/MotionEvent;->getX(I)F
move-result v5
add-float/2addr v5, v7
float-to-int v5, v5
.line 21
invoke-virtual {p1, v4}, Landroid/view/MotionEvent;->getY(I)F
move-result p1
add-float/2addr p1, v7
float-to-int p1, p1
.line 22
iget v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I
if-eq v4, v2, :cond_10
.line 23
iget v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchX:I
sub-int v4, v5, v4
.line 24
iget v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchY:I
sub-int v6, p1, v6
if-eqz v0, :cond_9
.line 25
invoke-static {v4}, Ljava/lang/Math;->abs(I)I
move-result v0
iget v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I
if-le v0, v4, :cond_9
.line 26
iput v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I
move v0, v2
goto :goto_0
:cond_9
move v0, v1
:goto_0
if-eqz v3, :cond_a
.line 27
invoke-static {v6}, Ljava/lang/Math;->abs(I)I
move-result v3
iget v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I
if-le v3, v4, :cond_a
.line 28
iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I
move v0, v2
:cond_a
if-eqz v0, :cond_10
.line 29
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V
goto :goto_1
.line 30
:cond_b
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
invoke-virtual {p1}, Landroid/view/VelocityTracker;->clear()V
.line 31
invoke-virtual {p0, v1}, Landroidx/recyclerview/widget/RecyclerView;->stopNestedScroll(I)V
goto :goto_1
.line 32
:cond_c
iget-boolean v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mIgnoreMotionEventTillDown:Z
if-eqz v4, :cond_d
.line 33
iput-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mIgnoreMotionEventTillDown:Z
.line 34
:cond_d
invoke-virtual {p1, v1}, Landroid/view/MotionEvent;->getPointerId(I)I
move-result v4
iput v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
.line 35
invoke-virtual {p1}, Landroid/view/MotionEvent;->getX()F
move-result v4
add-float/2addr v4, v7
float-to-int v4, v4
iput v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I
iput v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchX:I
.line 36
invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F
move-result p1
add-float/2addr p1, v7
float-to-int p1, p1
iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I
iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchY:I
.line 37
iget p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I
if-ne p1, v6, :cond_e
.line 38
invoke-virtual {p0}, Landroid/view/ViewGroup;->getParent()Landroid/view/ViewParent;
move-result-object p1
invoke-interface {p1, v2}, Landroid/view/ViewParent;->requestDisallowInterceptTouchEvent(Z)V
.line 39
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V
.line 40
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopNestedScroll(I)V
.line 41
:cond_e
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I
aput v1, p1, v2
aput v1, p1, v1
if-eqz v3, :cond_f
or-int/lit8 v0, v0, 0x2
.line 42
:cond_f
invoke-virtual {p0, v0, v1}, Landroidx/recyclerview/widget/RecyclerView;->startNestedScroll(II)Z
.line 43
:cond_10
:goto_1
iget p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I
if-ne p1, v2, :cond_11
move v1, v2
:cond_11
return v1
.end method
.method public onLayout(ZIIII)V
.locals 0
const-string p1, "RV OnLayout"
.line 1
invoke-static {p1}, Ll1/r;->b(Ljava/lang/String;)V
.line 2
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayout()V
.line 3
invoke-static {}, Ll1/r;->d()V
const/4 p1, 0x1
.line 4
iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z
return-void
.end method
.method public onMeasure(II)V
.locals 7
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
if-nez v0, :cond_0
.line 2
invoke-virtual {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->defaultOnMeasure(II)V
return-void
.line 3
:cond_0
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$m;->isAutoMeasureEnabled()Z
move-result v0
const/4 v1, 0x1
const/4 v2, 0x0
if-eqz v0, :cond_6
.line 4
invoke-static {p1}, Landroid/view/View$MeasureSpec;->getMode(I)I
move-result v0
.line 5
invoke-static {p2}, Landroid/view/View$MeasureSpec;->getMode(I)I
move-result v3
.line 6
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
invoke-virtual {v4, v5, v6, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$m;->onMeasure(Landroidx/recyclerview/widget/RecyclerView$s;Landroidx/recyclerview/widget/RecyclerView$x;II)V
const/high16 v4, 0x40000000 # 2.0f
if-ne v0, v4, :cond_1
if-ne v3, v4, :cond_1
move v2, v1
.line 7
:cond_1
iput-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureSkippedDueToExact:Z
if-nez v2, :cond_5
.line 8
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
if-nez v0, :cond_2
goto :goto_0
.line 9
:cond_2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
iget v0, v0, Landroidx/recyclerview/widget/RecyclerView$x;->e:I
if-ne v0, v1, :cond_3
.line 10
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep1()V
.line 11
:cond_3
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$m;->setMeasureSpecs(II)V
.line 12
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$x;->j:Z
.line 13
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep2()V
.line 14
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$m;->setMeasuredDimensionFromChildren(II)V
.line 15
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$m;->shouldMeasureTwice()Z
move-result v0
if-eqz v0, :cond_4
.line 16
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
.line 17
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredWidth()I
move-result v2
invoke-static {v2, v4}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result v2
.line 18
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredHeight()I
move-result v3
invoke-static {v3, v4}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result v3
.line 19
invoke-virtual {v0, v2, v3}, Landroidx/recyclerview/widget/RecyclerView$m;->setMeasureSpecs(II)V
.line 20
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$x;->j:Z
.line 21
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep2()V
.line 22
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$m;->setMeasuredDimensionFromChildren(II)V
.line 23
:cond_4
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredWidth()I
move-result p1
iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureNonExactMeasuredWidth:I
.line 24
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredHeight()I
move-result p1
iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureNonExactMeasuredHeight:I
goto :goto_4
:cond_5
:goto_0
return-void
.line 25
:cond_6
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mHasFixedSize:Z
if-eqz v0, :cond_7
.line 26
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
invoke-virtual {v0, v1, v2, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$m;->onMeasure(Landroidx/recyclerview/widget/RecyclerView$s;Landroidx/recyclerview/widget/RecyclerView$x;II)V
return-void
.line 27
:cond_7
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterUpdateDuringMeasure:Z
if-eqz v0, :cond_9
.line 28
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
.line 29
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V
.line 30
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->processAdapterUpdatesAndSetAnimationFlags()V
.line 31
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V
.line 32
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
iget-boolean v3, v0, Landroidx/recyclerview/widget/RecyclerView$x;->l:Z
if-eqz v3, :cond_8
.line 33
iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$x;->h:Z
goto :goto_1
.line 34
:cond_8
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/a;
invoke-virtual {v0}, Landroidx/recyclerview/widget/a;->k()V
.line 35
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$x;->h:Z
.line 36
:goto_1
iput-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterUpdateDuringMeasure:Z
.line 37
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
goto :goto_2
.line 38
:cond_9
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
iget-boolean v0, v0, Landroidx/recyclerview/widget/RecyclerView$x;->l:Z
if-eqz v0, :cond_a
.line 39
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredWidth()I
move-result p1
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredHeight()I
move-result p2
invoke-virtual {p0, p1, p2}, Landroid/view/ViewGroup;->setMeasuredDimension(II)V
return-void
.line 40
:cond_a
:goto_2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
if-eqz v0, :cond_b
.line 41
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->getItemCount()I
move-result v0
iput v0, v1, Landroidx/recyclerview/widget/RecyclerView$x;->f:I
goto :goto_3
.line 42
:cond_b
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
iput v2, v0, Landroidx/recyclerview/widget/RecyclerView$x;->f:I
.line 43
:goto_3
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
.line 44
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
invoke-virtual {v0, v1, v3, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$m;->onMeasure(Landroidx/recyclerview/widget/RecyclerView$s;Landroidx/recyclerview/widget/RecyclerView$x;II)V
.line 45
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
.line 46
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
iput-boolean v2, p1, Landroidx/recyclerview/widget/RecyclerView$x;->h:Z
:goto_4
return-void
.end method
.method public onRequestFocusInDescendants(ILandroid/graphics/Rect;)Z
.locals 1
.line 1
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isComputingLayout()Z
move-result v0
if-eqz v0, :cond_0
const/4 p1, 0x0
return p1
.line 2
:cond_0
invoke-super {p0, p1, p2}, Landroid/view/ViewGroup;->onRequestFocusInDescendants(ILandroid/graphics/Rect;)Z
move-result p1
return p1
.end method
.method public onRestoreInstanceState(Landroid/os/Parcelable;)V
.locals 1
.line 1
instance-of v0, p1, Landroidx/recyclerview/widget/RecyclerView$SavedState;
if-nez v0, :cond_0
.line 2
invoke-super {p0, p1}, Landroid/view/ViewGroup;->onRestoreInstanceState(Landroid/os/Parcelable;)V
return-void
.line 3
:cond_0
check-cast p1, Landroidx/recyclerview/widget/RecyclerView$SavedState;
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingSavedState:Landroidx/recyclerview/widget/RecyclerView$SavedState;
.line 4
invoke-virtual {p1}, Landroidx/customview/view/AbsSavedState;->getSuperState()Landroid/os/Parcelable;
move-result-object p1
invoke-super {p0, p1}, Landroid/view/ViewGroup;->onRestoreInstanceState(Landroid/os/Parcelable;)V
.line 5
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
return-void
.end method
.method public onSaveInstanceState()Landroid/os/Parcelable;
.locals 2
.line 1
new-instance v0, Landroidx/recyclerview/widget/RecyclerView$SavedState;
invoke-super {p0}, Landroid/view/ViewGroup;->onSaveInstanceState()Landroid/os/Parcelable;
move-result-object v1
invoke-direct {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$SavedState;-><init>(Landroid/os/Parcelable;)V
.line 2
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingSavedState:Landroidx/recyclerview/widget/RecyclerView$SavedState;
if-eqz v1, :cond_0
.line 3
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$SavedState;->b(Landroidx/recyclerview/widget/RecyclerView$SavedState;)V
goto :goto_0
.line 4
:cond_0
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
if-eqz v1, :cond_1
.line 5
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$m;->onSaveInstanceState()Landroid/os/Parcelable;
move-result-object v1
iput-object v1, v0, Landroidx/recyclerview/widget/RecyclerView$SavedState;->a:Landroid/os/Parcelable;
goto :goto_0
:cond_1
const/4 v1, 0x0
.line 6
iput-object v1, v0, Landroidx/recyclerview/widget/RecyclerView$SavedState;->a:Landroid/os/Parcelable;
:goto_0
return-object v0
.end method
.method public onScrollStateChanged(I)V
.locals 0
return-void
.end method
.method public onScrolled(II)V
.locals 0
.param p1 # I
.annotation build Landroidx/annotation/Px;
.end annotation
.end param
.param p2 # I
.annotation build Landroidx/annotation/Px;
.end annotation
.end param
return-void
.end method
.method public onSizeChanged(IIII)V
.locals 0
.line 1
invoke-super {p0, p1, p2, p3, p4}, Landroid/view/ViewGroup;->onSizeChanged(IIII)V
if-ne p1, p3, :cond_0
if-eq p2, p4, :cond_1
.line 2
:cond_0
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->invalidateGlows()V
:cond_1
return-void
.end method
.method public onTouchEvent(Landroid/view/MotionEvent;)Z
.locals 17
move-object/from16 v6, p0
move-object/from16 v7, p1
.line 1
iget-boolean v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
const/4 v8, 0x0
if-nez v0, :cond_20
iget-boolean v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mIgnoreMotionEventTillDown:Z
if-eqz v0, :cond_0
goto/16 :goto_a
.line 2
:cond_0
invoke-direct/range {p0 .. p1}, Landroidx/recyclerview/widget/RecyclerView;->dispatchToOnItemTouchListeners(Landroid/view/MotionEvent;)Z
move-result v0
const/4 v9, 0x1
if-eqz v0, :cond_1
.line 3
invoke-direct/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->cancelScroll()V
return v9
.line 4
:cond_1
iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
if-nez v0, :cond_2
return v8
.line 5
:cond_2
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$m;->canScrollHorizontally()Z
move-result v10
.line 6
iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$m;->canScrollVertically()Z
move-result v11
.line 7
iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
if-nez v0, :cond_3
.line 8
invoke-static {}, Landroid/view/VelocityTracker;->obtain()Landroid/view/VelocityTracker;
move-result-object v0
iput-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
.line 9
:cond_3
invoke-virtual/range {p1 .. p1}, Landroid/view/MotionEvent;->getActionMasked()I
move-result v0
.line 10
invoke-virtual/range {p1 .. p1}, Landroid/view/MotionEvent;->getActionIndex()I
move-result v1
if-nez v0, :cond_4
.line 11
iget-object v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I
aput v8, v2, v9
aput v8, v2, v8
.line 12
:cond_4
invoke-static/range {p1 .. p1}, Landroid/view/MotionEvent;->obtain(Landroid/view/MotionEvent;)Landroid/view/MotionEvent;
move-result-object v12
.line 13
iget-object v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I
aget v3, v2, v8
int-to-float v3, v3
aget v2, v2, v9
int-to-float v2, v2
invoke-virtual {v12, v3, v2}, Landroid/view/MotionEvent;->offsetLocation(FF)V
const/high16 v2, 0x3f000000 # 0.5f
if-eqz v0, :cond_1c
if-eq v0, v9, :cond_16
const/4 v3, 0x2
if-eq v0, v3, :cond_8
const/4 v3, 0x3
if-eq v0, v3, :cond_7
const/4 v3, 0x5
if-eq v0, v3, :cond_6
const/4 v1, 0x6
if-eq v0, v1, :cond_5
goto/16 :goto_9
.line 14
:cond_5
invoke-direct/range {p0 .. p1}, Landroidx/recyclerview/widget/RecyclerView;->onPointerUp(Landroid/view/MotionEvent;)V
goto/16 :goto_9
.line 15
:cond_6
invoke-virtual {v7, v1}, Landroid/view/MotionEvent;->getPointerId(I)I
move-result v0
iput v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
.line 16
invoke-virtual {v7, v1}, Landroid/view/MotionEvent;->getX(I)F
move-result v0
add-float/2addr v0, v2
float-to-int v0, v0
iput v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I
iput v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchX:I
.line 17
invoke-virtual {v7, v1}, Landroid/view/MotionEvent;->getY(I)F
move-result v0
add-float/2addr v0, v2
float-to-int v0, v0
iput v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I
iput v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchY:I
goto/16 :goto_9
.line 18
:cond_7
invoke-direct/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->cancelScroll()V
goto/16 :goto_9
.line 19
:cond_8
iget v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
invoke-virtual {v7, v0}, Landroid/view/MotionEvent;->findPointerIndex(I)I
move-result v0
if-gez v0, :cond_9
const-string v0, "Error processing scroll; pointer index for id "
.line 20
invoke-static {v0}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
iget v1, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v1, " not found. Did any MotionEvents get skipped?"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
const-string v1, "RecyclerView"
invoke-static {v1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
return v8
.line 21
:cond_9
invoke-virtual {v7, v0}, Landroid/view/MotionEvent;->getX(I)F
move-result v1
add-float/2addr v1, v2
float-to-int v13, v1
.line 22
invoke-virtual {v7, v0}, Landroid/view/MotionEvent;->getY(I)F
move-result v0
add-float/2addr v0, v2
float-to-int v14, v0
.line 23
iget v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I
sub-int/2addr v0, v13
.line 24
iget v1, v6, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I
sub-int/2addr v1, v14
.line 25
iget v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I
if-eq v2, v9, :cond_e
if-eqz v10, :cond_b
if-lez v0, :cond_a
.line 26
iget v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I
sub-int/2addr v0, v2
invoke-static {v8, v0}, Ljava/lang/Math;->max(II)I
move-result v0
goto :goto_0
.line 27
:cond_a
iget v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I
add-int/2addr v0, v2
invoke-static {v8, v0}, Ljava/lang/Math;->min(II)I
move-result v0
:goto_0
if-eqz v0, :cond_b
move v2, v9
goto :goto_1
:cond_b
move v2, v8
:goto_1
if-eqz v11, :cond_d
if-lez v1, :cond_c
.line 28
iget v3, v6, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I
sub-int/2addr v1, v3
invoke-static {v8, v1}, Ljava/lang/Math;->max(II)I
move-result v1
goto :goto_2
.line 29
:cond_c
iget v3, v6, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I
add-int/2addr v1, v3
invoke-static {v8, v1}, Ljava/lang/Math;->min(II)I
move-result v1
:goto_2
if-eqz v1, :cond_d
move v2, v9
:cond_d
if-eqz v2, :cond_e
.line 30
invoke-virtual {v6, v9}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V
:cond_e
move v15, v0
move/from16 v16, v1
.line 31
iget v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I
if-ne v0, v9, :cond_1e
.line 32
iget-object v3, v6, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I
aput v8, v3, v8
.line 33
aput v8, v3, v9
if-eqz v10, :cond_f
move v1, v15
goto :goto_3
:cond_f
move v1, v8
:goto_3
if-eqz v11, :cond_10
move/from16 v2, v16
goto :goto_4
:cond_10
move v2, v8
.line 34
:goto_4
iget-object v4, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I
const/4 v5, 0x0
move-object/from16 v0, p0
.line 35
invoke-virtual/range {v0 .. v5}, Landroidx/recyclerview/widget/RecyclerView;->dispatchNestedPreScroll(II[I[II)Z
move-result v0
if-eqz v0, :cond_11
.line 36
iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I
aget v1, v0, v8
sub-int/2addr v15, v1
.line 37
aget v0, v0, v9
sub-int v16, v16, v0
.line 38
iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I
aget v1, v0, v8
iget-object v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I
aget v3, v2, v8
add-int/2addr v1, v3
aput v1, v0, v8
.line 39
aget v1, v0, v9
aget v2, v2, v9
add-int/2addr v1, v2
aput v1, v0, v9
.line 40
invoke-virtual/range {p0 .. p0}, Landroid/view/ViewGroup;->getParent()Landroid/view/ViewParent;
move-result-object v0
invoke-interface {v0, v9}, Landroid/view/ViewParent;->requestDisallowInterceptTouchEvent(Z)V
:cond_11
move/from16 v0, v16
.line 41
iget-object v1, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I
aget v2, v1, v8
sub-int/2addr v13, v2
iput v13, v6, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I
.line 42
aget v1, v1, v9
sub-int/2addr v14, v1
iput v14, v6, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I
if-eqz v10, :cond_12
move v1, v15
goto :goto_5
:cond_12
move v1, v8
:goto_5
if-eqz v11, :cond_13
move v2, v0
goto :goto_6
:cond_13
move v2, v8
.line 43
:goto_6
invoke-virtual {v6, v1, v2, v7, v8}, Landroidx/recyclerview/widget/RecyclerView;->scrollByInternal(IILandroid/view/MotionEvent;I)Z
move-result v1
if-eqz v1, :cond_14
.line 44
invoke-virtual/range {p0 .. p0}, Landroid/view/ViewGroup;->getParent()Landroid/view/ViewParent;
move-result-object v1
invoke-interface {v1, v9}, Landroid/view/ViewParent;->requestDisallowInterceptTouchEvent(Z)V
.line 45
:cond_14
iget-object v1, v6, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/n;
if-eqz v1, :cond_1e
if-nez v15, :cond_15
if-eqz v0, :cond_1e
.line 46
:cond_15
invoke-virtual {v1, v6, v15, v0}, Landroidx/recyclerview/widget/n;->f(Landroidx/recyclerview/widget/RecyclerView;II)V
goto :goto_9
.line 47
:cond_16
iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
invoke-virtual {v0, v12}, Landroid/view/VelocityTracker;->addMovement(Landroid/view/MotionEvent;)V
.line 48
iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
const/16 v1, 0x3e8
iget v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mMaxFlingVelocity:I
int-to-float v2, v2
invoke-virtual {v0, v1, v2}, Landroid/view/VelocityTracker;->computeCurrentVelocity(IF)V
const/4 v0, 0x0
if-eqz v10, :cond_17
.line 49
iget-object v1, v6, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
iget v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
invoke-virtual {v1, v2}, Landroid/view/VelocityTracker;->getXVelocity(I)F
move-result v1
neg-float v1, v1
goto :goto_7
:cond_17
move v1, v0
:goto_7
if-eqz v11, :cond_18
.line 50
iget-object v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
iget v3, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
invoke-virtual {v2, v3}, Landroid/view/VelocityTracker;->getYVelocity(I)F
move-result v2
neg-float v2, v2
goto :goto_8
:cond_18
move v2, v0
:goto_8
cmpl-float v3, v1, v0
if-nez v3, :cond_19
cmpl-float v0, v2, v0
if-eqz v0, :cond_1a
:cond_19
float-to-int v0, v1
float-to-int v1, v2
.line 51
invoke-virtual {v6, v0, v1}, Landroidx/recyclerview/widget/RecyclerView;->fling(II)Z
move-result v0
if-nez v0, :cond_1b
.line 52
:cond_1a
invoke-virtual {v6, v8}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V
.line 53
:cond_1b
invoke-direct/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->resetScroll()V
move v8, v9
goto :goto_9
.line 54
:cond_1c
invoke-virtual {v7, v8}, Landroid/view/MotionEvent;->getPointerId(I)I
move-result v0
iput v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
.line 55
invoke-virtual/range {p1 .. p1}, Landroid/view/MotionEvent;->getX()F
move-result v0
add-float/2addr v0, v2
float-to-int v0, v0
iput v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I
iput v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchX:I
.line 56
invoke-virtual/range {p1 .. p1}, Landroid/view/MotionEvent;->getY()F
move-result v0
add-float/2addr v0, v2
float-to-int v0, v0
iput v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I
iput v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchY:I
if-eqz v11, :cond_1d
or-int/lit8 v10, v10, 0x2
.line 57
:cond_1d
invoke-virtual {v6, v10, v8}, Landroidx/recyclerview/widget/RecyclerView;->startNestedScroll(II)Z
:cond_1e
:goto_9
if-nez v8, :cond_1f
.line 58
iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
invoke-virtual {v0, v12}, Landroid/view/VelocityTracker;->addMovement(Landroid/view/MotionEvent;)V
.line 59
:cond_1f
invoke-virtual {v12}, Landroid/view/MotionEvent;->recycle()V
return v9
:cond_20
:goto_a
return v8
.end method
.method public postAnimationRunner()V
.locals 1
.line 1
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPostedAnimatorRunner:Z
if-nez v0, :cond_0
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mIsAttached:Z
if-eqz v0, :cond_0
.line 2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimatorRunner:Ljava/lang/Runnable;
invoke-static {p0, v0}, Landroidx/core/view/ViewCompat;->p1(Landroid/view/View;Ljava/lang/Runnable;)V
const/4 v0, 0x1
.line 3
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPostedAnimatorRunner:Z
:cond_0
return-void
.end method
.method public processDataSetCompletelyChanged(Z)V
.locals 1
.line 1
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchItemsChangedEvent:Z
or-int/2addr p1, v0
iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchItemsChangedEvent:Z
const/4 p1, 0x1
.line 2
iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z
.line 3
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->markKnownViewsInvalid()V
return-void
.end method
.method public recordAnimationInfoIfBouncedHiddenView(Landroidx/recyclerview/widget/RecyclerView$a0;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;)V
.locals 3
const/4 v0, 0x0
const/16 v1, 0x2000
.line 1
invoke-virtual {p1, v0, v1}, Landroidx/recyclerview/widget/RecyclerView$a0;->setFlags(II)V
.line 2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
iget-boolean v0, v0, Landroidx/recyclerview/widget/RecyclerView$x;->i:Z
if-eqz v0, :cond_0
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$a0;->isUpdated()Z
move-result v0
if-eqz v0, :cond_0
.line 3
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$a0;->isRemoved()Z
move-result v0
if-nez v0, :cond_0
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$a0;->shouldIgnore()Z
move-result v0
if-nez v0, :cond_0
.line 4
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->getChangedHolderKey(Landroidx/recyclerview/widget/RecyclerView$a0;)J
move-result-wide v0
.line 5
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/l0;
invoke-virtual {v2, v0, v1, p1}, Landroidx/recyclerview/widget/l0;->c(JLandroidx/recyclerview/widget/RecyclerView$a0;)V
.line 6
:cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/l0;
invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/l0;->e(Landroidx/recyclerview/widget/RecyclerView$a0;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;)V
return-void
.end method
.method public removeAndRecycleViews()V
.locals 2
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
if-eqz v0, :cond_0
.line 2
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->l()V
.line 3
:cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
if-eqz v0, :cond_1
.line 4
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$m;->removeAndRecycleAllViews(Landroidx/recyclerview/widget/RecyclerView$s;)V
.line 5
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$m;->removeAndRecycleScrapInt(Landroidx/recyclerview/widget/RecyclerView$s;)V
.line 6
:cond_1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$s;->d()V
return-void
.end method
.method public removeAnimatingView(Landroid/view/View;)Z
.locals 2
.line 1
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
.line 2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/g;->r(Landroid/view/View;)Z
move-result v0
if-eqz v0, :cond_0
.line 3
invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$a0;
move-result-object p1
.line 4
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
invoke-virtual {v1, p1}, Landroidx/recyclerview/widget/RecyclerView$s;->K(Landroidx/recyclerview/widget/RecyclerView$a0;)V
.line 5
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
invoke-virtual {v1, p1}, Landroidx/recyclerview/widget/RecyclerView$s;->D(Landroidx/recyclerview/widget/RecyclerView$a0;)V
:cond_0
xor-int/lit8 p1, v0, 0x1
.line 6
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
return v0
.end method
.method public removeDetachedView(Landroid/view/View;Z)V
.locals 2
.line 1
invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$a0;
move-result-object v0
if-eqz v0, :cond_2
.line 2
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$a0;->isTmpDetached()Z
move-result v1
if-eqz v1, :cond_0
.line 3
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$a0;->clearTmpDetachFlag()V
goto :goto_0
.line 4
:cond_0
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$a0;->shouldIgnore()Z
move-result v1
if-eqz v1, :cond_1
goto :goto_0
.line 5
:cond_1
new-instance p1, Ljava/lang/IllegalArgumentException;
new-instance p2, Ljava/lang/StringBuilder;
invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "Called removeDetachedView with a view which is not flagged as tmp detached."
invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
.line 6
invoke-static {p0, p2}, Landroidx/recyclerview/widget/b0;->a(Landroidx/recyclerview/widget/RecyclerView;Ljava/lang/StringBuilder;)Ljava/lang/String;
move-result-object p2
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.line 7
:cond_2
:goto_0
invoke-virtual {p1}, Landroid/view/View;->clearAnimation()V
.line 8
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->dispatchChildDetached(Landroid/view/View;)V
.line 9
invoke-super {p0, p1, p2}, Landroid/view/ViewGroup;->removeDetachedView(Landroid/view/View;Z)V
return-void
.end method
.method public removeItemDecoration(Landroidx/recyclerview/widget/RecyclerView$l;)V
.locals 2
.param p1 # Landroidx/recyclerview/widget/RecyclerView$l;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
if-eqz v0, :cond_0
const-string v1, "Cannot remove item decoration during a scroll or layout"
.line 2
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$m;->assertNotInLayoutOrScroll(Ljava/lang/String;)V
.line 3
:cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
invoke-virtual {v0, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
.line 4
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
invoke-virtual {p1}, Ljava/util/ArrayList;->isEmpty()Z
move-result p1
if-eqz p1, :cond_2
.line 5
invoke-virtual {p0}, Landroid/view/ViewGroup;->getOverScrollMode()I
move-result p1
const/4 v0, 0x2
if-ne p1, v0, :cond_1
const/4 p1, 0x1
goto :goto_0
:cond_1
const/4 p1, 0x0
:goto_0
invoke-virtual {p0, p1}, Landroid/view/ViewGroup;->setWillNotDraw(Z)V
.line 6
:cond_2
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->markItemDecorInsetsDirty()V
.line 7
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
return-void
.end method
.method public removeItemDecorationAt(I)V
.locals 3
.line 1
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getItemDecorationCount()I
move-result v0
if-ltz p1, :cond_0
if-ge p1, v0, :cond_0
.line 2
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->getItemDecorationAt(I)Landroidx/recyclerview/widget/RecyclerView$l;
move-result-object p1
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->removeItemDecoration(Landroidx/recyclerview/widget/RecyclerView$l;)V
return-void
.line 3
:cond_0
new-instance v1, Ljava/lang/IndexOutOfBoundsException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string p1, " is an invalid index for size "
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {v1, p1}, Ljava/lang/IndexOutOfBoundsException;-><init>(Ljava/lang/String;)V
throw v1
.end method
.method public removeOnChildAttachStateChangeListener(Landroidx/recyclerview/widget/RecyclerView$n;)V
.locals 1
.param p1 # Landroidx/recyclerview/widget/RecyclerView$n;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List;
if-nez v0, :cond_0
return-void
.line 2
:cond_0
invoke-interface {v0, p1}, Ljava/util/List;->remove(Ljava/lang/Object;)Z
return-void
.end method
.method public removeOnItemTouchListener(Landroidx/recyclerview/widget/RecyclerView$p;)V
.locals 1
.param p1 # Landroidx/recyclerview/widget/RecyclerView$p;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList;
invoke-virtual {v0, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
.line 2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptingOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$p;
if-ne v0, p1, :cond_0
const/4 p1, 0x0
.line 3
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptingOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$p;
:cond_0
return-void
.end method
.method public removeOnScrollListener(Landroidx/recyclerview/widget/RecyclerView$q;)V
.locals 1
.param p1 # Landroidx/recyclerview/widget/RecyclerView$q;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List;
if-eqz v0, :cond_0
.line 2
invoke-interface {v0, p1}, Ljava/util/List;->remove(Ljava/lang/Object;)Z
:cond_0
return-void
.end method
.method public removeRecyclerListener(Landroidx/recyclerview/widget/RecyclerView$t;)V
.locals 1
.param p1 # Landroidx/recyclerview/widget/RecyclerView$t;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecyclerListeners:Ljava/util/List;
invoke-interface {v0, p1}, Ljava/util/List;->remove(Ljava/lang/Object;)Z
return-void
.end method
.method public repositionShadowingViews()V
.locals 7
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
invoke-virtual {v0}, Landroidx/recyclerview/widget/g;->g()I
move-result v0
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_2
.line 2
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/g;->f(I)Landroid/view/View;
move-result-object v2
.line 3
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolder(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$a0;
move-result-object v3
if-eqz v3, :cond_1
.line 4
iget-object v3, v3, Landroidx/recyclerview/widget/RecyclerView$a0;->mShadowingHolder:Landroidx/recyclerview/widget/RecyclerView$a0;
if-eqz v3, :cond_1
.line 5
iget-object v3, v3, Landroidx/recyclerview/widget/RecyclerView$a0;->itemView:Landroid/view/View;
.line 6
invoke-virtual {v2}, Landroid/view/View;->getLeft()I
move-result v4
.line 7
invoke-virtual {v2}, Landroid/view/View;->getTop()I
move-result v2
.line 8
invoke-virtual {v3}, Landroid/view/View;->getLeft()I
move-result v5
if-ne v4, v5, :cond_0
invoke-virtual {v3}, Landroid/view/View;->getTop()I
move-result v5
if-eq v2, v5, :cond_1
.line 9
:cond_0
invoke-virtual {v3}, Landroid/view/View;->getWidth()I
move-result v5
add-int/2addr v5, v4
.line 10
invoke-virtual {v3}, Landroid/view/View;->getHeight()I
move-result v6
add-int/2addr v6, v2
.line 11
invoke-virtual {v3, v4, v2, v5, v6}, Landroid/view/View;->layout(IIII)V
:cond_1
add-int/lit8 v1, v1, 0x1
goto :goto_0
:cond_2
return-void
.end method
.method public requestChildFocus(Landroid/view/View;Landroid/view/View;)V
.locals 2
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
invoke-virtual {v0, p0, v1, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$m;->onRequestChildFocus(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$x;Landroid/view/View;Landroid/view/View;)Z
move-result v0
if-nez v0, :cond_0
if-eqz p2, :cond_0
.line 2
invoke-direct {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->requestChildOnScreen(Landroid/view/View;Landroid/view/View;)V
.line 3
:cond_0
invoke-super {p0, p1, p2}, Landroid/view/ViewGroup;->requestChildFocus(Landroid/view/View;Landroid/view/View;)V
return-void
.end method
.method public requestChildRectangleOnScreen(Landroid/view/View;Landroid/graphics/Rect;Z)Z
.locals 1
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
invoke-virtual {v0, p0, p1, p2, p3}, Landroidx/recyclerview/widget/RecyclerView$m;->requestChildRectangleOnScreen(Landroidx/recyclerview/widget/RecyclerView;Landroid/view/View;Landroid/graphics/Rect;Z)Z
move-result p1
return p1
.end method
.method public requestDisallowInterceptTouchEvent(Z)V
.locals 3
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
move-result v0
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_0
.line 2
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList;
invoke-virtual {v2, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v2
check-cast v2, Landroidx/recyclerview/widget/RecyclerView$p;
.line 3
invoke-interface {v2, p1}, Landroidx/recyclerview/widget/RecyclerView$p;->e(Z)V
add-int/lit8 v1, v1, 0x1
goto :goto_0
.line 4
:cond_0
invoke-super {p0, p1}, Landroid/view/ViewGroup;->requestDisallowInterceptTouchEvent(Z)V
return-void
.end method
.method public requestLayout()V
.locals 1
.line 1
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I
if-nez v0, :cond_0
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
if-nez v0, :cond_0
.line 2
invoke-super {p0}, Landroid/view/ViewGroup;->requestLayout()V
goto :goto_0
:cond_0
const/4 v0, 0x1
.line 3
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z
:goto_0
return-void
.end method
.method public saveOldPositions()V
.locals 4
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
invoke-virtual {v0}, Landroidx/recyclerview/widget/g;->j()I
move-result v0
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_1
.line 2
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/g;->i(I)Landroid/view/View;
move-result-object v2
invoke-static {v2}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$a0;
move-result-object v2
.line 3
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$a0;->shouldIgnore()Z
move-result v3
if-nez v3, :cond_0
.line 4
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$a0;->saveOldPosition()V
:cond_0
add-int/lit8 v1, v1, 0x1
goto :goto_0
:cond_1
return-void
.end method
.method public scrollBy(II)V
.locals 3
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
if-nez v0, :cond_0
const-string p1, "RecyclerView"
const-string p2, "Cannot scroll without a LayoutManager set. Call setLayoutManager with a non-null argument."
.line 2
invoke-static {p1, p2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
return-void
.line 3
:cond_0
iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
if-eqz v1, :cond_1
return-void
.line 4
:cond_1
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$m;->canScrollHorizontally()Z
move-result v0
.line 5
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$m;->canScrollVertically()Z
move-result v1
if-nez v0, :cond_2
if-eqz v1, :cond_5
:cond_2
const/4 v2, 0x0
if-eqz v0, :cond_3
goto :goto_0
:cond_3
move p1, v2
:goto_0
if-eqz v1, :cond_4
goto :goto_1
:cond_4
move p2, v2
:goto_1
const/4 v0, 0x0
.line 6
invoke-virtual {p0, p1, p2, v0, v2}, Landroidx/recyclerview/widget/RecyclerView;->scrollByInternal(IILandroid/view/MotionEvent;I)Z
:cond_5
return-void
.end method
.method public scrollByInternal(IILandroid/view/MotionEvent;I)Z
.locals 18
move-object/from16 v8, p0
move/from16 v9, p1
move/from16 v10, p2
move-object/from16 v11, p3
.line 1
invoke-virtual/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->consumePendingUpdateOperations()V
.line 2
iget-object v0, v8, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
const/4 v12, 0x1
const/4 v13, 0x0
if-eqz v0, :cond_0
.line 3
iget-object v0, v8, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I
aput v13, v0, v13
.line 4
aput v13, v0, v12
.line 5
invoke-virtual {v8, v9, v10, v0}, Landroidx/recyclerview/widget/RecyclerView;->scrollStep(II[I)V
.line 6
iget-object v0, v8, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I
aget v1, v0, v13
.line 7
aget v0, v0, v12
sub-int v2, v9, v1
sub-int v3, v10, v0
move v14, v0
move v15, v1
move/from16 v16, v2
move/from16 v17, v3
goto :goto_0
:cond_0
move v14, v13
move v15, v14
move/from16 v16, v15
move/from16 v17, v16
.line 8
:goto_0
iget-object v0, v8, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->isEmpty()Z
move-result v0
if-nez v0, :cond_1
.line 9
invoke-virtual/range {p0 .. p0}, Landroid/view/ViewGroup;->invalidate()V
.line 10
:cond_1
iget-object v7, v8, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I
aput v13, v7, v13
.line 11
aput v13, v7, v12
.line 12
iget-object v5, v8, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I
move-object/from16 v0, p0
move v1, v15
move v2, v14
move/from16 v3, v16
move/from16 v4, v17
move/from16 v6, p4
invoke-virtual/range {v0 .. v7}, Landroidx/recyclerview/widget/RecyclerView;->dispatchNestedScroll(IIII[II[I)V
.line 13
iget-object v0, v8, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I
aget v1, v0, v13
sub-int v1, v16, v1
.line 14
aget v2, v0, v12
sub-int v2, v17, v2
.line 15
aget v3, v0, v13
if-nez v3, :cond_3
aget v0, v0, v12
if-eqz v0, :cond_2
goto :goto_1
:cond_2
move v0, v13
goto :goto_2
:cond_3
:goto_1
move v0, v12
.line 16
:goto_2
iget v3, v8, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I
iget-object v4, v8, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I
aget v5, v4, v13
sub-int/2addr v3, v5
iput v3, v8, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I
.line 17
iget v3, v8, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I
aget v5, v4, v12
sub-int/2addr v3, v5
iput v3, v8, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I
.line 18
iget-object v3, v8, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I
aget v5, v3, v13
aget v6, v4, v13
add-int/2addr v5, v6
aput v5, v3, v13
.line 19
aget v5, v3, v12
aget v4, v4, v12
add-int/2addr v5, v4
aput v5, v3, v12
.line 20
invoke-virtual/range {p0 .. p0}, Landroid/view/ViewGroup;->getOverScrollMode()I
move-result v3
const/4 v4, 0x2
if-eq v3, v4, :cond_5
if-eqz v11, :cond_4
const/16 v3, 0x2002
.line 21
invoke-static {v11, v3}, Ls1/v;->l(Landroid/view/MotionEvent;I)Z
move-result v3
if-nez v3, :cond_4
.line 22
invoke-virtual/range {p3 .. p3}, Landroid/view/MotionEvent;->getX()F
move-result v3
int-to-float v1, v1
invoke-virtual/range {p3 .. p3}, Landroid/view/MotionEvent;->getY()F
move-result v4
int-to-float v2, v2
invoke-direct {v8, v3, v1, v4, v2}, Landroidx/recyclerview/widget/RecyclerView;->pullGlows(FFFF)V
.line 23
:cond_4
invoke-virtual/range {p0 .. p2}, Landroidx/recyclerview/widget/RecyclerView;->considerReleasingGlowsOnScroll(II)V
:cond_5
if-nez v15, :cond_6
if-eqz v14, :cond_7
.line 24
:cond_6
invoke-virtual {v8, v15, v14}, Landroidx/recyclerview/widget/RecyclerView;->dispatchOnScrolled(II)V
.line 25
:cond_7
invoke-virtual/range {p0 .. p0}, Landroid/view/ViewGroup;->awakenScrollBars()Z
move-result v1
if-nez v1, :cond_8
.line 26
invoke-virtual/range {p0 .. p0}, Landroid/view/ViewGroup;->invalidate()V
:cond_8
if-nez v0, :cond_a
if-nez v15, :cond_a
if-eqz v14, :cond_9
goto :goto_3
:cond_9
move v12, v13
:cond_a
:goto_3
return v12
.end method
.method public scrollStep(II[I)V
.locals 4
.param p3 # [I
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.line 1
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
.line 2
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V
const-string v0, "RV Scroll"
.line 3
invoke-static {v0}, Ll1/r;->b(Ljava/lang/String;)V
.line 4
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->fillRemainingScrollValues(Landroidx/recyclerview/widget/RecyclerView$x;)V
const/4 v0, 0x0
if-eqz p1, :cond_0
.line 5
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
invoke-virtual {v1, p1, v2, v3}, Landroidx/recyclerview/widget/RecyclerView$m;->scrollHorizontallyBy(ILandroidx/recyclerview/widget/RecyclerView$s;Landroidx/recyclerview/widget/RecyclerView$x;)I
move-result p1
goto :goto_0
:cond_0
move p1, v0
:goto_0
if-eqz p2, :cond_1
.line 6
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
invoke-virtual {v1, p2, v2, v3}, Landroidx/recyclerview/widget/RecyclerView$m;->scrollVerticallyBy(ILandroidx/recyclerview/widget/RecyclerView$s;Landroidx/recyclerview/widget/RecyclerView$x;)I
move-result p2
goto :goto_1
:cond_1
move p2, v0
.line 7
:goto_1
invoke-static {}, Ll1/r;->d()V
.line 8
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->repositionShadowingViews()V
.line 9
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V
.line 10
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
if-eqz p3, :cond_2
.line 11
aput p1, p3, v0
const/4 p1, 0x1
.line 12
aput p2, p3, p1
:cond_2
return-void
.end method
.method public scrollTo(II)V
.locals 0
const-string p1, "RecyclerView"
const-string p2, "RecyclerView does not support scrolling to an absolute position. Use scrollToPosition instead"
.line 1
invoke-static {p1, p2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
return-void
.end method
.method public scrollToPosition(I)V
.locals 1
.line 1
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
if-eqz v0, :cond_0
return-void
.line 2
:cond_0
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->stopScroll()V
.line 3
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
if-nez v0, :cond_1
const-string p1, "RecyclerView"
const-string v0, "Cannot scroll to position a LayoutManager set. Call setLayoutManager with a non-null argument."
.line 4
invoke-static {p1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
return-void
.line 5
:cond_1
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$m;->scrollToPosition(I)V
.line 6
invoke-virtual {p0}, Landroid/view/ViewGroup;->awakenScrollBars()Z
return-void
.end method
.method public sendAccessibilityEventUnchecked(Landroid/view/accessibility/AccessibilityEvent;)V
.locals 1
.line 1
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->shouldDeferAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)Z
move-result v0
if-eqz v0, :cond_0
return-void
.line 2
:cond_0
invoke-super {p0, p1}, Landroid/view/ViewGroup;->sendAccessibilityEventUnchecked(Landroid/view/accessibility/AccessibilityEvent;)V
return-void
.end method
.method public setAccessibilityDelegateCompat(Landroidx/recyclerview/widget/c0;)V
.locals 0
.param p1 # Landroidx/recyclerview/widget/c0;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.line 1
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAccessibilityDelegate:Landroidx/recyclerview/widget/c0;
.line 2
invoke-static {p0, p1}, Landroidx/core/view/ViewCompat;->B1(Landroid/view/View;Landroidx/core/view/a;)V
return-void
.end method
.method public setAdapter(Landroidx/recyclerview/widget/RecyclerView$Adapter;)V
.locals 2
.param p1 # Landroidx/recyclerview/widget/RecyclerView$Adapter;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
const/4 v0, 0x0
.line 1
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setLayoutFrozen(Z)V
const/4 v1, 0x1
.line 2
invoke-direct {p0, p1, v0, v1}, Landroidx/recyclerview/widget/RecyclerView;->setAdapterInternal(Landroidx/recyclerview/widget/RecyclerView$Adapter;ZZ)V
.line 3
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->processDataSetCompletelyChanged(Z)V
.line 4
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
return-void
.end method
.method public setChildDrawingOrderCallback(Landroidx/recyclerview/widget/RecyclerView$j;)V
.locals 1
.param p1 # Landroidx/recyclerview/widget/RecyclerView$j;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildDrawingOrderCallback:Landroidx/recyclerview/widget/RecyclerView$j;
if-ne p1, v0, :cond_0
return-void
.line 2
:cond_0
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildDrawingOrderCallback:Landroidx/recyclerview/widget/RecyclerView$j;
if-eqz p1, :cond_1
const/4 p1, 0x1
goto :goto_0
:cond_1
const/4 p1, 0x0
.line 3
:goto_0
invoke-virtual {p0, p1}, Landroid/view/ViewGroup;->setChildrenDrawingOrderEnabled(Z)V
return-void
.end method
.method public setChildImportantForAccessibilityInternal(Landroidx/recyclerview/widget/RecyclerView$a0;I)Z
.locals 1
.annotation build Landroidx/annotation/VisibleForTesting;
.end annotation
.line 1
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isComputingLayout()Z
move-result v0
if-eqz v0, :cond_0
.line 2
iput p2, p1, Landroidx/recyclerview/widget/RecyclerView$a0;->mPendingAccessibilityState:I
.line 3
iget-object p2, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingAccessibilityImportanceChange:Ljava/util/List;
invoke-interface {p2, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
const/4 p1, 0x0
return p1
.line 4
:cond_0
iget-object p1, p1, Landroidx/recyclerview/widget/RecyclerView$a0;->itemView:Landroid/view/View;
invoke-static {p1, p2}, Landroidx/core/view/ViewCompat;->R1(Landroid/view/View;I)V
const/4 p1, 0x1
return p1
.end method
.method public setClipToPadding(Z)V
.locals 1
.line 1
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
if-eq p1, v0, :cond_0
.line 2
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->invalidateGlows()V
.line 3
:cond_0
iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
.line 4
invoke-super {p0, p1}, Landroid/view/ViewGroup;->setClipToPadding(Z)V
.line 5
iget-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z
if-eqz p1, :cond_1
.line 6
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
:cond_1
return-void
.end method
.method public setEdgeEffectFactory(Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;)V
.locals 0
.param p1 # Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.line 1
invoke-static {p1}, Lr1/o;->k(Ljava/lang/Object;)Ljava/lang/Object;
.line 2
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;
.line 3
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->invalidateGlows()V
return-void
.end method
.method public setHasFixedSize(Z)V
.locals 0
.line 1
iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mHasFixedSize:Z
return-void
.end method
.method public setItemAnimator(Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;)V
.locals 2
.param p1 # Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
if-eqz v0, :cond_0
.line 2
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->l()V
.line 3
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
const/4 v1, 0x0
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->A(Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$b;)V
.line 4
:cond_0
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
if-eqz p1, :cond_1
.line 5
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimatorListener:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$b;
invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->A(Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$b;)V
:cond_1
return-void
.end method
.method public setItemViewCacheSize(I)V
.locals 1
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$s;->H(I)V
return-void
.end method
.method public setLayoutFrozen(Z)V
.locals 0
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.line 1
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->suppressLayout(Z)V
return-void
.end method
.method public setLayoutManager(Landroidx/recyclerview/widget/RecyclerView$m;)V
.locals 3
.param p1 # Landroidx/recyclerview/widget/RecyclerView$m;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
if-ne p1, v0, :cond_0
return-void
.line 2
:cond_0
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->stopScroll()V
.line 3
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
if-eqz v0, :cond_3
.line 4
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
if-eqz v0, :cond_1
.line 5
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->l()V
.line 6
:cond_1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$m;->removeAndRecycleAllViews(Landroidx/recyclerview/widget/RecyclerView$s;)V
.line 7
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$m;->removeAndRecycleScrapInt(Landroidx/recyclerview/widget/RecyclerView$s;)V
.line 8
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$s;->d()V
.line 9
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mIsAttached:Z
if-eqz v0, :cond_2
.line 10
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
invoke-virtual {v0, p0, v1}, Landroidx/recyclerview/widget/RecyclerView$m;->dispatchDetachedFromWindow(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$s;)V
.line 11
:cond_2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
const/4 v1, 0x0
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$m;->setRecyclerView(Landroidx/recyclerview/widget/RecyclerView;)V
.line 12
iput-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
goto :goto_0
.line 13
:cond_3
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$s;->d()V
.line 14
:goto_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
invoke-virtual {v0}, Landroidx/recyclerview/widget/g;->o()V
.line 15
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
if-eqz p1, :cond_5
.line 16
iget-object v0, p1, Landroidx/recyclerview/widget/RecyclerView$m;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
if-nez v0, :cond_4
.line 17
invoke-virtual {p1, p0}, Landroidx/recyclerview/widget/RecyclerView$m;->setRecyclerView(Landroidx/recyclerview/widget/RecyclerView;)V
.line 18
iget-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mIsAttached:Z
if-eqz p1, :cond_5
.line 19
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
invoke-virtual {p1, p0}, Landroidx/recyclerview/widget/RecyclerView$m;->dispatchAttachedToWindow(Landroidx/recyclerview/widget/RecyclerView;)V
goto :goto_1
.line 20
:cond_4
new-instance v0, Ljava/lang/IllegalArgumentException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "LayoutManager "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v2, " is already attached to a RecyclerView:"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object p1, p1, Landroidx/recyclerview/widget/RecyclerView$m;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
.line 21
invoke-static {p1, v1}, Landroidx/recyclerview/widget/b0;->a(Landroidx/recyclerview/widget/RecyclerView;Ljava/lang/StringBuilder;)Ljava/lang/String;
move-result-object p1
invoke-direct {v0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.line 22
:cond_5
:goto_1
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$s;->L()V
.line 23
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
return-void
.end method
.method public setLayoutTransition(Landroid/animation/LayoutTransition;)V
.locals 1
.annotation runtime Ljava/lang/Deprecated;
.end annotation
if-nez p1, :cond_0
const/4 p1, 0x0
.line 1
invoke-super {p0, p1}, Landroid/view/ViewGroup;->setLayoutTransition(Landroid/animation/LayoutTransition;)V
return-void
.line 2
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string v0, "Providing a LayoutTransition into RecyclerView is not supported. Please use setItemAnimator() instead for animating changes to the items in this RecyclerView"
invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public setNestedScrollingEnabled(Z)V
.locals 1
.line 1
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Ls1/z;
move-result-object v0
invoke-virtual {v0, p1}, Ls1/z;->p(Z)V
return-void
.end method
.method public setOnFlingListener(Landroidx/recyclerview/widget/RecyclerView$o;)V
.locals 0
.param p1 # Landroidx/recyclerview/widget/RecyclerView$o;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.line 1
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnFlingListener:Landroidx/recyclerview/widget/RecyclerView$o;
return-void
.end method
.method public setOnScrollListener(Landroidx/recyclerview/widget/RecyclerView$q;)V
.locals 0
.param p1 # Landroidx/recyclerview/widget/RecyclerView$q;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.line 1
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListener:Landroidx/recyclerview/widget/RecyclerView$q;
return-void
.end method
.method public setPreserveFocusAfterLayout(Z)V
.locals 0
.line 1
iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mPreserveFocusAfterLayout:Z
return-void
.end method
.method public setRecycledViewPool(Landroidx/recyclerview/widget/RecyclerView$r;)V
.locals 1
.param p1 # Landroidx/recyclerview/widget/RecyclerView$r;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$s;->F(Landroidx/recyclerview/widget/RecyclerView$r;)V
return-void
.end method
.method public setRecyclerListener(Landroidx/recyclerview/widget/RecyclerView$t;)V
.locals 0
.param p1 # Landroidx/recyclerview/widget/RecyclerView$t;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.line 1
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecyclerListener:Landroidx/recyclerview/widget/RecyclerView$t;
return-void
.end method
.method setScrollState(I)V
.locals 1
.line 1
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I
if-ne p1, v0, :cond_0
return-void
.line 2
:cond_0
iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I
const/4 v0, 0x2
if-eq p1, v0, :cond_1
.line 3
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->stopScrollersInternal()V
.line 4
:cond_1
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->dispatchOnScrollStateChanged(I)V
return-void
.end method
.method public setScrollingTouchSlop(I)V
.locals 3
.line 1
invoke-virtual {p0}, Landroid/view/ViewGroup;->getContext()Landroid/content/Context;
move-result-object v0
invoke-static {v0}, Landroid/view/ViewConfiguration;->get(Landroid/content/Context;)Landroid/view/ViewConfiguration;
move-result-object v0
if-eqz p1, :cond_1
const/4 v1, 0x1
if-eq p1, v1, :cond_0
.line 2
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "setScrollingTouchSlop(): bad argument constant "
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;
const-string p1, "; using default value"
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
const-string v1, "RecyclerView"
invoke-static {v1, p1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
goto :goto_0
.line 3
:cond_0
invoke-virtual {v0}, Landroid/view/ViewConfiguration;->getScaledPagingTouchSlop()I
move-result p1
iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I
goto :goto_1
.line 4
:cond_1
:goto_0
invoke-virtual {v0}, Landroid/view/ViewConfiguration;->getScaledTouchSlop()I
move-result p1
iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I
:goto_1
return-void
.end method
.method public setViewCacheExtension(Landroidx/recyclerview/widget/RecyclerView$y;)V
.locals 1
.param p1 # Landroidx/recyclerview/widget/RecyclerView$y;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$s;->G(Landroidx/recyclerview/widget/RecyclerView$y;)V
return-void
.end method
.method public shouldDeferAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)Z
.locals 2
.line 1
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isComputingLayout()Z
move-result v0
const/4 v1, 0x0
if-eqz v0, :cond_2
if-eqz p1, :cond_0
.line 2
invoke-static {p1}, Landroidx/core/view/accessibility/AccessibilityEventCompat;->d(Landroid/view/accessibility/AccessibilityEvent;)I
move-result p1
goto :goto_0
:cond_0
move p1, v1
:goto_0
if-nez p1, :cond_1
goto :goto_1
:cond_1
move v1, p1
.line 3
:goto_1
iget p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mEatenAccessibilityChangeFlags:I
or-int/2addr p1, v1
iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mEatenAccessibilityChangeFlags:I
const/4 p1, 0x1
return p1
:cond_2
return v1
.end method
.method public smoothScrollBy(II)V
.locals 1
.param p1 # I
.annotation build Landroidx/annotation/Px;
.end annotation
.end param
.param p2 # I
.annotation build Landroidx/annotation/Px;
.end annotation
.end param
const/4 v0, 0x0
.line 1
invoke-virtual {p0, p1, p2, v0}, Landroidx/recyclerview/widget/RecyclerView;->smoothScrollBy(IILandroid/view/animation/Interpolator;)V
return-void
.end method
.method public smoothScrollBy(IILandroid/view/animation/Interpolator;)V
.locals 1
.param p1 # I
.annotation build Landroidx/annotation/Px;
.end annotation
.end param
.param p2 # I
.annotation build Landroidx/annotation/Px;
.end annotation
.end param
.param p3 # Landroid/view/animation/Interpolator;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
const/high16 v0, -0x80000000
.line 2
invoke-virtual {p0, p1, p2, p3, v0}, Landroidx/recyclerview/widget/RecyclerView;->smoothScrollBy(IILandroid/view/animation/Interpolator;I)V
return-void
.end method
.method public smoothScrollBy(IILandroid/view/animation/Interpolator;I)V
.locals 6
.param p1 # I
.annotation build Landroidx/annotation/Px;
.end annotation
.end param
.param p2 # I
.annotation build Landroidx/annotation/Px;
.end annotation
.end param
.param p3 # Landroid/view/animation/Interpolator;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
const/4 v5, 0x0
move-object v0, p0
move v1, p1
move v2, p2
move-object v3, p3
move v4, p4
.line 3
invoke-virtual/range {v0 .. v5}, Landroidx/recyclerview/widget/RecyclerView;->smoothScrollBy(IILandroid/view/animation/Interpolator;IZ)V
return-void
.end method
.method public smoothScrollBy(IILandroid/view/animation/Interpolator;IZ)V
.locals 3
.param p1 # I
.annotation build Landroidx/annotation/Px;
.end annotation
.end param
.param p2 # I
.annotation build Landroidx/annotation/Px;
.end annotation
.end param
.param p3 # Landroid/view/animation/Interpolator;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.line 4
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
if-nez v0, :cond_0
const-string p1, "RecyclerView"
const-string p2, "Cannot smooth scroll without a LayoutManager set. Call setLayoutManager with a non-null argument."
.line 5
invoke-static {p1, p2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
return-void
.line 6
:cond_0
iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
if-eqz v1, :cond_1
return-void
.line 7
:cond_1
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$m;->canScrollHorizontally()Z
move-result v0
const/4 v1, 0x0
if-nez v0, :cond_2
move p1, v1
.line 8
:cond_2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$m;->canScrollVertically()Z
move-result v0
if-nez v0, :cond_3
move p2, v1
:cond_3
if-nez p1, :cond_4
if-eqz p2, :cond_b
:cond_4
const/high16 v0, -0x80000000
const/4 v2, 0x1
if-eq p4, v0, :cond_6
if-lez p4, :cond_5
goto :goto_0
:cond_5
move v0, v1
goto :goto_1
:cond_6
:goto_0
move v0, v2
:goto_1
if-eqz v0, :cond_a
if-eqz p5, :cond_9
if-eqz p1, :cond_7
move v1, v2
:cond_7
if-eqz p2, :cond_8
or-int/lit8 v1, v1, 0x2
.line 9
:cond_8
invoke-virtual {p0, v1, v2}, Landroidx/recyclerview/widget/RecyclerView;->startNestedScroll(II)Z
.line 10
:cond_9
iget-object p5, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$z;
invoke-virtual {p5, p1, p2, p4, p3}, Landroidx/recyclerview/widget/RecyclerView$z;->e(IIILandroid/view/animation/Interpolator;)V
goto :goto_2
.line 11
:cond_a
invoke-virtual {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->scrollBy(II)V
:cond_b
:goto_2
return-void
.end method
.method public smoothScrollToPosition(I)V
.locals 2
.line 1
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
if-eqz v0, :cond_0
return-void
.line 2
:cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
if-nez v0, :cond_1
const-string p1, "RecyclerView"
const-string v0, "Cannot smooth scroll without a LayoutManager set. Call setLayoutManager with a non-null argument."
.line 3
invoke-static {p1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
return-void
.line 4
:cond_1
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
invoke-virtual {v0, p0, v1, p1}, Landroidx/recyclerview/widget/RecyclerView$m;->smoothScrollToPosition(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$x;I)V
return-void
.end method
.method public startInterceptRequestLayout()V
.locals 2
.line 1
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I
const/4 v1, 0x1
add-int/2addr v0, v1
iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I
if-ne v0, v1, :cond_0
.line 2
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
if-nez v0, :cond_0
const/4 v0, 0x0
.line 3
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z
:cond_0
return-void
.end method
.method public startNestedScroll(I)Z
.locals 1
.line 1
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Ls1/z;
move-result-object v0
invoke-virtual {v0, p1}, Ls1/z;->r(I)Z
move-result p1
return p1
.end method
.method public startNestedScroll(II)Z
.locals 1
.line 2
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Ls1/z;
move-result-object v0
invoke-virtual {v0, p1, p2}, Ls1/z;->s(II)Z
move-result p1
return p1
.end method
.method public stopInterceptRequestLayout(Z)V
.locals 3
.line 1
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I
const/4 v1, 0x1
if-ge v0, v1, :cond_0
.line 2
iput v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I
:cond_0
const/4 v0, 0x0
if-nez p1, :cond_1
.line 3
iget-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
if-nez v2, :cond_1
.line 4
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z
.line 5
:cond_1
iget v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I
if-ne v2, v1, :cond_3
if-eqz p1, :cond_2
.line 6
iget-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z
if-eqz p1, :cond_2
iget-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
if-nez p1, :cond_2
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
if-eqz p1, :cond_2
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
if-eqz p1, :cond_2
.line 7
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayout()V
.line 8
:cond_2
iget-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
if-nez p1, :cond_3
.line 9
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z
.line 10
:cond_3
iget p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I
sub-int/2addr p1, v1
iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I
return-void
.end method
.method public stopNestedScroll()V
.locals 1
.line 1
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Ls1/z;
move-result-object v0
invoke-virtual {v0}, Ls1/z;->t()V
return-void
.end method
.method public stopNestedScroll(I)V
.locals 1
.line 2
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Ls1/z;
move-result-object v0
invoke-virtual {v0, p1}, Ls1/z;->u(I)V
return-void
.end method
.method public stopScroll()V
.locals 1
const/4 v0, 0x0
.line 1
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V
.line 2
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->stopScrollersInternal()V
return-void
.end method
.method public final suppressLayout(Z)V
.locals 9
.line 1
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
if-eq p1, v0, :cond_2
const-string v0, "Do not suppressLayout in layout or scroll"
.line 2
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->assertNotInLayoutOrScroll(Ljava/lang/String;)V
if-nez p1, :cond_1
const/4 p1, 0x0
.line 3
iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
.line 4
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z
if-eqz v0, :cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
if-eqz v0, :cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
if-eqz v0, :cond_0
.line 5
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
.line 6
:cond_0
iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z
goto :goto_0
.line 7
:cond_1
invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
move-result-wide v3
const/4 v5, 0x3
const/4 v6, 0x0
const/4 v7, 0x0
const/4 v8, 0x0
move-wide v1, v3
.line 8
invoke-static/range {v1 .. v8}, Landroid/view/MotionEvent;->obtain(JJIFFI)Landroid/view/MotionEvent;
move-result-object p1
.line 9
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->onTouchEvent(Landroid/view/MotionEvent;)Z
const/4 p1, 0x1
.line 10
iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
.line 11
iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mIgnoreMotionEventTillDown:Z
.line 12
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->stopScroll()V
:cond_2
:goto_0
return-void
.end method
.method public swapAdapter(Landroidx/recyclerview/widget/RecyclerView$Adapter;Z)V
.locals 1
.param p1 # Landroidx/recyclerview/widget/RecyclerView$Adapter;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
const/4 v0, 0x0
.line 1
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setLayoutFrozen(Z)V
const/4 v0, 0x1
.line 2
invoke-direct {p0, p1, v0, p2}, Landroidx/recyclerview/widget/RecyclerView;->setAdapterInternal(Landroidx/recyclerview/widget/RecyclerView$Adapter;ZZ)V
.line 3
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->processDataSetCompletelyChanged(Z)V
.line 4
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
return-void
.end method
.method public viewRangeUpdate(IILjava/lang/Object;)V
.locals 6
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
invoke-virtual {v0}, Landroidx/recyclerview/widget/g;->j()I
move-result v0
add-int v1, p1, p2
const/4 v2, 0x0
:goto_0
if-ge v2, v0, :cond_2
.line 2
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/g;->i(I)Landroid/view/View;
move-result-object v3
.line 3
invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$a0;
move-result-object v4
if-eqz v4, :cond_1
.line 4
invoke-virtual {v4}, Landroidx/recyclerview/widget/RecyclerView$a0;->shouldIgnore()Z
move-result v5
if-eqz v5, :cond_0
goto :goto_1
.line 5
:cond_0
iget v5, v4, Landroidx/recyclerview/widget/RecyclerView$a0;->mPosition:I
if-lt v5, p1, :cond_1
if-ge v5, v1, :cond_1
const/4 v5, 0x2
.line 6
invoke-virtual {v4, v5}, Landroidx/recyclerview/widget/RecyclerView$a0;->addFlags(I)V
.line 7
invoke-virtual {v4, p3}, Landroidx/recyclerview/widget/RecyclerView$a0;->addChangePayload(Ljava/lang/Object;)V
.line 8
invoke-virtual {v3}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
move-result-object v3
check-cast v3, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
const/4 v4, 0x1
iput-boolean v4, v3, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->c:Z
:cond_1
:goto_1
add-int/lit8 v2, v2, 0x1
goto :goto_0
.line 9
:cond_2
iget-object p3, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
invoke-virtual {p3, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$s;->N(II)V
return-void
.end method