Files
ctf/2024/insomnihack/mobile/Notes/smali/androidx/recyclerview/widget/RecyclerView.smali
2025-06-06 03:13:31 +02:00

14061 lines
381 KiB
Smali

.class public Landroidx/recyclerview/widget/RecyclerView;
.super Landroid/view/ViewGroup;
.source "RecyclerView.java"
# interfaces
.implements Landroidx/core/view/ScrollingView;
.implements Landroidx/core/view/NestedScrollingChild2;
.implements Landroidx/core/view/NestedScrollingChild3;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback;,
Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;,
Landroidx/recyclerview/widget/RecyclerView$ItemAnimatorRestoreListener;,
Landroidx/recyclerview/widget/RecyclerView$OnFlingListener;,
Landroidx/recyclerview/widget/RecyclerView$State;,
Landroidx/recyclerview/widget/RecyclerView$SavedState;,
Landroidx/recyclerview/widget/RecyclerView$AdapterDataObservable;,
Landroidx/recyclerview/widget/RecyclerView$SmoothScroller;,
Landroidx/recyclerview/widget/RecyclerView$AdapterDataObserver;,
Landroidx/recyclerview/widget/RecyclerView$LayoutParams;,
Landroidx/recyclerview/widget/RecyclerView$ViewHolder;,
Landroidx/recyclerview/widget/RecyclerView$OnChildAttachStateChangeListener;,
Landroidx/recyclerview/widget/RecyclerView$RecyclerListener;,
Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;,
Landroidx/recyclerview/widget/RecyclerView$SimpleOnItemTouchListener;,
Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;,
Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;,
Landroidx/recyclerview/widget/RecyclerView$LayoutManager;,
Landroidx/recyclerview/widget/RecyclerView$Adapter;,
Landroidx/recyclerview/widget/RecyclerView$ViewCacheExtension;,
Landroidx/recyclerview/widget/RecyclerView$Recycler;,
Landroidx/recyclerview/widget/RecyclerView$RecycledViewPool;,
Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;,
Landroidx/recyclerview/widget/RecyclerView$RecyclerViewDataObserver;,
Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;,
Landroidx/recyclerview/widget/RecyclerView$Orientation;
}
.end annotation
# static fields
.field static final ALLOW_SIZE_IN_UNSPECIFIED_SPEC:Z
.field static final ALLOW_THREAD_GAP_WORK:Z
.field static final DEBUG:Z = false
.field static final DEFAULT_ORIENTATION:I = 0x1
.field static final DISPATCH_TEMP_DETACH:Z = false
.field private static final FORCE_ABS_FOCUS_SEARCH_DIRECTION:Z
.field static final FORCE_INVALIDATE_DISPLAY_LIST:Z
.field 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 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 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 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 static final TRACE_BIND_VIEW_TAG:Ljava/lang/String; = "RV OnBindView"
.field 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 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 static final TRACE_PREFETCH_TAG:Ljava/lang/String; = "RV Prefetch"
.field static final TRACE_SCROLL_TAG:Ljava/lang/String; = "RV Scroll"
.field public static final UNDEFINED_DURATION:I = -0x80000000
.field static final VERBOSE_TRACING:Z = false
.field public static final VERTICAL:I = 0x1
.field static final sQuinticInterpolator:Landroid/view/animation/Interpolator;
# instance fields
.field mAccessibilityDelegate:Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate;
.field private final mAccessibilityManager:Landroid/view/accessibility/AccessibilityManager;
.field mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
.field mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
.field mAdapterUpdateDuringMeasure:Z
.field private mBottomGlow:Landroid/widget/EdgeEffect;
.field private mChildDrawingOrderCallback:Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback;
.field mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
.field mClipToPadding:Z
.field mDataSetHasChangedAfterLayout:Z
.field mDispatchItemsChangedEvent:Z
.field private mDispatchScrollCounter:I
.field private mEatenAccessibilityChangeFlags:I
.field private mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;
.field mEnableFastScroller:Z
.field mFirstLayoutComplete:Z
.field mGapWorker:Landroidx/recyclerview/widget/GapWorker;
.field 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$OnItemTouchListener;
.field mIsAttached:Z
.field mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
.field private mItemAnimatorListener:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemAnimatorListener;
.field private mItemAnimatorRunner:Ljava/lang/Runnable;
.field final mItemDecorations:Ljava/util/ArrayList;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/ArrayList<",
"Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;",
">;"
}
.end annotation
.end field
.field mItemsAddedOrRemoved:Z
.field mItemsChanged:Z
.field private mLastTouchX:I
.field private mLastTouchY:I
.field mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
.field private mLayoutOrScrollCounter:I
.field mLayoutSuppressed:Z
.field 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$RecyclerViewDataObserver;
.field private mOnChildAttachStateListeners:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Landroidx/recyclerview/widget/RecyclerView$OnChildAttachStateChangeListener;",
">;"
}
.end annotation
.end field
.field private mOnFlingListener:Landroidx/recyclerview/widget/RecyclerView$OnFlingListener;
.field private final mOnItemTouchListeners:Ljava/util/ArrayList;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/ArrayList<",
"Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;",
">;"
}
.end annotation
.end field
.field final mPendingAccessibilityImportanceChange:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Landroidx/recyclerview/widget/RecyclerView$ViewHolder;",
">;"
}
.end annotation
.end field
.field private mPendingSavedState:Landroidx/recyclerview/widget/RecyclerView$SavedState;
.field mPostedAnimatorRunner:Z
.field mPrefetchRegistry:Landroidx/recyclerview/widget/GapWorker$LayoutPrefetchRegistryImpl;
.field private mPreserveFocusAfterLayout:Z
.field final mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
.field mRecyclerListener:Landroidx/recyclerview/widget/RecyclerView$RecyclerListener;
.field final mReusableIntPair:[I
.field private mRightGlow:Landroid/widget/EdgeEffect;
.field private mScaledHorizontalScrollFactor:F
.field private mScaledVerticalScrollFactor:F
.field private mScrollListener:Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;
.field private mScrollListeners:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;",
">;"
}
.end annotation
.end field
.field private final mScrollOffset:[I
.field private mScrollPointerId:I
.field private mScrollState:I
.field private mScrollingChildHelper:Landroidx/core/view/NestedScrollingChildHelper;
.field final mState:Landroidx/recyclerview/widget/RecyclerView$State;
.field final mTempRect:Landroid/graphics/Rect;
.field private final mTempRect2:Landroid/graphics/Rect;
.field final mTempRectF:Landroid/graphics/RectF;
.field private mTopGlow:Landroid/widget/EdgeEffect;
.field private mTouchSlop:I
.field final mUpdateChildViewsRunnable:Ljava/lang/Runnable;
.field private mVelocityTracker:Landroid/view/VelocityTracker;
.field final mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;
.field private final mViewInfoProcessCallback:Landroidx/recyclerview/widget/ViewInfoStore$ProcessCallback;
.field final mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
# direct methods
.method static constructor <clinit>()V
.locals 4
const v0, 0x1010436
.line 219
filled-new-array {v0}, [I
move-result-object v0
sput-object v0, Landroidx/recyclerview/widget/RecyclerView;->NESTED_SCROLLING_ATTRS:[I
const/4 v0, 0x0
.line 229
sput-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->FORCE_INVALIDATE_DISPLAY_LIST:Z
const/4 v1, 0x1
.line 236
sput-boolean v1, Landroidx/recyclerview/widget/RecyclerView;->ALLOW_SIZE_IN_UNSPECIFIED_SPEC:Z
.line 238
sput-boolean v1, Landroidx/recyclerview/widget/RecyclerView;->POST_UPDATES_ON_ANIMATION:Z
.line 244
sput-boolean v1, Landroidx/recyclerview/widget/RecyclerView;->ALLOW_THREAD_GAP_WORK:Z
.line 250
sput-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->FORCE_ABS_FOCUS_SEARCH_DIRECTION:Z
.line 260
sput-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->IGNORE_DETACHED_FOCUSED_CHILD:Z
const/4 v2, 0x4
.line 362
new-array v2, v2, [Ljava/lang/Class;
const-class v3, Landroid/content/Context;
aput-object v3, v2, v0
const-class v0, Landroid/util/AttributeSet;
aput-object v0, v2, v1
sget-object v0, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
const/4 v1, 0x2
aput-object v0, v2, v1
const/4 v1, 0x3
aput-object v0, v2, v1
sput-object v2, Landroidx/recyclerview/widget/RecyclerView;->LAYOUT_MANAGER_CONSTRUCTOR_SIGNATURE:[Ljava/lang/Class;
.line 598
new-instance v0, Landroidx/recyclerview/widget/RecyclerView$3;
invoke-direct {v0}, Landroidx/recyclerview/widget/RecyclerView$3;-><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
const/4 v0, 0x0
.line 646
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
.line 650
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 16
move-object/from16 v7, p0
move-object/from16 v8, p1
move-object/from16 v9, p2
move/from16 v10, p3
.line 654
invoke-direct/range {p0 .. p3}, Landroid/view/ViewGroup;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
.line 365
new-instance v0, Landroidx/recyclerview/widget/RecyclerView$RecyclerViewDataObserver;
invoke-direct {v0, v7}, Landroidx/recyclerview/widget/RecyclerView$RecyclerViewDataObserver;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mObserver:Landroidx/recyclerview/widget/RecyclerView$RecyclerViewDataObserver;
.line 367
new-instance v0, Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-direct {v0, v7}, Landroidx/recyclerview/widget/RecyclerView$Recycler;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
.line 384
new-instance v0, Landroidx/recyclerview/widget/ViewInfoStore;
invoke-direct {v0}, Landroidx/recyclerview/widget/ViewInfoStore;-><init>()V
iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
.line 398
new-instance v0, Landroidx/recyclerview/widget/RecyclerView$1;
invoke-direct {v0, v7}, Landroidx/recyclerview/widget/RecyclerView$1;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mUpdateChildViewsRunnable:Ljava/lang/Runnable;
.line 418
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 419
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 420
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 424
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 425
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 440
iput v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I
.line 470
iput-boolean v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z
.line 479
iput-boolean v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mDispatchItemsChangedEvent:Z
.line 489
iput v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I
.line 498
iput v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mDispatchScrollCounter:I
.line 500
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 504
new-instance v0, Landroidx/recyclerview/widget/DefaultItemAnimator;
invoke-direct {v0}, Landroidx/recyclerview/widget/DefaultItemAnimator;-><init>()V
iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
.line 531
iput v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I
const/4 v12, -0x1
.line 532
iput v12, v7, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
const/4 v0, 0x1
.line 544
iput v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mScaledHorizontalScrollFactor:F
.line 545
iput v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mScaledVerticalScrollFactor:F
const/4 v13, 0x1
.line 547
iput-boolean v13, v7, Landroidx/recyclerview/widget/RecyclerView;->mPreserveFocusAfterLayout:Z
.line 549
new-instance v0, Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;
invoke-direct {v0, v7}, Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;
.line 552
sget-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->ALLOW_THREAD_GAP_WORK:Z
if-eqz v0, :cond_0
new-instance v0, Landroidx/recyclerview/widget/GapWorker$LayoutPrefetchRegistryImpl;
invoke-direct {v0}, Landroidx/recyclerview/widget/GapWorker$LayoutPrefetchRegistryImpl;-><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/GapWorker$LayoutPrefetchRegistryImpl;
.line 555
new-instance v0, Landroidx/recyclerview/widget/RecyclerView$State;
invoke-direct {v0}, Landroidx/recyclerview/widget/RecyclerView$State;-><init>()V
iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
.line 561
iput-boolean v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mItemsAddedOrRemoved:Z
.line 562
iput-boolean v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mItemsChanged:Z
.line 563
new-instance v0, Landroidx/recyclerview/widget/RecyclerView$ItemAnimatorRestoreListener;
invoke-direct {v0, v7}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimatorRestoreListener;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimatorListener:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemAnimatorListener;
.line 565
iput-boolean v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mPostedAnimatorRunner:Z
const/4 v0, 0x2
.line 571
new-array v1, v0, [I
iput-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mMinMaxLayoutPositions:[I
.line 574
new-array v1, v0, [I
iput-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I
.line 575
new-array v1, v0, [I
iput-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I
.line 578
new-array v1, v0, [I
iput-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I
.line 585
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 588
new-instance v1, Landroidx/recyclerview/widget/RecyclerView$2;
invoke-direct {v1, v7}, Landroidx/recyclerview/widget/RecyclerView$2;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
iput-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimatorRunner:Ljava/lang/Runnable;
.line 609
new-instance v1, Landroidx/recyclerview/widget/RecyclerView$4;
invoke-direct {v1, v7}, Landroidx/recyclerview/widget/RecyclerView$4;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
iput-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoProcessCallback:Landroidx/recyclerview/widget/ViewInfoStore$ProcessCallback;
.line 655
invoke-virtual {v7, v13}, Landroidx/recyclerview/widget/RecyclerView;->setScrollContainer(Z)V
.line 656
invoke-virtual {v7, v13}, Landroidx/recyclerview/widget/RecyclerView;->setFocusableInTouchMode(Z)V
.line 658
invoke-static/range {p1 .. p1}, Landroid/view/ViewConfiguration;->get(Landroid/content/Context;)Landroid/view/ViewConfiguration;
move-result-object v1
.line 659
invoke-virtual {v1}, Landroid/view/ViewConfiguration;->getScaledTouchSlop()I
move-result v2
iput v2, v7, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I
.line 661
invoke-static {v1, v8}, Landroidx/core/view/ViewConfigurationCompat;->getScaledHorizontalScrollFactor(Landroid/view/ViewConfiguration;Landroid/content/Context;)F
move-result v2
iput v2, v7, Landroidx/recyclerview/widget/RecyclerView;->mScaledHorizontalScrollFactor:F
.line 663
invoke-static {v1, v8}, Landroidx/core/view/ViewConfigurationCompat;->getScaledVerticalScrollFactor(Landroid/view/ViewConfiguration;Landroid/content/Context;)F
move-result v2
iput v2, v7, Landroidx/recyclerview/widget/RecyclerView;->mScaledVerticalScrollFactor:F
.line 664
invoke-virtual {v1}, Landroid/view/ViewConfiguration;->getScaledMinimumFlingVelocity()I
move-result v2
iput v2, v7, Landroidx/recyclerview/widget/RecyclerView;->mMinFlingVelocity:I
.line 665
invoke-virtual {v1}, Landroid/view/ViewConfiguration;->getScaledMaximumFlingVelocity()I
move-result v1
iput v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mMaxFlingVelocity:I
.line 666
invoke-virtual/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->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 {v7, v0}, Landroidx/recyclerview/widget/RecyclerView;->setWillNotDraw(Z)V
.line 668
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$ItemAnimatorListener;
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->setListener(Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemAnimatorListener;)V
.line 669
invoke-virtual/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->initAdapterManager()V
.line 670
invoke-direct/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->initChildrenHelper()V
.line 671
invoke-direct/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->initAutofill()V
.line 673
invoke-static/range {p0 .. p0}, Landroidx/core/view/ViewCompat;->getImportantForAccessibility(Landroid/view/View;)I
move-result v0
if-nez v0, :cond_2
.line 675
invoke-static {v7, v13}, Landroidx/core/view/ViewCompat;->setImportantForAccessibility(Landroid/view/View;I)V
.line 678
:cond_2
invoke-virtual/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->getContext()Landroid/content/Context;
move-result-object v0
const-string v1, "accessibility"
.line 679
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 680
new-instance v0, Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate;
invoke-direct {v0, v7}, Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
invoke-virtual {v7, v0}, Landroidx/recyclerview/widget/RecyclerView;->setAccessibilityDelegateCompat(Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate;)V
.line 682
sget-object v0, Landroidx/recyclerview/R$styleable;->RecyclerView:[I
invoke-virtual {v8, v9, v0, v10, v11}, Landroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray;
move-result-object v14
.line 684
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v15, 0x1d
if-lt v0, v15, :cond_3
.line 685
sget-object v2, Landroidx/recyclerview/R$styleable;->RecyclerView:[I
const/4 v6, 0x0
move-object/from16 v0, p0
move-object/from16 v1, p1
move-object/from16 v3, p2
move-object v4, v14
move/from16 v5, p3
invoke-virtual/range {v0 .. v6}, Landroidx/recyclerview/widget/RecyclerView;->saveAttributeDataForStyleable(Landroid/content/Context;[ILandroid/util/AttributeSet;Landroid/content/res/TypedArray;II)V
.line 688
:cond_3
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 689
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_4
const/high16 v0, 0x40000
.line 692
invoke-virtual {v7, v0}, Landroidx/recyclerview/widget/RecyclerView;->setDescendantFocusability(I)V
.line 694
:cond_4
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 695
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_5
.line 697
sget v0, Landroidx/recyclerview/R$styleable;->RecyclerView_fastScrollVerticalThumbDrawable:I
.line 698
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 699
sget v1, Landroidx/recyclerview/R$styleable;->RecyclerView_fastScrollVerticalTrackDrawable:I
.line 700
invoke-virtual {v14, v1}, Landroid/content/res/TypedArray;->getDrawable(I)Landroid/graphics/drawable/Drawable;
move-result-object v1
.line 701
sget v3, Landroidx/recyclerview/R$styleable;->RecyclerView_fastScrollHorizontalThumbDrawable:I
.line 702
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 703
sget v4, Landroidx/recyclerview/R$styleable;->RecyclerView_fastScrollHorizontalTrackDrawable:I
.line 704
invoke-virtual {v14, v4}, Landroid/content/res/TypedArray;->getDrawable(I)Landroid/graphics/drawable/Drawable;
move-result-object v4
.line 705
invoke-virtual {v7, 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 708
:cond_5
invoke-virtual {v14}, Landroid/content/res/TypedArray;->recycle()V
const/4 v5, 0x0
move-object/from16 v0, p0
move-object/from16 v1, p1
move-object/from16 v3, p2
move/from16 v4, p3
.line 711
invoke-direct/range {v0 .. v5}, Landroidx/recyclerview/widget/RecyclerView;->createLayoutManager(Landroid/content/Context;Ljava/lang/String;Landroid/util/AttributeSet;II)V
.line 715
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
.line 717
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
if-lt v0, v15, :cond_6
const/4 v6, 0x0
move-object/from16 v0, p0
move-object/from16 v1, p1
move-object/from16 v3, p2
move-object v4, v12
move/from16 v5, p3
.line 718
invoke-virtual/range {v0 .. v6}, Landroidx/recyclerview/widget/RecyclerView;->saveAttributeDataForStyleable(Landroid/content/Context;[ILandroid/util/AttributeSet;Landroid/content/res/TypedArray;II)V
.line 721
:cond_6
invoke-virtual {v12, v11, v13}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z
move-result v0
.line 722
invoke-virtual {v12}, Landroid/content/res/TypedArray;->recycle()V
.line 725
invoke-virtual {v7, v0}, Landroidx/recyclerview/widget/RecyclerView;->setNestedScrollingEnabled(Z)V
return-void
.end method
.method static synthetic access$000(Landroidx/recyclerview/widget/RecyclerView;Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V
.locals 0
.line 210
invoke-virtual {p0, p1, p2, p3}, Landroidx/recyclerview/widget/RecyclerView;->attachViewToParent(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V
return-void
.end method
.method static synthetic access$100(Landroidx/recyclerview/widget/RecyclerView;I)V
.locals 0
.line 210
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->detachViewFromParent(I)V
return-void
.end method
.method static synthetic access$200(Landroidx/recyclerview/widget/RecyclerView;)Z
.locals 0
.line 210
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->awakenScrollBars()Z
move-result p0
return p0
.end method
.method static synthetic access$300(Landroidx/recyclerview/widget/RecyclerView;II)V
.locals 0
.line 210
invoke-virtual {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->setMeasuredDimension(II)V
return-void
.end method
.method private addAnimatingView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
.locals 5
.line 1431
iget-object v0, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
.line 1432
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 1433
:goto_0
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolder(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v4
invoke-virtual {v3, v4}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->unscrapView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
.line 1434
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isTmpDetached()Z
move-result p1
if-eqz p1, :cond_1
.line 1436
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
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/ChildHelper;->attachViewToParent(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;Z)V
goto :goto_1
:cond_1
if-nez v1, :cond_2
.line 1438
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {p1, v0, v2}, Landroidx/recyclerview/widget/ChildHelper;->addView(Landroid/view/View;Z)V
goto :goto_1
.line 1440
:cond_2
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/ChildHelper;->hide(Landroid/view/View;)V
:goto_1
return-void
.end method
.method private animateChange(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;ZZ)V
.locals 1
const/4 v0, 0x0
.line 4381
invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->setIsRecyclable(Z)V
if-eqz p5, :cond_0
.line 4383
invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->addAnimatingView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
:cond_0
if-eq p1, p2, :cond_2
if-eqz p6, :cond_1
.line 4387
invoke-direct {p0, p2}, Landroidx/recyclerview/widget/RecyclerView;->addAnimatingView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
.line 4389
:cond_1
iput-object p2, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mShadowedHolder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.line 4391
invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->addAnimatingView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
.line 4392
iget-object p5, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {p5, p1}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->unscrapView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
.line 4393
invoke-virtual {p2, v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->setIsRecyclable(Z)V
.line 4394
iput-object p1, p2, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mShadowingHolder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.line 4396
: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;->animateChange(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)Z
move-result p1
if-eqz p1, :cond_3
.line 4397
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->postAnimationRunner()V
:cond_3
return-void
.end method
.method private cancelScroll()V
.locals 1
.line 3443
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->resetScroll()V
const/4 v0, 0x0
.line 3444
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V
return-void
.end method
.method static clearNestedRecyclerViewIfNotNested(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
.locals 3
.line 5851
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mNestedRecyclerView:Ljava/lang/ref/WeakReference;
if-eqz v0, :cond_3
.line 5852
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mNestedRecyclerView:Ljava/lang/ref/WeakReference;
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 5854
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
if-ne v0, v2, :cond_0
return-void
.line 5858
:cond_0
invoke-virtual {v0}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
move-result-object v0
.line 5859
instance-of v2, v0, Landroid/view/View;
if-eqz v2, :cond_1
.line 5860
check-cast v0, Landroid/view/View;
goto :goto_0
:cond_1
move-object v0, v1
goto :goto_0
.line 5865
:cond_2
iput-object v1, p0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->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 6
.line 782
const-string v0, ": Could not instantiate the LayoutManager: "
if-eqz p2, :cond_1
.line 783
invoke-virtual {p2}, Ljava/lang/String;->trim()Ljava/lang/String;
move-result-object p2
.line 784
invoke-virtual {p2}, Ljava/lang/String;->isEmpty()Z
move-result v1
if-nez v1, :cond_1
.line 785
invoke-direct {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->getFullClassName(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
move-result-object p2
.line 788
:try_start_0
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isInEditMode()Z
move-result v1
if-eqz v1, :cond_0
.line 790
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 792
:cond_0
invoke-virtual {p1}, Landroid/content/Context;->getClassLoader()Ljava/lang/ClassLoader;
move-result-object v1
:goto_0
const/4 v2, 0x0
.line 795
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$LayoutManager;
.line 796
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, 0x1
.line 800
:try_start_1
sget-object v4, Landroidx/recyclerview/widget/RecyclerView;->LAYOUT_MANAGER_CONSTRUCTOR_SIGNATURE:[Ljava/lang/Class;
.line 801
invoke-virtual {v1, v4}, Ljava/lang/Class;->getConstructor([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
move-result-object v4
const/4 v5, 0x4
.line 802
new-array v5, v5, [Ljava/lang/Object;
aput-object p1, v5, v2
aput-object p3, v5, v3
invoke-static {p4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p1
const/4 p4, 0x2
aput-object p1, v5, p4
invoke-static {p5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p1
const/4 p4, 0x3
aput-object p1, v5, p4
: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
goto :goto_1
:catch_0
move-exception p1
.line 805
:try_start_2
new-array p4, v2, [Ljava/lang/Class;
invoke-virtual {v1, p4}, Ljava/lang/Class;->getConstructor([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
move-result-object v4
: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
const/4 v5, 0x0
.line 812
:goto_1
:try_start_3
invoke-virtual {v4, v3}, Ljava/lang/reflect/Constructor;->setAccessible(Z)V
.line 813
invoke-virtual {v4, v5}, Ljava/lang/reflect/Constructor;->newInstance([Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->setLayoutManager(Landroidx/recyclerview/widget/RecyclerView$LayoutManager;)V
goto/16 :goto_2
:catch_1
move-exception p4
.line 807
invoke-virtual {p4, p1}, Ljava/lang/NoSuchMethodException;->initCause(Ljava/lang/Throwable;)Ljava/lang/Throwable;
.line 808
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;
move-result-object p5
const-string v1, ": Error creating LayoutManager "
invoke-virtual {p5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p5
invoke-virtual {p5, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p5
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 827
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;
move-result-object p3
const-string p5, ": Class is not a LayoutManager "
invoke-virtual {p3, p5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p3
invoke-virtual {p3, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p2
invoke-virtual {p2}, 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 824
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;
move-result-object p3
const-string p5, ": Cannot access non-public constructor "
invoke-virtual {p3, p5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p3
invoke-virtual {p3, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p2
invoke-virtual {p2}, 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 821
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;
move-result-object p3
invoke-virtual {p3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p3
invoke-virtual {p3, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p2
invoke-virtual {p2}, 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 818
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;
move-result-object p3
invoke-virtual {p3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p3
invoke-virtual {p3, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p2
invoke-virtual {p2}, 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 815
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;
move-result-object p3
const-string p5, ": Unable to find LayoutManager "
invoke-virtual {p3, p5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p3
invoke-virtual {p3, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p2
invoke-virtual {p2}, 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 4327
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinMaxLayoutPositions:[I
invoke-direct {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->findMinMaxChildLayoutPositions([I)V
.line 4328
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 3675
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mEatenAccessibilityChangeFlags:I
const/4 v1, 0x0
.line 3676
iput v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mEatenAccessibilityChangeFlags:I
if-eqz v0, :cond_0
.line 3677
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isAccessibilityEnabled()Z
move-result v1
if-eqz v1, :cond_0
.line 3678
invoke-static {}, Landroid/view/accessibility/AccessibilityEvent;->obtain()Landroid/view/accessibility/AccessibilityEvent;
move-result-object v1
const/16 v2, 0x800
.line 3679
invoke-virtual {v1, v2}, Landroid/view/accessibility/AccessibilityEvent;->setEventType(I)V
.line 3680
invoke-static {v1, v0}, Landroidx/core/view/accessibility/AccessibilityEventCompat;->setContentChangeTypes(Landroid/view/accessibility/AccessibilityEvent;I)V
.line 3681
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 4033
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
const/4 v1, 0x1
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$State;->assertLayoutStep(I)V
.line 4034
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->fillRemainingScrollValues(Landroidx/recyclerview/widget/RecyclerView$State;)V
.line 4035
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
const/4 v2, 0x0
iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mIsMeasuring:Z
.line 4036
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
.line 4037
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
invoke-virtual {v0}, Landroidx/recyclerview/widget/ViewInfoStore;->clear()V
.line 4038
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V
.line 4039
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->processAdapterUpdatesAndSetAnimationFlags()V
.line 4040
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->saveFocusInfo()V
.line 4041
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iget-boolean v3, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunSimpleAnimations: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$State;->mTrackOldChangeHolders:Z
.line 4042
iput-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemsChanged:Z
iput-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemsAddedOrRemoved:Z
.line 4043
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iget-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunPredictiveAnimations:Z
iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mInPreLayout:Z
.line 4044
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
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$State;->mItemCount:I
.line 4045
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinMaxLayoutPositions:[I
invoke-direct {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->findMinMaxChildLayoutPositions([I)V
.line 4047
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iget-boolean v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunSimpleAnimations:Z
if-eqz v0, :cond_3
.line 4049
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I
move-result v0
move v1, v2
:goto_1
if-ge v1, v0, :cond_3
.line 4051
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v3, v1}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View;
move-result-object v3
invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v3
.line 4052
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
move-result v4
if-nez v4, :cond_2
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->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 4055
: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$State;
.line 4057
invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->buildAdapterChangeFlagsForAnimations(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)I
move-result v6
.line 4058
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getUnmodifiedPayloads()Ljava/util/List;
move-result-object v7
.line 4056
invoke-virtual {v4, v5, v3, v6, v7}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->recordPreLayoutInformation(Landroidx/recyclerview/widget/RecyclerView$State;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;ILjava/util/List;)Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;
move-result-object v4
.line 4059
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
invoke-virtual {v5, v3, v4}, Landroidx/recyclerview/widget/ViewInfoStore;->addToPreLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V
.line 4060
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iget-boolean v4, v4, Landroidx/recyclerview/widget/RecyclerView$State;->mTrackOldChangeHolders:Z
if-eqz v4, :cond_2
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isUpdated()Z
move-result v4
if-eqz v4, :cond_2
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isRemoved()Z
move-result v4
if-nez v4, :cond_2
.line 4061
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
move-result v4
if-nez v4, :cond_2
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isInvalid()Z
move-result v4
if-nez v4, :cond_2
.line 4062
invoke-virtual {p0, v3}, Landroidx/recyclerview/widget/RecyclerView;->getChangedHolderKey(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)J
move-result-wide v4
.line 4070
iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
invoke-virtual {v6, v4, v5, v3}, Landroidx/recyclerview/widget/ViewInfoStore;->addToOldChangeHolders(JLandroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
:cond_2
:goto_2
add-int/lit8 v1, v1, 0x1
goto :goto_1
.line 4074
:cond_3
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iget-boolean v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunPredictiveAnimations:Z
if-eqz v0, :cond_9
.line 4081
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->saveOldPositions()V
.line 4082
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iget-boolean v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z
.line 4083
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iput-boolean v2, v1, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z
.line 4085
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {v1, v3, v4}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onLayoutChildren(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)V
.line 4086
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iput-boolean v0, v1, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z
move v0, v2
.line 4088
:goto_3
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v1}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I
move-result v1
if-ge v0, v1, :cond_8
.line 4089
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v1, v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View;
move-result-object v1
.line 4090
invoke-static {v1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v1
.line 4091
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
move-result v3
if-eqz v3, :cond_4
goto :goto_4
.line 4094
:cond_4
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
invoke-virtual {v3, v1}, Landroidx/recyclerview/widget/ViewInfoStore;->isInPreLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Z
move-result v3
if-nez v3, :cond_7
.line 4095
invoke-static {v1}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->buildAdapterChangeFlagsForAnimations(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)I
move-result v3
const/16 v4, 0x2000
.line 4097
invoke-virtual {v1, v4}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->hasAnyOfTheFlags(I)Z
move-result v4
if-nez v4, :cond_5
or-int/lit16 v3, v3, 0x1000
.line 4101
: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$State;
.line 4102
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getUnmodifiedPayloads()Ljava/util/List;
move-result-object v7
.line 4101
invoke-virtual {v5, v6, v1, v3, v7}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->recordPreLayoutInformation(Landroidx/recyclerview/widget/RecyclerView$State;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;ILjava/util/List;)Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;
move-result-object v3
if-eqz v4, :cond_6
.line 4104
invoke-virtual {p0, v1, v3}, Landroidx/recyclerview/widget/RecyclerView;->recordAnimationInfoIfBouncedHiddenView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V
goto :goto_4
.line 4106
:cond_6
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
invoke-virtual {v4, v1, v3}, Landroidx/recyclerview/widget/ViewInfoStore;->addToAppearedInPreLayoutHolders(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V
:cond_7
:goto_4
add-int/lit8 v0, v0, 0x1
goto :goto_3
.line 4111
:cond_8
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->clearOldPositions()V
goto :goto_5
.line 4113
:cond_9
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->clearOldPositions()V
.line 4115
:goto_5
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V
.line 4116
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
.line 4117
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
const/4 v1, 0x2
iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mLayoutStep:I
return-void
.end method
.method private dispatchLayoutStep2()V
.locals 4
.line 4125
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
.line 4126
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V
.line 4127
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
const/4 v1, 0x6
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$State;->assertLayoutStep(I)V
.line 4128
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->consumeUpdatesInOnePass()V
.line 4129
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
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$State;->mItemCount:I
.line 4130
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
const/4 v1, 0x0
iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mDeletedInvisibleItemCountSincePreviousLayout:I
.line 4133
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mInPreLayout:Z
.line 4134
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {v0, v2, v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onLayoutChildren(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)V
.line 4136
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z
const/4 v0, 0x0
.line 4137
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingSavedState:Landroidx/recyclerview/widget/RecyclerView$SavedState;
.line 4140
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iget-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunSimpleAnimations:Z
if-eqz v2, :cond_0
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
if-eqz v2, :cond_0
const/4 v2, 0x1
goto :goto_0
:cond_0
move v2, v1
:goto_0
iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunSimpleAnimations:Z
.line 4141
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
const/4 v2, 0x4
iput v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mLayoutStep:I
.line 4142
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V
.line 4143
invoke-virtual {p0, v1}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
return-void
.end method
.method private dispatchLayoutStep3()V
.locals 11
.line 4151
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
const/4 v1, 0x4
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$State;->assertLayoutStep(I)V
.line 4152
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
.line 4153
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V
.line 4154
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
const/4 v1, 0x1
iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mLayoutStep:I
.line 4155
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iget-boolean v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunSimpleAnimations:Z
if-eqz v0, :cond_5
.line 4159
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I
move-result v0
sub-int/2addr v0, v1
:goto_0
if-ltz v0, :cond_4
.line 4160
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v2, v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View;
move-result-object v2
invoke-static {v2}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v5
.line 4161
invoke-virtual {v5}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
move-result v2
if-eqz v2, :cond_0
goto :goto_1
.line 4164
:cond_0
invoke-virtual {p0, v5}, Landroidx/recyclerview/widget/RecyclerView;->getChangedHolderKey(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)J
move-result-wide v2
.line 4165
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$State;
.line 4166
invoke-virtual {v4, v6, v5}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->recordPostLayoutInformation(Landroidx/recyclerview/widget/RecyclerView$State;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;
move-result-object v4
.line 4167
iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
invoke-virtual {v6, v2, v3}, Landroidx/recyclerview/widget/ViewInfoStore;->getFromOldChangeHolders(J)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v6
if-eqz v6, :cond_3
.line 4168
invoke-virtual {v6}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
move-result v7
if-nez v7, :cond_3
.line 4179
iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
invoke-virtual {v7, v6}, Landroidx/recyclerview/widget/ViewInfoStore;->isDisappearing(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Z
move-result v8
.line 4181
iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
invoke-virtual {v7, v5}, Landroidx/recyclerview/widget/ViewInfoStore;->isDisappearing(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Z
move-result v9
if-eqz v8, :cond_1
if-ne v6, v5, :cond_1
.line 4184
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
invoke-virtual {v2, v5, v4}, Landroidx/recyclerview/widget/ViewInfoStore;->addToPostLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V
goto :goto_1
.line 4186
:cond_1
iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
invoke-virtual {v7, v6}, Landroidx/recyclerview/widget/ViewInfoStore;->popFromPreLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;
move-result-object v7
.line 4189
iget-object v10, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
invoke-virtual {v10, v5, v4}, Landroidx/recyclerview/widget/ViewInfoStore;->addToPostLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V
.line 4190
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
invoke-virtual {v4, v5}, Landroidx/recyclerview/widget/ViewInfoStore;->popFromPostLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;
move-result-object v10
if-nez v7, :cond_2
.line 4192
invoke-direct {p0, v2, v3, v5, v6}, Landroidx/recyclerview/widget/RecyclerView;->handleMissingPreInfoForChangeError(JLandroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
goto :goto_1
:cond_2
move-object v3, p0
move-object v4, v6
move-object v6, v7
move-object v7, v10
.line 4194
invoke-direct/range {v3 .. v9}, Landroidx/recyclerview/widget/RecyclerView;->animateChange(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;ZZ)V
goto :goto_1
.line 4199
:cond_3
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
invoke-virtual {v2, v5, v4}, Landroidx/recyclerview/widget/ViewInfoStore;->addToPostLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V
:goto_1
add-int/lit8 v0, v0, -0x1
goto :goto_0
.line 4204
:cond_4
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoProcessCallback:Landroidx/recyclerview/widget/ViewInfoStore$ProcessCallback;
invoke-virtual {v0, v2}, Landroidx/recyclerview/widget/ViewInfoStore;->process(Landroidx/recyclerview/widget/ViewInfoStore$ProcessCallback;)V
.line 4207
:cond_5
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v0, v2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->removeAndRecycleScrapInt(Landroidx/recyclerview/widget/RecyclerView$Recycler;)V
.line 4208
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iget v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mItemCount:I
iput v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mPreviousLayoutItemCount:I
const/4 v0, 0x0
.line 4209
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z
.line 4210
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchItemsChangedEvent:Z
.line 4211
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iput-boolean v0, v2, Landroidx/recyclerview/widget/RecyclerView$State;->mRunSimpleAnimations:Z
.line 4213
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iput-boolean v0, v2, Landroidx/recyclerview/widget/RecyclerView$State;->mRunPredictiveAnimations:Z
.line 4214
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iput-boolean v0, v2, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mRequestedSimpleAnimations:Z
.line 4215
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
iget-object v2, v2, Landroidx/recyclerview/widget/RecyclerView$Recycler;->mChangedScrap:Ljava/util/ArrayList;
if-eqz v2, :cond_6
.line 4216
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
iget-object v2, v2, Landroidx/recyclerview/widget/RecyclerView$Recycler;->mChangedScrap:Ljava/util/ArrayList;
invoke-virtual {v2}, Ljava/util/ArrayList;->clear()V
.line 4218
:cond_6
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget-boolean v2, v2, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mPrefetchMaxObservedInInitialPrefetch:Z
if-eqz v2, :cond_7
.line 4221
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iput v0, v2, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mPrefetchMaxCountObserved:I
.line 4222
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iput-boolean v0, v2, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mPrefetchMaxObservedInInitialPrefetch:Z
.line 4223
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->updateViewCacheSize()V
.line 4226
:cond_7
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {v2, v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onLayoutCompleted(Landroidx/recyclerview/widget/RecyclerView$State;)V
.line 4227
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V
.line 4228
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
.line 4229
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
invoke-virtual {v2}, Landroidx/recyclerview/widget/ViewInfoStore;->clear()V
.line 4230
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinMaxLayoutPositions:[I
aget v3, v2, v0
aget v1, v2, v1
invoke-direct {p0, v3, v1}, Landroidx/recyclerview/widget/RecyclerView;->didChildRangeChange(II)Z
move-result v1
if-eqz v1, :cond_8
.line 4231
invoke-virtual {p0, v0, v0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchOnScrolled(II)V
.line 4233
:cond_8
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->recoverFocusFromState()V
.line 4234
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->resetFocusInfo()V
return-void
.end method
.method private dispatchToOnItemTouchListeners(Landroid/view/MotionEvent;)Z
.locals 2
.line 3118
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptingOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;
if-nez v0, :cond_1
.line 3119
invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I
move-result v0
if-nez v0, :cond_0
const/4 p1, 0x0
return p1
.line 3122
:cond_0
invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->findInterceptingOnItemTouchListener(Landroid/view/MotionEvent;)Z
move-result p1
return p1
.line 3124
:cond_1
invoke-interface {v0, p0, p1}, Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;->onTouchEvent(Landroidx/recyclerview/widget/RecyclerView;Landroid/view/MotionEvent;)V
.line 3125
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 3127
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptingOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;
:cond_3
return v1
.end method
.method private findInterceptingOnItemTouchListener(Landroid/view/MotionEvent;)Z
.locals 6
.line 3147
invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I
move-result v0
.line 3148
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 3150
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$OnItemTouchListener;
.line 3151
invoke-interface {v4, p0, p1}, Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;->onInterceptTouchEvent(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 3152
iput-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptingOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;
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 4301
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I
move-result v0
const/4 v1, 0x1
const/4 v2, 0x0
if-nez v0, :cond_0
const/4 v0, -0x1
.line 4303
aput v0, p1, v2
.line 4304
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 4310
iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v6, v5}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View;
move-result-object v6
invoke-static {v6}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v6
.line 4311
invoke-virtual {v6}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
move-result v7
if-eqz v7, :cond_1
goto :goto_1
.line 4314
:cond_1
invoke-virtual {v6}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->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 4322
:cond_4
aput v3, p1, v2
.line 4323
aput v4, p1, v1
return-void
.end method
.method static findNestedRecyclerView(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView;
.locals 4
.line 5829
instance-of v0, p0, Landroid/view/ViewGroup;
const/4 v1, 0x0
if-nez v0, :cond_0
return-object v1
.line 5832
:cond_0
instance-of v0, p0, Landroidx/recyclerview/widget/RecyclerView;
if-eqz v0, :cond_1
.line 5833
check-cast p0, Landroidx/recyclerview/widget/RecyclerView;
return-object p0
.line 5835
:cond_1
check-cast p0, Landroid/view/ViewGroup;
.line 5836
invoke-virtual {p0}, Landroid/view/ViewGroup;->getChildCount()I
move-result v0
const/4 v2, 0x0
:goto_0
if-ge v2, v0, :cond_3
.line 5838
invoke-virtual {p0, v2}, Landroid/view/ViewGroup;->getChildAt(I)Landroid/view/View;
move-result-object v3
.line 5839
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
.line 3902
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iget v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemPosition:I
const/4 v1, -0x1
if-eq v0, v1, :cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iget v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemPosition:I
goto :goto_0
:cond_0
const/4 v0, 0x0
.line 3905
:goto_0
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$State;->getItemCount()I
move-result v1
move v2, v0
:goto_1
if-ge v2, v1, :cond_3
.line 3907
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->findViewHolderForAdapterPosition(I)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v3
if-nez v3, :cond_1
goto :goto_2
.line 3911
:cond_1
iget-object v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
invoke-virtual {v4}, Landroid/view/View;->hasFocusable()Z
move-result v4
if-eqz v4, :cond_2
.line 3912
iget-object v0, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
return-object v0
:cond_2
add-int/lit8 v2, v2, 0x1
goto :goto_1
.line 3915
:cond_3
:goto_2
invoke-static {v1, v0}, 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 3917
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->findViewHolderForAdapterPosition(I)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v2
if-nez v2, :cond_4
return-object v1
.line 3921
:cond_4
iget-object v1, v2, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
invoke-virtual {v1}, Landroid/view/View;->hasFocusable()Z
move-result v1
if-eqz v1, :cond_5
.line 3922
iget-object v0, v2, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->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 static getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.locals 0
if-nez p0, :cond_0
const/4 p0, 0x0
return-object p0
.line 4819
: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;->mViewHolder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
return-object p0
.end method
.method static getDecoratedBoundsWithMarginsInt(Landroid/view/View;Landroid/graphics/Rect;)V
.locals 6
.line 5096
invoke-virtual {p0}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
move-result-object v0
check-cast v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
.line 5097
iget-object v1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mDecorInsets:Landroid/graphics/Rect;
.line 5098
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, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->leftMargin:I
sub-int/2addr v2, v3
.line 5099
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, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->topMargin:I
sub-int/2addr v3, v4
.line 5100
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, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->rightMargin:I
add-int/2addr v4, v5
.line 5101
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, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->bottomMargin:I
add-int/2addr p0, v0
.line 5098
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 4003
invoke-virtual {p1}, Landroid/view/View;->getId()I
move-result v0
.line 4004
: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 4005
check-cast p1, Landroid/view/ViewGroup;
invoke-virtual {p1}, Landroid/view/ViewGroup;->getFocusedChild()Landroid/view/View;
move-result-object p1
.line 4006
invoke-virtual {p1}, Landroid/view/View;->getId()I
move-result v1
const/4 v2, -0x1
if-eq v1, v2, :cond_0
.line 4008
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 835
invoke-virtual {p2, v0}, Ljava/lang/String;->charAt(I)C
move-result v0
const/16 v1, 0x2e
if-ne v0, v1, :cond_0
.line 836
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;
move-result-object p1
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p1
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
return-object p1
.line 838
:cond_0
const-string p1, "."
invoke-virtual {p2, p1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result p1
if-eqz p1, :cond_1
return-object p2
.line 841
: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;
move-result-object p1
invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
move-result-object p1
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p1
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
return-object p1
.end method
.method private getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
.locals 1
.line 13495
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollingChildHelper:Landroidx/core/view/NestedScrollingChildHelper;
if-nez v0, :cond_0
.line 13496
new-instance v0, Landroidx/core/view/NestedScrollingChildHelper;
invoke-direct {v0, p0}, Landroidx/core/view/NestedScrollingChildHelper;-><init>(Landroid/view/View;)V
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollingChildHelper:Landroidx/core/view/NestedScrollingChildHelper;
.line 13498
:cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollingChildHelper:Landroidx/core/view/NestedScrollingChildHelper;
return-object v0
.end method
.method private handleMissingPreInfoForChangeError(JLandroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
.locals 5
.line 4255
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I
move-result v0
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_3
.line 4257
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View;
move-result-object v2
.line 4258
invoke-static {v2}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v2
if-ne v2, p3, :cond_0
goto :goto_1
.line 4262
:cond_0
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->getChangedHolderKey(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)J
move-result-wide v3
cmp-long v3, v3, p1
if-nez v3, :cond_2
.line 4264
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 4265
new-instance p1, Ljava/lang/IllegalStateException;
new-instance p4, Ljava/lang/StringBuilder;
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-direct {p4, v0}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object p4
invoke-virtual {p4, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p2
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object p2
.line 4268
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String;
move-result-object p3
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p2
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
.line 4270
:cond_1
new-instance p1, Ljava/lang/IllegalStateException;
new-instance p4, Ljava/lang/StringBuilder;
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-direct {p4, v0}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object p4
invoke-virtual {p4, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p2
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object p2
.line 4274
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String;
move-result-object p3
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p2
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()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 4279
:cond_3
new-instance p1, Ljava/lang/StringBuilder;
const-string p2, "Problem while matching changed view holders with the newones. The pre-layout information for the change holder "
invoke-direct {p1, p2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p1, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object p1
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;
move-result-object p1
invoke-virtual {p1, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object p1
.line 4281
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;
move-result-object p1
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
.line 4279
const-string p2, "RecyclerView"
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 1906
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I
move-result v0
const/4 v1, 0x0
move v2, v1
:goto_0
if-ge v2, v0, :cond_2
.line 1908
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View;
move-result-object v3
invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v3
if-eqz v3, :cond_1
.line 1909
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
move-result v4
if-eqz v4, :cond_0
goto :goto_1
.line 1912
:cond_0
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->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
.line 747
invoke-static {p0}, Landroidx/core/view/ViewCompat;->getImportantForAutofill(Landroid/view/View;)I
move-result v0
if-nez v0, :cond_0
const/16 v0, 0x8
.line 748
invoke-static {p0, v0}, Landroidx/core/view/ViewCompat;->setImportantForAutofill(Landroid/view/View;I)V
:cond_0
return-void
.end method
.method private initChildrenHelper()V
.locals 2
.line 845
new-instance v0, Landroidx/recyclerview/widget/ChildHelper;
new-instance v1, Landroidx/recyclerview/widget/RecyclerView$5;
invoke-direct {v1, p0}, Landroidx/recyclerview/widget/RecyclerView$5;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
invoke-direct {v0, v1}, Landroidx/recyclerview/widget/ChildHelper;-><init>(Landroidx/recyclerview/widget/ChildHelper$Callback;)V
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
return-void
.end method
.method private isPreferredNextFocus(Landroid/view/View;Landroid/view/View;I)Z
.locals 5
const/4 v0, 0x0
if-eqz p2, :cond_1a
if-ne p2, p0, :cond_0
goto/16 :goto_3
.line 2838
: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 2845
: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 2849
: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 2850
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 2851
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
invoke-virtual {p0, p1, v2}, Landroidx/recyclerview/widget/RecyclerView;->offsetDescendantRectToMyCoords(Landroid/view/View;Landroid/graphics/Rect;)V
.line 2852
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect;
invoke-virtual {p0, p2, p1}, Landroidx/recyclerview/widget/RecyclerView;->offsetDescendantRectToMyCoords(Landroid/view/View;Landroid/graphics/Rect;)V
.line 2853
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->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 2855
:goto_0
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
iget v2, v2, Landroid/graphics/Rect;->left:I
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect;
iget v3, v3, Landroid/graphics/Rect;->left:I
if-lt v2, v3, :cond_5
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
iget v2, v2, Landroid/graphics/Rect;->right:I
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect;
iget v3, v3, Landroid/graphics/Rect;->left:I
if-gt v2, v3, :cond_6
:cond_5
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
iget v2, v2, Landroid/graphics/Rect;->right:I
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect;
iget v3, v3, Landroid/graphics/Rect;->right:I
if-ge v2, v3, :cond_6
move v2, v1
goto :goto_1
.line 2859
:cond_6
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
iget v2, v2, Landroid/graphics/Rect;->right:I
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect;
iget v3, v3, Landroid/graphics/Rect;->right:I
if-gt v2, v3, :cond_7
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
iget v2, v2, Landroid/graphics/Rect;->left:I
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect;
iget v3, v3, Landroid/graphics/Rect;->right:I
if-lt v2, v3, :cond_8
:cond_7
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
iget v2, v2, Landroid/graphics/Rect;->left:I
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect;
iget v3, v3, Landroid/graphics/Rect;->left:I
if-le v2, v3, :cond_8
move v2, p2
goto :goto_1
:cond_8
move v2, v0
.line 2865
:goto_1
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
iget v3, v3, Landroid/graphics/Rect;->top:I
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect;
iget v4, v4, Landroid/graphics/Rect;->top:I
if-lt v3, v4, :cond_9
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
iget v3, v3, Landroid/graphics/Rect;->bottom:I
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect;
iget v4, v4, Landroid/graphics/Rect;->top:I
if-gt v3, v4, :cond_a
:cond_9
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
iget v3, v3, Landroid/graphics/Rect;->bottom:I
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect;
iget v4, v4, Landroid/graphics/Rect;->bottom:I
if-ge v3, v4, :cond_a
move p2, v1
goto :goto_2
.line 2869
:cond_a
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
iget v3, v3, Landroid/graphics/Rect;->bottom:I
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect;
iget v4, v4, Landroid/graphics/Rect;->bottom:I
if-gt v3, v4, :cond_b
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
iget v3, v3, Landroid/graphics/Rect;->top:I
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect;
iget v4, v4, Landroid/graphics/Rect;->bottom:I
if-lt v3, v4, :cond_c
:cond_b
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
iget v3, v3, Landroid/graphics/Rect;->top:I
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect;
iget v4, v4, Landroid/graphics/Rect;->top:I
if-le v3, v4, :cond_c
goto :goto_2
:cond_c
move p2, v0
:goto_2
if-eq p3, v1, :cond_18
const/4 v3, 0x2
if-eq p3, v3, :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 2888
:cond_e
new-instance p1, Ljava/lang/IllegalArgumentException;
new-instance p2, Ljava/lang/StringBuilder;
const-string v0, "Invalid direction: "
invoke-direct {p2, v0}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object p2
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String;
move-result-object p3
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p2
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()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 v2, :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 v2, :cond_14
move v0, v1
:cond_14
return v0
:cond_15
if-gtz p2, :cond_16
if-nez p2, :cond_17
mul-int/2addr v2, p1
if-ltz v2, :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 v2, p1
if-gtz v2, :cond_1a
:cond_19
move v0, v1
:cond_1a
:goto_3
return v0
.end method
.method private onPointerUp(Landroid/view/MotionEvent;)V
.locals 3
.line 3448
invoke-virtual {p1}, Landroid/view/MotionEvent;->getActionIndex()I
move-result v0
.line 3449
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 3452
: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 3453
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 3454
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 3771
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$LayoutManager;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->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 5
.line 3781
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z
if-eqz v0, :cond_0
.line 3784
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->reset()V
.line 3785
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchItemsChangedEvent:Z
if-eqz v0, :cond_0
.line 3786
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onItemsChanged(Landroidx/recyclerview/widget/RecyclerView;)V
.line 3792
:cond_0
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->predictiveItemAnimationsEnabled()Z
move-result v0
if-eqz v0, :cond_1
.line 3793
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->preProcess()V
goto :goto_0
.line 3795
:cond_1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->consumeUpdatesInOnePass()V
.line 3797
: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 3798
:goto_2
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
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 v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget-boolean v4, v4, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mRequestedSimpleAnimations:Z
if-eqz v4, :cond_6
:cond_4
iget-boolean v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z
if-eqz v4, :cond_5
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
.line 3804
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$State;->mRunSimpleAnimations:Z
.line 3805
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iget-boolean v4, v3, Landroidx/recyclerview/widget/RecyclerView$State;->mRunSimpleAnimations: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 3808
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$State;->mRunPredictiveAnimations:Z
return-void
.end method
.method private pullGlows(FFFF)V
.locals 6
const/4 v0, 0x0
cmpg-float v1, p2, v0
const/4 v2, 0x1
const/high16 v3, 0x3f800000 # 1.0f
if-gez v1, :cond_0
.line 2532
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureLeftGlow()V
.line 2533
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
neg-float v4, p2
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I
move-result v5
int-to-float v5, v5
div-float/2addr v4, v5
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getHeight()I
move-result v5
int-to-float v5, v5
div-float/2addr p3, v5
sub-float p3, v3, p3
invoke-static {v1, v4, p3}, Landroidx/core/widget/EdgeEffectCompat;->onPull(Landroid/widget/EdgeEffect;FF)V
goto :goto_0
:cond_0
cmpl-float v1, p2, v0
if-lez v1, :cond_1
.line 2536
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureRightGlow()V
.line 2537
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I
move-result v4
int-to-float v4, v4
div-float v4, p2, v4
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getHeight()I
move-result v5
int-to-float v5, v5
div-float/2addr p3, v5
invoke-static {v1, v4, p3}, Landroidx/core/widget/EdgeEffectCompat;->onPull(Landroid/widget/EdgeEffect;FF)V
goto :goto_0
:cond_1
const/4 v2, 0x0
:goto_0
cmpg-float p3, p4, v0
if-gez p3, :cond_2
.line 2542
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureTopGlow()V
.line 2543
iget-object p2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
neg-float p3, p4
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getHeight()I
move-result p4
int-to-float p4, p4
div-float/2addr p3, p4
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I
move-result p4
int-to-float p4, p4
div-float/2addr p1, p4
invoke-static {p2, p3, p1}, Landroidx/core/widget/EdgeEffectCompat;->onPull(Landroid/widget/EdgeEffect;FF)V
goto :goto_1
:cond_2
cmpl-float p3, p4, v0
if-lez p3, :cond_3
.line 2546
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureBottomGlow()V
.line 2547
iget-object p2, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getHeight()I
move-result p3
int-to-float p3, p3
div-float/2addr p4, p3
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I
move-result p3
int-to-float p3, p3
div-float/2addr p1, p3
sub-float/2addr v3, p1
invoke-static {p2, p4, v3}, Landroidx/core/widget/EdgeEffectCompat;->onPull(Landroid/widget/EdgeEffect;FF)V
goto :goto_1
:cond_3
if-nez v2, :cond_4
cmpl-float p1, p2, v0
if-nez p1, :cond_4
cmpl-float p1, p4, v0
if-eqz p1, :cond_5
.line 2552
:cond_4
:goto_1
invoke-static {p0}, Landroidx/core/view/ViewCompat;->postInvalidateOnAnimation(Landroid/view/View;)V
:cond_5
return-void
.end method
.method private recoverFocusFromState()V
.locals 6
.line 3929
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}, Landroidx/recyclerview/widget/RecyclerView;->hasFocus()Z
move-result v0
if-eqz v0, :cond_9
.line 3930
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getDescendantFocusability()I
move-result v0
const/high16 v1, 0x60000
if-eq v0, v1, :cond_9
.line 3931
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getDescendantFocusability()I
move-result v0
const/high16 v1, 0x20000
if-ne v0, v1, :cond_0
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isFocused()Z
move-result v0
if-eqz v0, :cond_0
goto/16 :goto_3
.line 3939
:cond_0
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isFocused()Z
move-result v0
if-nez v0, :cond_3
.line 3940
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getFocusedChild()Landroid/view/View;
move-result-object v0
.line 3941
sget-boolean v1, Landroidx/recyclerview/widget/RecyclerView;->IGNORE_DETACHED_FOCUSED_CHILD:Z
if-eqz v1, :cond_2
.line 3942
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 3954
:cond_1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I
move-result v0
if-nez v0, :cond_3
.line 3957
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestFocus()Z
return-void
.line 3960
:cond_2
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v1, v0}, Landroidx/recyclerview/widget/ChildHelper;->isHidden(Landroid/view/View;)Z
move-result v0
if-nez v0, :cond_3
return-void
.line 3970
:cond_3
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iget-wide v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemId: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 3971
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iget-wide v4, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemId:J
invoke-virtual {p0, v4, v5}, Landroidx/recyclerview/widget/RecyclerView;->findViewHolderForItemId(J)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v0
goto :goto_0
:cond_4
move-object v0, v1
:goto_0
if-eqz v0, :cond_6
.line 3974
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
iget-object v5, v0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
invoke-virtual {v4, v5}, Landroidx/recyclerview/widget/ChildHelper;->isHidden(Landroid/view/View;)Z
move-result v4
if-nez v4, :cond_6
iget-object v4, v0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
.line 3975
invoke-virtual {v4}, Landroid/view/View;->hasFocusable()Z
move-result v4
if-nez v4, :cond_5
goto :goto_1
.line 3988
:cond_5
iget-object v1, v0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
goto :goto_2
.line 3976
:cond_6
:goto_1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I
move-result v0
if-lez v0, :cond_7
.line 3983
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 3992
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iget v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedSubChildId:I
int-to-long v4, v0
cmp-long v0, v4, v2
if-eqz v0, :cond_8
.line 3993
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iget v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedSubChildId:I
invoke-virtual {v1, v0}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v0
if-eqz v0, :cond_8
.line 3994
invoke-virtual {v0}, Landroid/view/View;->isFocusable()Z
move-result v2
if-eqz v2, :cond_8
move-object v1, v0
.line 3998
: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 2558
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
if-eqz v0, :cond_0
.line 2559
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->onRelease()V
.line 2560
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 2562
:goto_0
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
if-eqz v1, :cond_1
.line 2563
invoke-virtual {v1}, Landroid/widget/EdgeEffect;->onRelease()V
.line 2564
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 2566
:cond_1
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
if-eqz v1, :cond_2
.line 2567
invoke-virtual {v1}, Landroid/widget/EdgeEffect;->onRelease()V
.line 2568
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 2570
:cond_2
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
if-eqz v1, :cond_3
.line 2571
invoke-virtual {v1}, Landroid/widget/EdgeEffect;->onRelease()V
.line 2572
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 2575
invoke-static {p0}, Landroidx/core/view/ViewCompat;->postInvalidateOnAnimation(Landroid/view/View;)V
:cond_4
return-void
.end method
.method private requestChildOnScreen(Landroid/view/View;Landroid/view/View;)V
.locals 11
if-eqz p2, :cond_0
move-object v0, p2
goto :goto_0
:cond_0
move-object v0, p1
.line 2910
: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 2915
invoke-virtual {v0}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
move-result-object v0
.line 2916
instance-of v1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
if-eqz v1, :cond_1
.line 2918
check-cast v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
.line 2919
iget-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mInsetsDirty:Z
if-nez v1, :cond_1
.line 2920
iget-object v0, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mDecorInsets:Landroid/graphics/Rect;
.line 2921
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 2922
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
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 2923
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
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 2924
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
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 2929
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
invoke-virtual {p0, p2, v0}, Landroidx/recyclerview/widget/RecyclerView;->offsetDescendantRectToMyCoords(Landroid/view/View;Landroid/graphics/Rect;)V
.line 2930
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
invoke-virtual {p0, p1, v0}, Landroidx/recyclerview/widget/RecyclerView;->offsetRectIntoDescendantCoords(Landroid/view/View;Landroid/graphics/Rect;)V
.line 2932
:cond_2
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
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$LayoutManager;->requestChildRectangleOnScreen(Landroidx/recyclerview/widget/RecyclerView;Landroid/view/View;Landroid/graphics/Rect;ZZ)Z
return-void
.end method
.method private resetFocusInfo()V
.locals 3
.line 3887
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
const-wide/16 v1, -0x1
iput-wide v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemId:J
.line 3888
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
const/4 v1, -0x1
iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemPosition:I
.line 3889
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedSubChildId:I
return-void
.end method
.method private resetScroll()V
.locals 1
.line 3435
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
if-eqz v0, :cond_0
.line 3436
invoke-virtual {v0}, Landroid/view/VelocityTracker;->clear()V
:cond_0
const/4 v0, 0x0
.line 3438
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->stopNestedScroll(I)V
.line 3439
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->releaseGlows()V
return-void
.end method
.method private saveFocusInfo()V
.locals 4
.line 3867
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPreserveFocusAfterLayout:Z
const/4 v1, 0x0
if-eqz v0, :cond_0
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->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 3868
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->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 3871
:cond_1
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->findContainingViewHolder(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v1
:goto_1
if-nez v1, :cond_2
.line 3873
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->resetFocusInfo()V
goto :goto_4
.line 3875
:cond_2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
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$ViewHolder;->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$State;->mFocusedItemId:J
.line 3879
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iget-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z
if-eqz v2, :cond_4
const/4 v2, -0x1
goto :goto_3
.line 3880
:cond_4
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isRemoved()Z
move-result v2
if-eqz v2, :cond_5
iget v2, v1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mOldPosition:I
goto :goto_3
.line 3881
:cond_5
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getAdapterPosition()I
move-result v2
:goto_3
iput v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemPosition:I
.line 3882
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iget-object v1, v1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->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$State;->mFocusedSubChildId:I
:goto_4
return-void
.end method
.method private setAdapterInternal(Landroidx/recyclerview/widget/RecyclerView$Adapter;ZZ)V
.locals 2
.line 1197
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
if-eqz v0, :cond_0
.line 1198
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mObserver:Landroidx/recyclerview/widget/RecyclerView$RecyclerViewDataObserver;
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->unregisterAdapterDataObserver(Landroidx/recyclerview/widget/RecyclerView$AdapterDataObserver;)V
.line 1199
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 1202
:cond_1
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->removeAndRecycleViews()V
.line 1204
:cond_2
iget-object p3, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
invoke-virtual {p3}, Landroidx/recyclerview/widget/AdapterHelper;->reset()V
.line 1205
iget-object p3, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
.line 1206
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
if-eqz p1, :cond_3
.line 1208
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mObserver:Landroidx/recyclerview/widget/RecyclerView$RecyclerViewDataObserver;
invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->registerAdapterDataObserver(Landroidx/recyclerview/widget/RecyclerView$AdapterDataObserver;)V
.line 1209
invoke-virtual {p1, p0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->onAttachedToRecyclerView(Landroidx/recyclerview/widget/RecyclerView;)V
.line 1211
:cond_3
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz p1, :cond_4
.line 1212
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
invoke-virtual {p1, p3, v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onAdapterChanged(Landroidx/recyclerview/widget/RecyclerView$Adapter;Landroidx/recyclerview/widget/RecyclerView$Adapter;)V
.line 1214
:cond_4
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
invoke-virtual {p1, p3, v0, p2}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->onAdapterChanged(Landroidx/recyclerview/widget/RecyclerView$Adapter;Landroidx/recyclerview/widget/RecyclerView$Adapter;Z)V
.line 1215
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
const/4 p2, 0x1
iput-boolean p2, p1, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z
return-void
.end method
.method private stopScrollersInternal()V
.locals 1
.line 2501
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;->stop()V
.line 2502
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v0, :cond_0
.line 2503
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->stopSmoothScroller()V
:cond_0
return-void
.end method
# virtual methods
.method absorbGlows(II)V
.locals 2
if-gez p1, :cond_0
.line 2604
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureLeftGlow()V
.line 2605
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 2606
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 2609
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureRightGlow()V
.line 2610
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 2611
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 2616
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureTopGlow()V
.line 2617
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 2618
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 2621
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureBottomGlow()V
.line 2622
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 2623
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 2628
:cond_4
invoke-static {p0}, Landroidx/core/view/ViewCompat;->postInvalidateOnAnimation(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 2943
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v0, :cond_0
invoke-virtual {v0, p0, p1, p2, p3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onAddFocusables(Landroidx/recyclerview/widget/RecyclerView;Ljava/util/ArrayList;II)Z
move-result v0
if-nez v0, :cond_1
.line 2944
: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$ItemDecoration;)V
.locals 1
const/4 v0, -0x1
.line 1597
invoke-virtual {p0, p1, v0}, Landroidx/recyclerview/widget/RecyclerView;->addItemDecoration(Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;I)V
return-void
.end method
.method public addItemDecoration(Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;I)V
.locals 2
.line 1568
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v0, :cond_0
.line 1569
const-string v1, "Cannot add item decoration during a scroll or layout"
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->assertNotInLayoutOrScroll(Ljava/lang/String;)V
.line 1572
: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 1573
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setWillNotDraw(Z)V
:cond_1
if-gez p2, :cond_2
.line 1576
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 1578
: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 1580
:goto_0
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->markItemDecorInsetsDirty()V
.line 1581
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
return-void
.end method
.method public addOnChildAttachStateChangeListener(Landroidx/recyclerview/widget/RecyclerView$OnChildAttachStateChangeListener;)V
.locals 1
.line 1273
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List;
if-nez v0, :cond_0
.line 1274
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 1276
: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$OnItemTouchListener;)V
.locals 1
.line 3079
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$OnScrollListener;)V
.locals 1
.line 1706
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List;
if-nez v0, :cond_0
.line 1707
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 1709
: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 animateAppearance(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V
.locals 1
const/4 v0, 0x0
.line 4363
invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->setIsRecyclable(Z)V
.line 4364
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;->animateAppearance(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)Z
move-result p1
if-eqz p1, :cond_0
.line 4365
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->postAnimationRunner()V
:cond_0
return-void
.end method
.method animateDisappearance(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V
.locals 1
.line 4371
invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->addAnimatingView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
const/4 v0, 0x0
.line 4372
invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->setIsRecyclable(Z)V
.line 4373
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;->animateDisappearance(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)Z
move-result p1
if-eqz p1, :cond_0
.line 4374
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->postAnimationRunner()V
:cond_0
return-void
.end method
.method assertInLayoutOrScroll(Ljava/lang/String;)V
.locals 2
.line 3030
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isComputingLayout()Z
move-result v0
if-nez v0, :cond_1
if-nez p1, :cond_0
.line 3032
new-instance p1, Ljava/lang/IllegalStateException;
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "Cannot call this method unless RecyclerView is computing a layout or scrolling"
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
.line 3033
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
.line 3035
:cond_0
new-instance v0, Ljava/lang/IllegalStateException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p1
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String;
move-result-object v1
invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p1
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()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 assertNotInLayoutOrScroll(Ljava/lang/String;)V
.locals 2
.line 3048
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isComputingLayout()Z
move-result v0
if-eqz v0, :cond_1
if-nez p1, :cond_0
.line 3050
new-instance p1, Ljava/lang/IllegalStateException;
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "Cannot call this method while RecyclerView is computing a layout or scrolling"
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
.line 3051
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
.line 3053
:cond_0
new-instance v0, Ljava/lang/IllegalStateException;
invoke-direct {v0, p1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.line 3055
:cond_1
iget p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchScrollCounter:I
if-lez p1, :cond_2
.line 3056
new-instance p1, Ljava/lang/IllegalStateException;
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, ""
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
.line 3061
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
.line 3056
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."
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 canReuseUpdatedViewHolder(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Z
.locals 2
.line 4674
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
if-eqz v0, :cond_1
.line 4675
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getUnmodifiedPayloads()Ljava/util/List;
move-result-object v1
.line 4674
invoke-virtual {v0, p1, v1}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->canReuseUpdatedViewHolder(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;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 protected checkLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Z
.locals 1
.line 4500
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$LayoutManager;
check-cast p1, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->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 clearOldPositions()V
.locals 4
.line 4554
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I
move-result v0
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_1
.line 4556
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View;
move-result-object v2
invoke-static {v2}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v2
.line 4557
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
move-result v3
if-nez v3, :cond_0
.line 4558
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->clearOldPosition()V
:cond_0
add-int/lit8 v1, v1, 0x1
goto :goto_0
.line 4561
:cond_1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->clearOldPositions()V
return-void
.end method
.method public clearOnChildAttachStateChangeListeners()V
.locals 1
.line 1297
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List;
if-eqz v0, :cond_0
.line 1298
invoke-interface {v0}, Ljava/util/List;->clear()V
:cond_0
return-void
.end method
.method public clearOnScrollListeners()V
.locals 1
.line 1727
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List;
if-eqz v0, :cond_0
.line 1728
invoke-interface {v0}, Ljava/util/List;->clear()V
:cond_0
return-void
.end method
.method public computeHorizontalScrollExtent()I
.locals 2
.line 2024
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
const/4 v1, 0x0
if-nez v0, :cond_0
return v1
.line 2027
:cond_0
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z
move-result v0
if-eqz v0, :cond_1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->computeHorizontalScrollExtent(Landroidx/recyclerview/widget/RecyclerView$State;)I
move-result v1
:cond_1
return v1
.end method
.method public computeHorizontalScrollOffset()I
.locals 2
.line 1999
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
const/4 v1, 0x0
if-nez v0, :cond_0
return v1
.line 2002
:cond_0
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z
move-result v0
if-eqz v0, :cond_1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->computeHorizontalScrollOffset(Landroidx/recyclerview/widget/RecyclerView$State;)I
move-result v1
:cond_1
return v1
.end method
.method public computeHorizontalScrollRange()I
.locals 2
.line 2047
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
const/4 v1, 0x0
if-nez v0, :cond_0
return v1
.line 2050
:cond_0
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z
move-result v0
if-eqz v0, :cond_1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->computeHorizontalScrollRange(Landroidx/recyclerview/widget/RecyclerView$State;)I
move-result v1
:cond_1
return v1
.end method
.method public computeVerticalScrollExtent()I
.locals 2
.line 2096
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
const/4 v1, 0x0
if-nez v0, :cond_0
return v1
.line 2099
:cond_0
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z
move-result v0
if-eqz v0, :cond_1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->computeVerticalScrollExtent(Landroidx/recyclerview/widget/RecyclerView$State;)I
move-result v1
:cond_1
return v1
.end method
.method public computeVerticalScrollOffset()I
.locals 2
.line 2072
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
const/4 v1, 0x0
if-nez v0, :cond_0
return v1
.line 2075
:cond_0
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z
move-result v0
if-eqz v0, :cond_1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->computeVerticalScrollOffset(Landroidx/recyclerview/widget/RecyclerView$State;)I
move-result v1
:cond_1
return v1
.end method
.method public computeVerticalScrollRange()I
.locals 2
.line 2119
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
const/4 v1, 0x0
if-nez v0, :cond_0
return v1
.line 2122
:cond_0
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z
move-result v0
if-eqz v0, :cond_1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->computeVerticalScrollRange(Landroidx/recyclerview/widget/RecyclerView$State;)I
move-result v1
:cond_1
return v1
.end method
.method considerReleasingGlowsOnScroll(II)V
.locals 2
.line 2581
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 2582
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->onRelease()V
.line 2583
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 2585
: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 2586
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
invoke-virtual {p1}, Landroid/widget/EdgeEffect;->onRelease()V
.line 2587
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 2589
: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 2590
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
invoke-virtual {p1}, Landroid/widget/EdgeEffect;->onRelease()V
.line 2591
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 2593
: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 2594
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
invoke-virtual {p1}, Landroid/widget/EdgeEffect;->onRelease()V
.line 2595
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 2598
invoke-static {p0}, Landroidx/core/view/ViewCompat;->postInvalidateOnAnimation(Landroid/view/View;)V
:cond_4
return-void
.end method
.method consumePendingUpdateOperations()V
.locals 3
.line 1865
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 1871
:cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->hasPendingUpdates()Z
move-result v0
if-nez v0, :cond_1
return-void
.line 1877
:cond_1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
const/4 v2, 0x4
invoke-virtual {v0, v2}, Landroidx/recyclerview/widget/AdapterHelper;->hasAnyUpdateTypes(I)Z
move-result v0
if-eqz v0, :cond_4
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
const/16 v2, 0xb
.line 1878
invoke-virtual {v0, v2}, Landroidx/recyclerview/widget/AdapterHelper;->hasAnyUpdateTypes(I)Z
move-result v0
if-nez v0, :cond_4
.line 1880
const-string v0, "RV PartialInvalidate"
invoke-static {v0}, Landroidx/core/os/TraceCompat;->beginSection(Ljava/lang/String;)V
.line 1881
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
.line 1882
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V
.line 1883
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->preProcess()V
.line 1884
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z
if-nez v0, :cond_3
.line 1885
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->hasUpdatedView()Z
move-result v0
if-eqz v0, :cond_2
.line 1886
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayout()V
goto :goto_0
.line 1889
:cond_2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->consumePostponedUpdates()V
:cond_3
:goto_0
const/4 v0, 0x1
.line 1892
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
.line 1893
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V
.line 1894
invoke-static {}, Landroidx/core/os/TraceCompat;->endSection()V
goto :goto_1
.line 1895
:cond_4
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->hasPendingUpdates()Z
move-result v0
if-eqz v0, :cond_5
.line 1896
invoke-static {v1}, Landroidx/core/os/TraceCompat;->beginSection(Ljava/lang/String;)V
.line 1897
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayout()V
.line 1898
invoke-static {}, Landroidx/core/os/TraceCompat;->endSection()V
:cond_5
:goto_1
return-void
.line 1866
:cond_6
:goto_2
invoke-static {v1}, Landroidx/core/os/TraceCompat;->beginSection(Ljava/lang/String;)V
.line 1867
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayout()V
.line 1868
invoke-static {}, Landroidx/core/os/TraceCompat;->endSection()V
return-void
.end method
.method defaultOnMeasure(II)V
.locals 2
.line 3607
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingLeft()I
move-result v0
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingRight()I
move-result v1
add-int/2addr v0, v1
.line 3608
invoke-static {p0}, Landroidx/core/view/ViewCompat;->getMinimumWidth(Landroid/view/View;)I
move-result v1
.line 3606
invoke-static {p1, v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->chooseSize(III)I
move-result p1
.line 3610
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingTop()I
move-result v0
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingBottom()I
move-result v1
add-int/2addr v0, v1
.line 3611
invoke-static {p0}, Landroidx/core/view/ViewCompat;->getMinimumHeight(Landroid/view/View;)I
move-result v1
.line 3609
invoke-static {p2, v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->chooseSize(III)I
move-result p2
.line 3613
invoke-virtual {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->setMeasuredDimension(II)V
return-void
.end method
.method dispatchChildAttached(Landroid/view/View;)V
.locals 2
.line 7553
invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v0
.line 7554
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->onChildAttachedToWindow(Landroid/view/View;)V
.line 7555
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 7556
invoke-virtual {v1, v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->onViewAttachedToWindow(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
.line 7558
:cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List;
if-eqz v0, :cond_1
.line 7559
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 7561
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$OnChildAttachStateChangeListener;
invoke-interface {v1, p1}, Landroidx/recyclerview/widget/RecyclerView$OnChildAttachStateChangeListener;->onChildViewAttachedToWindow(Landroid/view/View;)V
add-int/lit8 v0, v0, -0x1
goto :goto_0
:cond_1
return-void
.end method
.method dispatchChildDetached(Landroid/view/View;)V
.locals 2
.line 7538
invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v0
.line 7539
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->onChildDetachedFromWindow(Landroid/view/View;)V
.line 7540
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 7541
invoke-virtual {v1, v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->onViewDetachedFromWindow(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
.line 7543
:cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List;
if-eqz v0, :cond_1
.line 7544
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 7546
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$OnChildAttachStateChangeListener;
invoke-interface {v1, p1}, Landroidx/recyclerview/widget/RecyclerView$OnChildAttachStateChangeListener;->onChildViewDetachedFromWindow(Landroid/view/View;)V
add-int/lit8 v0, v0, -0x1
goto :goto_0
:cond_1
return-void
.end method
.method dispatchLayout()V
.locals 2
.line 3837
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
const-string v1, "RecyclerView"
if-nez v0, :cond_0
.line 3838
const-string v0, "No adapter attached; skipping layout"
invoke-static {v1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
return-void
.line 3842
:cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-nez v0, :cond_1
.line 3843
const-string v0, "No layout manager attached; skipping layout"
invoke-static {v1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
return-void
.line 3847
:cond_1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
const/4 v1, 0x0
iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mIsMeasuring:Z
.line 3848
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iget v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mLayoutStep:I
const/4 v1, 0x1
if-ne v0, v1, :cond_2
.line 3849
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep1()V
.line 3850
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setExactMeasureSpecsFrom(Landroidx/recyclerview/widget/RecyclerView;)V
.line 3851
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep2()V
goto :goto_1
.line 3852
:cond_2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->hasUpdates()Z
move-result v0
if-nez v0, :cond_4
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->getWidth()I
move-result v0
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I
move-result v1
if-ne v0, v1, :cond_4
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
.line 3853
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->getHeight()I
move-result v0
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getHeight()I
move-result v1
if-eq v0, v1, :cond_3
goto :goto_0
.line 3860
:cond_3
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setExactMeasureSpecsFrom(Landroidx/recyclerview/widget/RecyclerView;)V
goto :goto_1
.line 3856
:cond_4
:goto_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setExactMeasureSpecsFrom(Landroidx/recyclerview/widget/RecyclerView;)V
.line 3857
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep2()V
.line 3862
:goto_1
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep3()V
return-void
.end method
.method public dispatchNestedFling(FFZ)Z
.locals 1
.line 11601
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
move-result-object v0
invoke-virtual {v0, p1, p2, p3}, Landroidx/core/view/NestedScrollingChildHelper;->dispatchNestedFling(FFZ)Z
move-result p1
return p1
.end method
.method public dispatchNestedPreFling(FF)Z
.locals 1
.line 11606
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
move-result-object v0
invoke-virtual {v0, p1, p2}, Landroidx/core/view/NestedScrollingChildHelper;->dispatchNestedPreFling(FF)Z
move-result p1
return p1
.end method
.method public dispatchNestedPreScroll(II[I[I)Z
.locals 1
.line 11589
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
move-result-object v0
invoke-virtual {v0, p1, p2, p3, p4}, Landroidx/core/view/NestedScrollingChildHelper;->dispatchNestedPreScroll(II[I[I)Z
move-result p1
return p1
.end method
.method public dispatchNestedPreScroll(II[I[II)Z
.locals 6
.line 11595
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
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}, Landroidx/core/view/NestedScrollingChildHelper;->dispatchNestedPreScroll(II[I[II)Z
move-result p1
return p1
.end method
.method public final dispatchNestedScroll(IIII[II[I)V
.locals 8
.line 11583
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
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}, Landroidx/core/view/NestedScrollingChildHelper;->dispatchNestedScroll(IIII[II[I)V
return-void
.end method
.method public dispatchNestedScroll(IIII[I)Z
.locals 6
.line 11569
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
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}, Landroidx/core/view/NestedScrollingChildHelper;->dispatchNestedScroll(IIII[I)Z
move-result p1
return p1
.end method
.method public dispatchNestedScroll(IIII[II)Z
.locals 7
.line 11576
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
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}, Landroidx/core/view/NestedScrollingChildHelper;->dispatchNestedScroll(IIII[II)Z
move-result p1
return p1
.end method
.method dispatchOnScrollStateChanged(I)V
.locals 2
.line 5196
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v0, :cond_0
.line 5197
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onScrollStateChanged(I)V
.line 5202
:cond_0
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->onScrollStateChanged(I)V
.line 5205
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListener:Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;
if-eqz v0, :cond_1
.line 5206
invoke-virtual {v0, p0, p1}, Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;->onScrollStateChanged(Landroidx/recyclerview/widget/RecyclerView;I)V
.line 5208
:cond_1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List;
if-eqz v0, :cond_2
.line 5209
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 5210
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$OnScrollListener;
invoke-virtual {v1, p0, p1}, Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;->onScrollStateChanged(Landroidx/recyclerview/widget/RecyclerView;I)V
add-int/lit8 v0, v0, -0x1
goto :goto_0
:cond_2
return-void
.end method
.method dispatchOnScrolled(II)V
.locals 4
.line 5154
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 5159
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollX()I
move-result v0
.line 5160
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollY()I
move-result v1
sub-int v2, v0, p1
sub-int v3, v1, p2
.line 5161
invoke-virtual {p0, v0, v1, v2, v3}, Landroidx/recyclerview/widget/RecyclerView;->onScrollChanged(IIII)V
.line 5164
invoke-virtual {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->onScrolled(II)V
.line 5168
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListener:Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;
if-eqz v0, :cond_0
.line 5169
invoke-virtual {v0, p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;->onScrolled(Landroidx/recyclerview/widget/RecyclerView;II)V
.line 5171
:cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List;
if-eqz v0, :cond_1
.line 5172
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 5173
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$OnScrollListener;
invoke-virtual {v1, p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;->onScrolled(Landroidx/recyclerview/widget/RecyclerView;II)V
add-int/lit8 v0, v0, -0x1
goto :goto_0
.line 5176
: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 dispatchPendingImportantForAccessibilityChanges()V
.locals 5
.line 11480
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 11481
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$ViewHolder;
.line 11482
iget-object v2, v1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->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$ViewHolder;->shouldIgnore()Z
move-result v2
if-eqz v2, :cond_0
goto :goto_1
.line 11485
:cond_0
iget v2, v1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPendingAccessibilityState:I
const/4 v3, -0x1
if-eq v2, v3, :cond_1
.line 11488
iget-object v4, v1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
invoke-static {v4, v2}, Landroidx/core/view/ViewCompat;->setImportantForAccessibility(Landroid/view/View;I)V
.line 11489
iput v3, v1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPendingAccessibilityState:I
:cond_1
:goto_1
add-int/lit8 v0, v0, -0x1
goto :goto_0
.line 11493
: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 3741
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->onPopulateAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)V
const/4 p1, 0x1
return p1
.end method
.method protected dispatchRestoreInstanceState(Landroid/util/SparseArray;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/util/SparseArray<",
"Landroid/os/Parcelable;",
">;)V"
}
.end annotation
.line 1419
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->dispatchThawSelfOnly(Landroid/util/SparseArray;)V
return-void
.end method
.method protected dispatchSaveInstanceState(Landroid/util/SparseArray;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/util/SparseArray<",
"Landroid/os/Parcelable;",
">;)V"
}
.end annotation
.line 1411
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->dispatchFreezeSelfOnly(Landroid/util/SparseArray;)V
return-void
.end method
.method public draw(Landroid/graphics/Canvas;)V
.locals 7
.line 4429
invoke-super {p0, p1}, Landroid/view/ViewGroup;->draw(Landroid/graphics/Canvas;)V
.line 4431
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 4433
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$ItemDecoration;
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {v3, p1, p0, v4}, Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;->onDrawOver(Landroid/graphics/Canvas;Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$State;)V
add-int/lit8 v2, v2, 0x1
goto :goto_0
.line 4438
: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 4439
invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I
move-result v0
.line 4440
iget-boolean v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
if-eqz v3, :cond_1
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingBottom()I
move-result v3
goto :goto_1
:cond_1
move v3, v1
:goto_1
const/high16 v4, 0x43870000 # 270.0f
.line 4441
invoke-virtual {p1, v4}, Landroid/graphics/Canvas;->rotate(F)V
.line 4442
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->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 4443
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 4444
:goto_2
invoke-virtual {p1, v0}, Landroid/graphics/Canvas;->restoreToCount(I)V
goto :goto_3
:cond_3
move v3, v1
.line 4446
: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 4447
invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I
move-result v0
.line 4448
iget-boolean v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
if-eqz v4, :cond_4
.line 4449
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingLeft()I
move-result v4
int-to-float v4, v4
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingTop()I
move-result v5
int-to-float v5, v5
invoke-virtual {p1, v4, v5}, Landroid/graphics/Canvas;->translate(FF)V
.line 4451
: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 4452
invoke-virtual {p1, v0}, Landroid/graphics/Canvas;->restoreToCount(I)V
.line 4454
: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 4455
invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I
move-result v0
.line 4456
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I
move-result v4
.line 4457
iget-boolean v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
if-eqz v5, :cond_7
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingTop()I
move-result v5
goto :goto_5
:cond_7
move v5, v1
:goto_5
const/high16 v6, 0x42b40000 # 90.0f
.line 4458
invoke-virtual {p1, v6}, Landroid/graphics/Canvas;->rotate(F)V
neg-int v5, v5
int-to-float v5, v5
neg-int v4, v4
int-to-float v4, v4
.line 4459
invoke-virtual {p1, v5, v4}, Landroid/graphics/Canvas;->translate(FF)V
.line 4460
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 4461
invoke-virtual {p1, v0}, Landroid/graphics/Canvas;->restoreToCount(I)V
.line 4463
: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 4464
invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I
move-result v0
const/high16 v4, 0x43340000 # 180.0f
.line 4465
invoke-virtual {p1, v4}, Landroid/graphics/Canvas;->rotate(F)V
.line 4466
iget-boolean v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
if-eqz v4, :cond_a
.line 4467
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I
move-result v4
neg-int v4, v4
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingRight()I
move-result v5
add-int/2addr v4, v5
int-to-float v4, v4
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getHeight()I
move-result v5
neg-int v5, v5
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingBottom()I
move-result v6
add-int/2addr v5, v6
int-to-float v5, v5
invoke-virtual {p1, v4, v5}, Landroid/graphics/Canvas;->translate(FF)V
goto :goto_7
.line 4469
:cond_a
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I
move-result v4
neg-int v4, v4
int-to-float v4, v4
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->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 4471
: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 4472
invoke-virtual {p1, v0}, Landroid/graphics/Canvas;->restoreToCount(I)V
:cond_c
if-nez v3, :cond_d
.line 4478
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 4479
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->isRunning()Z
move-result p1
if-eqz p1, :cond_d
goto :goto_8
:cond_d
if-eqz v3, :cond_e
.line 4484
:goto_8
invoke-static {p0}, Landroidx/core/view/ViewCompat;->postInvalidateOnAnimation(Landroid/view/View;)V
:cond_e
return-void
.end method
.method public drawChild(Landroid/graphics/Canvas;Landroid/view/View;J)Z
.locals 0
.line 5030
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 ensureBottomGlow()V
.locals 4
.line 2673
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
if-eqz v0, :cond_0
return-void
.line 2676
: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;->createEdgeEffect(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 2677
iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
if-eqz v1, :cond_1
.line 2678
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredWidth()I
move-result v1
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingLeft()I
move-result v2
sub-int/2addr v1, v2
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingRight()I
move-result v2
sub-int/2addr v1, v2
.line 2679
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredHeight()I
move-result v2
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingTop()I
move-result v3
sub-int/2addr v2, v3
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingBottom()I
move-result v3
sub-int/2addr v2, v3
.line 2678
invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V
goto :goto_0
.line 2681
:cond_1
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredWidth()I
move-result v1
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredHeight()I
move-result v2
invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V
:goto_0
return-void
.end method
.method ensureLeftGlow()V
.locals 4
.line 2633
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
if-eqz v0, :cond_0
return-void
.line 2636
: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;->createEdgeEffect(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 2637
iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
if-eqz v1, :cond_1
.line 2638
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredHeight()I
move-result v1
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingTop()I
move-result v2
sub-int/2addr v1, v2
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingBottom()I
move-result v2
sub-int/2addr v1, v2
.line 2639
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredWidth()I
move-result v2
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingLeft()I
move-result v3
sub-int/2addr v2, v3
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingRight()I
move-result v3
sub-int/2addr v2, v3
.line 2638
invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V
goto :goto_0
.line 2641
:cond_1
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredHeight()I
move-result v1
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredWidth()I
move-result v2
invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V
:goto_0
return-void
.end method
.method ensureRightGlow()V
.locals 4
.line 2646
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
if-eqz v0, :cond_0
return-void
.line 2649
: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;->createEdgeEffect(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 2650
iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
if-eqz v1, :cond_1
.line 2651
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredHeight()I
move-result v1
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingTop()I
move-result v2
sub-int/2addr v1, v2
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingBottom()I
move-result v2
sub-int/2addr v1, v2
.line 2652
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredWidth()I
move-result v2
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingLeft()I
move-result v3
sub-int/2addr v2, v3
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingRight()I
move-result v3
sub-int/2addr v2, v3
.line 2651
invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V
goto :goto_0
.line 2654
:cond_1
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredHeight()I
move-result v1
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredWidth()I
move-result v2
invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V
:goto_0
return-void
.end method
.method ensureTopGlow()V
.locals 4
.line 2659
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
if-eqz v0, :cond_0
return-void
.line 2662
: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;->createEdgeEffect(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 2663
iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
if-eqz v1, :cond_1
.line 2664
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredWidth()I
move-result v1
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingLeft()I
move-result v2
sub-int/2addr v1, v2
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingRight()I
move-result v2
sub-int/2addr v1, v2
.line 2665
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredHeight()I
move-result v2
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingTop()I
move-result v3
sub-int/2addr v2, v3
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingBottom()I
move-result v3
sub-int/2addr v2, v3
.line 2664
invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V
goto :goto_0
.line 2667
:cond_1
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredWidth()I
move-result v1
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredHeight()I
move-result v2
invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V
:goto_0
return-void
.end method
.method exceptionLabel()Ljava/lang/String;
.locals 2
.line 733
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, " "
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
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;
move-result-object v0
const-string v1, ", adapter:"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
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;
move-result-object v0
const-string v1, ", layout:"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, ", context:"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
.line 736
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getContext()Landroid/content/Context;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method final fillRemainingScrollValues(Landroidx/recyclerview/widget/RecyclerView$State;)V
.locals 3
.line 4015
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollState()I
move-result v0
const/4 v1, 0x2
if-ne v0, v1, :cond_0
.line 4016
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;
iget-object v0, v0, Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;->mOverScroller:Landroid/widget/OverScroller;
.line 4017
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$State;->mRemainingScrollHorizontal:I
.line 4018
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$State;->mRemainingScrollVertical:I
goto :goto_0
:cond_0
const/4 v0, 0x0
.line 4020
iput v0, p1, Landroidx/recyclerview/widget/RecyclerView$State;->mRemainingScrollHorizontal:I
.line 4021
iput v0, p1, Landroidx/recyclerview/widget/RecyclerView$State;->mRemainingScrollVertical:I
:goto_0
return-void
.end method
.method public findChildViewUnder(FF)Landroid/view/View;
.locals 5
.line 5013
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I
move-result v0
add-int/lit8 v0, v0, -0x1
:goto_0
if-ltz v0, :cond_1
.line 5015
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v1, v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View;
move-result-object v1
.line 5016
invoke-virtual {v1}, Landroid/view/View;->getTranslationX()F
move-result v2
.line 5017
invoke-virtual {v1}, Landroid/view/View;->getTranslationY()F
move-result v3
.line 5018
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 5019
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 5020
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 5021
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
.line 4792
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 4793
instance-of v1, v0, Landroid/view/View;
if-eqz v1, :cond_0
.line 4794
move-object p1, v0
check-cast p1, Landroid/view/View;
.line 4795
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$ViewHolder;
.locals 0
.line 4810
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 4811
:cond_0
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolder(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object p1
:goto_0
return-object p1
.end method
.method public findViewHolderForAdapterPosition(I)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.locals 5
.line 4924
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z
const/4 v1, 0x0
if-eqz v0, :cond_0
return-object v1
.line 4927
:cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I
move-result v0
const/4 v2, 0x0
:goto_0
if-ge v2, v0, :cond_3
.line 4931
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View;
move-result-object v3
invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v3
if-eqz v3, :cond_2
.line 4932
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isRemoved()Z
move-result v4
if-nez v4, :cond_2
.line 4933
invoke-virtual {p0, v3}, Landroidx/recyclerview/widget/RecyclerView;->getAdapterPositionFor(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)I
move-result v4
if-ne v4, p1, :cond_2
.line 4934
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
iget-object v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
invoke-virtual {v1, v4}, Landroidx/recyclerview/widget/ChildHelper;->isHidden(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$ViewHolder;
.locals 6
.line 4986
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 4989
:cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I
move-result v0
const/4 v2, 0x0
:goto_0
if-ge v2, v0, :cond_3
.line 4992
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View;
move-result-object v3
invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v3
if-eqz v3, :cond_2
.line 4993
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isRemoved()Z
move-result v4
if-nez v4, :cond_2
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getItemId()J
move-result-wide v4
cmp-long v4, v4, p1
if-nez v4, :cond_2
.line 4994
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
iget-object v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
invoke-virtual {v1, v4}, Landroidx/recyclerview/widget/ChildHelper;->isHidden(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$ViewHolder;
.locals 1
const/4 v0, 0x0
.line 4902
invoke-virtual {p0, p1, v0}, Landroidx/recyclerview/widget/RecyclerView;->findViewHolderForPosition(IZ)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object p1
return-object p1
.end method
.method public findViewHolderForPosition(I)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.locals 1
.annotation runtime Ljava/lang/Deprecated;
.end annotation
const/4 v0, 0x0
.line 4878
invoke-virtual {p0, p1, v0}, Landroidx/recyclerview/widget/RecyclerView;->findViewHolderForPosition(IZ)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object p1
return-object p1
.end method
.method findViewHolderForPosition(IZ)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.locals 5
.line 4946
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I
move-result v0
const/4 v1, 0x0
const/4 v2, 0x0
:goto_0
if-ge v2, v0, :cond_4
.line 4949
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View;
move-result-object v3
invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v3
if-eqz v3, :cond_3
.line 4950
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isRemoved()Z
move-result v4
if-nez v4, :cond_3
if-eqz p2, :cond_0
.line 4952
iget v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I
if-eq v4, p1, :cond_1
goto :goto_1
.line 4955
:cond_0
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getLayoutPosition()I
move-result v4
if-eq v4, p1, :cond_1
goto :goto_1
.line 4958
:cond_1
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
iget-object v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
invoke-virtual {v1, v4}, Landroidx/recyclerview/widget/ChildHelper;->isHidden(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 2438
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
const/4 v1, 0x0
if-nez v0, :cond_0
.line 2439
const-string p1, "RecyclerView"
const-string p2, "Cannot fling without a LayoutManager set. Call setLayoutManager with a non-null argument."
invoke-static {p1, p2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
return v1
.line 2443
:cond_0
iget-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
if-eqz v2, :cond_1
return v1
.line 2447
:cond_1
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z
move-result v0
.line 2448
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z
move-result v2
if-eqz v0, :cond_2
.line 2450
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 2453
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 2461
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 2463
:goto_1
invoke-virtual {p0, v3, v4, v6}, Landroidx/recyclerview/widget/RecyclerView;->dispatchNestedFling(FFZ)Z
.line 2465
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnFlingListener:Landroidx/recyclerview/widget/RecyclerView$OnFlingListener;
if-eqz v3, :cond_9
invoke-virtual {v3, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$OnFlingListener;->onFling(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 2477
:cond_a
invoke-virtual {p0, v0, v5}, Landroidx/recyclerview/widget/RecyclerView;->startNestedScroll(II)Z
.line 2479
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 2480
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 2481
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;
invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;->fling(II)V
return v5
:cond_b
return v1
.end method
.method public focusSearch(Landroid/view/View;I)Landroid/view/View;
.locals 8
.line 2748
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onInterceptFocusSearch(Landroid/view/View;I)Landroid/view/View;
move-result-object v0
if-eqz v0, :cond_0
return-object v0
.line 2752
: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$LayoutManager;
if-eqz v0, :cond_1
.line 2753
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 2755
: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 2761
:cond_2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->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 2764
: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 2766
: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 2771
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z
move-result v0
if-eqz v0, :cond_c
.line 2772
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->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 2775
: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 2777
: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 2783
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->consumePendingUpdateOperations()V
.line 2784
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 2789
:cond_d
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
.line 2790
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {v0, p1, p2, v1, v5}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onFocusSearchFailed(Landroid/view/View;ILandroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)Landroid/view/View;
.line 2791
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
.line 2793
: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 2795
: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 2797
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->consumePendingUpdateOperations()V
.line 2798
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 2803
:cond_10
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
.line 2804
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {v0, p1, p2, v1, v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onFocusSearchFailed(Landroid/view/View;ILandroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)Landroid/view/View;
move-result-object v0
.line 2805
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 2808
invoke-virtual {v0}, Landroid/view/View;->hasFocusable()Z
move-result v1
if-nez v1, :cond_13
.line 2809
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getFocusedChild()Landroid/view/View;
move-result-object v1
if-nez v1, :cond_12
.line 2812
invoke-super {p0, p1, p2}, Landroid/view/ViewGroup;->focusSearch(Landroid/view/View;I)Landroid/view/View;
move-result-object p1
return-object p1
.line 2818
:cond_12
invoke-direct {p0, v0, v4}, Landroidx/recyclerview/widget/RecyclerView;->requestChildOnScreen(Landroid/view/View;Landroid/view/View;)V
return-object p1
.line 2821
: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 2822
: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 protected generateDefaultLayoutParams()Landroid/view/ViewGroup$LayoutParams;
.locals 3
.line 4505
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v0, :cond_0
.line 4508
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->generateDefaultLayoutParams()Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
move-result-object v0
return-object v0
.line 4506
:cond_0
new-instance v0, Ljava/lang/IllegalStateException;
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "RecyclerView has no LayoutManager"
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()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 4513
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v0, :cond_0
.line 4516
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getContext()Landroid/content/Context;
move-result-object v1
invoke-virtual {v0, v1, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->generateLayoutParams(Landroid/content/Context;Landroid/util/AttributeSet;)Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
move-result-object p1
return-object p1
.line 4514
:cond_0
new-instance p1, Ljava/lang/IllegalStateException;
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "RecyclerView has no LayoutManager"
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method protected generateLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Landroid/view/ViewGroup$LayoutParams;
.locals 2
.line 4521
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v0, :cond_0
.line 4524
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->generateLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
move-result-object p1
return-object p1
.line 4522
:cond_0
new-instance p1, Ljava/lang/IllegalStateException;
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "RecyclerView has no LayoutManager"
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()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
.line 774
const-string v0, "androidx.recyclerview.widget.RecyclerView"
return-object v0
.end method
.method public getAdapter()Landroidx/recyclerview/widget/RecyclerView$Adapter;
.locals 1
.line 1226
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
return-object v0
.end method
.method getAdapterPositionFor(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)I
.locals 1
const/16 v0, 0x20c
.line 11497
invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->hasAnyOfTheFlags(I)Z
move-result v0
if-nez v0, :cond_1
.line 11499
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isBound()Z
move-result v0
if-nez v0, :cond_0
goto :goto_0
.line 11502
:cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
iget p1, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/AdapterHelper;->applyPendingUpdatesToPosition(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 1253
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v0, :cond_0
.line 1254
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->getBaseline()I
move-result v0
return v0
.line 1256
:cond_0
invoke-super {p0}, Landroid/view/ViewGroup;->getBaseline()I
move-result v0
return v0
.end method
.method getChangedHolderKey(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)J
.locals 2
.line 4358
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$ViewHolder;->getItemId()J
move-result-wide v0
goto :goto_0
:cond_0
iget p1, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I
int-to-long v0, p1
:goto_0
return-wide v0
.end method
.method public getChildAdapterPosition(Landroid/view/View;)I
.locals 0
.line 4838
invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object p1
if-eqz p1, :cond_0
.line 4839
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getAdapterPosition()I
move-result p1
goto :goto_0
:cond_0
const/4 p1, -0x1
:goto_0
return p1
.end method
.method protected getChildDrawingOrder(II)I
.locals 1
.line 13465
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildDrawingOrderCallback:Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback;
if-nez v0, :cond_0
.line 13466
invoke-super {p0, p1, p2}, Landroid/view/ViewGroup;->getChildDrawingOrder(II)I
move-result p1
return p1
.line 13468
:cond_0
invoke-interface {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback;->onGetChildDrawingOrder(II)I
move-result p1
return p1
.end method
.method public getChildItemId(Landroid/view/View;)J
.locals 3
.line 4864
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 4867
:cond_0
invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object p1
if-eqz p1, :cond_1
.line 4868
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getItemId()J
move-result-wide v1
:cond_1
:goto_0
return-wide v1
.end method
.method public getChildLayoutPosition(Landroid/view/View;)I
.locals 0
.line 4853
invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object p1
if-eqz p1, :cond_0
.line 4854
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->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
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.line 4828
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$ViewHolder;
.locals 3
.line 4769
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 4771
:cond_0
new-instance v0, Ljava/lang/IllegalArgumentException;
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "View "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object p1
const-string v1, " is not a direct child of "
invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p1
invoke-virtual {p1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object p1
invoke-virtual {p1}, 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 4774
:cond_1
:goto_0
invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object p1
return-object p1
.end method
.method public getClipToPadding()Z
.locals 1
.line 1099
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
return v0
.end method
.method public getCompatAccessibilityDelegate()Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate;
.locals 1
.line 759
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAccessibilityDelegate:Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate;
return-object v0
.end method
.method public getDecoratedBoundsWithMargins(Landroid/view/View;Landroid/graphics/Rect;)V
.locals 0
.line 5092
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
.line 2713
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
.line 3756
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
return-object v0
.end method
.method getItemDecorInsetsForChild(Landroid/view/View;)Landroid/graphics/Rect;
.locals 8
.line 5105
invoke-virtual {p1}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
move-result-object v0
check-cast v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
.line 5106
iget-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mInsetsDirty:Z
if-nez v1, :cond_0
.line 5107
iget-object p1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mDecorInsets:Landroid/graphics/Rect;
return-object p1
.line 5110
:cond_0
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$State;->isPreLayout()Z
move-result v1
if-eqz v1, :cond_2
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->isItemChanged()Z
move-result v1
if-nez v1, :cond_1
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->isViewInvalid()Z
move-result v1
if-eqz v1, :cond_2
.line 5112
:cond_1
iget-object p1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mDecorInsets:Landroid/graphics/Rect;
return-object p1
.line 5114
:cond_2
iget-object v1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mDecorInsets:Landroid/graphics/Rect;
const/4 v2, 0x0
.line 5115
invoke-virtual {v1, v2, v2, v2, v2}, Landroid/graphics/Rect;->set(IIII)V
.line 5116
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 5118
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 5119
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$ItemDecoration;
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$State;
invoke-virtual {v5, v6, p1, p0, v7}, Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;->getItemOffsets(Landroid/graphics/Rect;Landroid/view/View;Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$State;)V
.line 5120
iget v5, v1, Landroid/graphics/Rect;->left:I
iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
iget v6, v6, Landroid/graphics/Rect;->left:I
add-int/2addr v5, v6
iput v5, v1, Landroid/graphics/Rect;->left:I
.line 5121
iget v5, v1, Landroid/graphics/Rect;->top:I
iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
iget v6, v6, Landroid/graphics/Rect;->top:I
add-int/2addr v5, v6
iput v5, v1, Landroid/graphics/Rect;->top:I
.line 5122
iget v5, v1, Landroid/graphics/Rect;->right:I
iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
iget v6, v6, Landroid/graphics/Rect;->right:I
add-int/2addr v5, v6
iput v5, v1, Landroid/graphics/Rect;->right:I
.line 5123
iget v5, v1, Landroid/graphics/Rect;->bottom:I
iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
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 5125
:cond_3
iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mInsetsDirty:Z
return-object v1
.end method
.method public getItemDecorationAt(I)Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;
.locals 3
.line 1609
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getItemDecorationCount()I
move-result v0
if-ltz p1, :cond_0
if-ge p1, v0, :cond_0
.line 1614
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$ItemDecoration;
return-object p1
.line 1611
: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;
move-result-object p1
const-string v2, " is an invalid index for size "
invoke-virtual {p1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p1
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object p1
invoke-virtual {p1}, 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 1623
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$LayoutManager;
.locals 1
.line 1474
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
return-object v0
.end method
.method public getMaxFlingVelocity()I
.locals 1
.line 2523
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMaxFlingVelocity:I
return v0
.end method
.method public getMinFlingVelocity()I
.locals 1
.line 2513
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinFlingVelocity:I
return v0
.end method
.method getNanoTime()J
.locals 2
.line 5876
sget-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->ALLOW_THREAD_GAP_WORK:Z
if-eqz v0, :cond_0
.line 5877
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$OnFlingListener;
.locals 1
.line 1375
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnFlingListener:Landroidx/recyclerview/widget/RecyclerView$OnFlingListener;
return-object v0
.end method
.method public getPreserveFocusAfterLayout()Z
.locals 1
.line 4741
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPreserveFocusAfterLayout:Z
return v0
.end method
.method public getRecycledViewPool()Landroidx/recyclerview/widget/RecyclerView$RecycledViewPool;
.locals 1
.line 1487
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->getRecycledViewPool()Landroidx/recyclerview/widget/RecyclerView$RecycledViewPool;
move-result-object v0
return-object v0
.end method
.method public getScrollState()I
.locals 1
.line 1535
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I
return v0
.end method
.method public hasFixedSize()Z
.locals 1
.line 1070
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mHasFixedSize:Z
return v0
.end method
.method public hasNestedScrollingParent()Z
.locals 1
.line 11558
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
move-result-object v0
invoke-virtual {v0}, Landroidx/core/view/NestedScrollingChildHelper;->hasNestedScrollingParent()Z
move-result v0
return v0
.end method
.method public hasNestedScrollingParent(I)Z
.locals 1
.line 11563
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
move-result-object v0
invoke-virtual {v0, p1}, Landroidx/core/view/NestedScrollingChildHelper;->hasNestedScrollingParent(I)Z
move-result p1
return p1
.end method
.method public hasPendingAdapterUpdates()Z
.locals 1
.line 5229
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/AdapterHelper;
.line 5230
invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->hasPendingUpdates()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 initAdapterManager()V
.locals 2
.line 968
new-instance v0, Landroidx/recyclerview/widget/AdapterHelper;
new-instance v1, Landroidx/recyclerview/widget/RecyclerView$6;
invoke-direct {v1, p0}, Landroidx/recyclerview/widget/RecyclerView$6;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
invoke-direct {v0, v1}, Landroidx/recyclerview/widget/AdapterHelper;-><init>(Landroidx/recyclerview/widget/AdapterHelper$Callback;)V
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
return-void
.end method
.method initFastScroller(Landroid/graphics/drawable/StateListDrawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/StateListDrawable;Landroid/graphics/drawable/Drawable;)V
.locals 10
if-eqz p1, :cond_0
if-eqz p2, :cond_0
if-eqz p3, :cond_0
if-eqz p4, :cond_0
.line 11516
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getContext()Landroid/content/Context;
move-result-object v0
invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v0
.line 11517
new-instance v1, Landroidx/recyclerview/widget/FastScroller;
sget v2, Landroidx/recyclerview/R$dimen;->fastscroll_default_thickness:I
.line 11519
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 11520
invoke-virtual {v0, v2}, Landroid/content/res/Resources;->getDimensionPixelSize(I)I
move-result v8
sget v2, Landroidx/recyclerview/R$dimen;->fastscroll_margin:I
.line 11521
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/FastScroller;-><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 11511
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
new-instance p2, Ljava/lang/StringBuilder;
const-string p3, "Trying to set fast scroller without both required drawables."
invoke-direct {p2, p3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
.line 11513
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String;
move-result-object p3
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p2
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method invalidateGlows()V
.locals 1
const/4 v0, 0x0
.line 2686
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 4718
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 4721
:cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v0, :cond_1
.line 4722
const-string v1, "Cannot invalidate item decorations during a scroll or layout"
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->assertNotInLayoutOrScroll(Ljava/lang/String;)V
.line 4725
:cond_1
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->markItemDecorInsetsDirty()V
.line 4726
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
return-void
.end method
.method isAccessibilityEnabled()Z
.locals 1
.line 3671
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 4536
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;->isRunning()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 3019
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mIsAttached:Z
return v0
.end method
.method public isComputingLayout()Z
.locals 1
.line 3705
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 2281
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isLayoutSuppressed()Z
move-result v0
return v0
.end method
.method public final isLayoutSuppressed()Z
.locals 1
.line 2242
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
return v0
.end method
.method public isNestedScrollingEnabled()Z
.locals 1
.line 11533
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
move-result-object v0
invoke-virtual {v0}, Landroidx/core/view/NestedScrollingChildHelper;->isNestedScrollingEnabled()Z
move-result v0
return v0
.end method
.method jumpToPositionForSmoothScroller(I)V
.locals 1
.line 1755
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-nez v0, :cond_0
return-void
:cond_0
const/4 v0, 0x2
.line 1761
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V
.line 1762
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->scrollToPosition(I)V
.line 1763
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->awakenScrollBars()Z
return-void
.end method
.method markItemDecorInsetsDirty()V
.locals 4
.line 4419
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I
move-result v0
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_0
.line 4421
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View;
move-result-object v2
.line 4422
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;->mInsetsDirty:Z
add-int/lit8 v1, v1, 0x1
goto :goto_0
.line 4424
:cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->markItemDecorInsetsDirty()V
return-void
.end method
.method markKnownViewsInvalid()V
.locals 4
.line 4702
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I
move-result v0
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_1
.line 4704
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View;
move-result-object v2
invoke-static {v2}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v2
if-eqz v2, :cond_0
.line 4705
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
move-result v3
if-nez v3, :cond_0
const/4 v3, 0x6
.line 4706
invoke-virtual {v2, v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->addFlags(I)V
:cond_0
add-int/lit8 v1, v1, 0x1
goto :goto_0
.line 4709
:cond_1
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->markItemDecorInsetsDirty()V
.line 4710
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->markKnownViewsInvalid()V
return-void
.end method
.method public offsetChildrenHorizontal(I)V
.locals 3
.line 5078
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I
move-result v0
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_0
.line 5080
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(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
.line 5040
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I
move-result v0
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_0
.line 5042
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(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 offsetPositionRecordsForInsert(II)V
.locals 5
.line 4599
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I
move-result v0
const/4 v1, 0x0
move v2, v1
:goto_0
if-ge v2, v0, :cond_1
.line 4601
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View;
move-result-object v3
invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v3
if-eqz v3, :cond_0
.line 4602
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
move-result v4
if-nez v4, :cond_0
iget v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I
if-lt v4, p1, :cond_0
.line 4607
invoke-virtual {v3, p2, v1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->offsetPosition(IZ)V
.line 4608
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
const/4 v4, 0x1
iput-boolean v4, v3, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z
:cond_0
add-int/lit8 v2, v2, 0x1
goto :goto_0
.line 4611
:cond_1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->offsetPositionRecordsForInsert(II)V
.line 4612
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
return-void
.end method
.method offsetPositionRecordsForMove(II)V
.locals 9
.line 4565
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()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 4578
iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v7, v6}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View;
move-result-object v7
invoke-static {v7}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v7
if-eqz v7, :cond_3
.line 4579
iget v8, v7, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I
if-lt v8, v3, :cond_3
iget v8, v7, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I
if-le v8, v4, :cond_1
goto :goto_3
.line 4586
:cond_1
iget v8, v7, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I
if-ne v8, p1, :cond_2
sub-int v8, p2, p1
.line 4587
invoke-virtual {v7, v8, v5}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->offsetPosition(IZ)V
goto :goto_2
.line 4589
:cond_2
invoke-virtual {v7, v2, v5}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->offsetPosition(IZ)V
.line 4592
:goto_2
iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iput-boolean v1, v7, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z
:cond_3
:goto_3
add-int/lit8 v6, v6, 0x1
goto :goto_1
.line 4594
:cond_4
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->offsetPositionRecordsForMove(II)V
.line 4595
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
return-void
.end method
.method offsetPositionRecordsForRemove(IIZ)V
.locals 7
add-int v0, p1, p2
.line 4618
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v1}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I
move-result v1
const/4 v2, 0x0
:goto_0
if-ge v2, v1, :cond_2
.line 4620
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View;
move-result-object v3
invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v3
if-eqz v3, :cond_1
.line 4621
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
move-result v4
if-nez v4, :cond_1
.line 4622
iget v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I
const/4 v5, 0x1
if-lt v4, v0, :cond_0
neg-int v4, p2
.line 4628
invoke-virtual {v3, v4, p3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->offsetPosition(IZ)V
.line 4629
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iput-boolean v5, v3, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z
goto :goto_1
.line 4630
:cond_0
iget v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I
if-lt v4, p1, :cond_1
add-int/lit8 v4, p1, -0x1
neg-int v6, p2
.line 4635
invoke-virtual {v3, v4, v6, p3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->flagRemovedAndOffsetPosition(IIZ)V
.line 4637
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iput-boolean v5, v3, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z
:cond_1
:goto_1
add-int/lit8 v2, v2, 0x1
goto :goto_0
.line 4641
:cond_2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v0, p1, p2, p3}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->offsetPositionRecordsForRemove(IIZ)V
.line 4642
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
return-void
.end method
.method protected onAttachedToWindow()V
.locals 4
.line 2960
invoke-super {p0}, Landroid/view/ViewGroup;->onAttachedToWindow()V
const/4 v0, 0x0
.line 2961
iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I
const/4 v1, 0x1
.line 2962
iput-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mIsAttached:Z
.line 2963
iget-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z
if-eqz v2, :cond_0
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->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 2964
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v1, :cond_1
.line 2965
invoke-virtual {v1, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->dispatchAttachedToWindow(Landroidx/recyclerview/widget/RecyclerView;)V
.line 2967
:cond_1
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPostedAnimatorRunner:Z
.line 2969
sget-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->ALLOW_THREAD_GAP_WORK:Z
if-eqz v0, :cond_4
.line 2971
sget-object v0, Landroidx/recyclerview/widget/GapWorker;->sGapWorker:Ljava/lang/ThreadLocal;
invoke-virtual {v0}, Ljava/lang/ThreadLocal;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroidx/recyclerview/widget/GapWorker;
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/GapWorker;
if-nez v0, :cond_3
.line 2973
new-instance v0, Landroidx/recyclerview/widget/GapWorker;
invoke-direct {v0}, Landroidx/recyclerview/widget/GapWorker;-><init>()V
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/GapWorker;
.line 2977
invoke-static {p0}, Landroidx/core/view/ViewCompat;->getDisplay(Landroid/view/View;)Landroid/view/Display;
move-result-object v0
.line 2979
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isInEditMode()Z
move-result v1
if-nez v1, :cond_2
if-eqz v0, :cond_2
.line 2980
invoke-virtual {v0}, Landroid/view/Display;->getRefreshRate()F
move-result v0
const/high16 v1, 0x41f00000 # 30.0f
cmpl-float v1, v0, v1
if-ltz v1, :cond_2
goto :goto_1
:cond_2
const/high16 v0, 0x42700000 # 60.0f
.line 2985
:goto_1
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/GapWorker;
const v2, 0x4e6e6b28 # 1.0E9f
div-float/2addr v2, v0
float-to-long v2, v2
iput-wide v2, v1, Landroidx/recyclerview/widget/GapWorker;->mFrameIntervalNs:J
.line 2986
sget-object v0, Landroidx/recyclerview/widget/GapWorker;->sGapWorker:Ljava/lang/ThreadLocal;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/GapWorker;
invoke-virtual {v0, v1}, Ljava/lang/ThreadLocal;->set(Ljava/lang/Object;)V
.line 2988
:cond_3
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/GapWorker;
invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/GapWorker;->add(Landroidx/recyclerview/widget/RecyclerView;)V
:cond_4
return-void
.end method
.method public onChildAttachedToWindow(Landroid/view/View;)V
.locals 0
return-void
.end method
.method public onChildDetachedFromWindow(Landroid/view/View;)V
.locals 0
return-void
.end method
.method protected onDetachedFromWindow()V
.locals 2
.line 2994
invoke-super {p0}, Landroid/view/ViewGroup;->onDetachedFromWindow()V
.line 2995
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
if-eqz v0, :cond_0
.line 2996
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->endAnimations()V
.line 2998
:cond_0
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->stopScroll()V
const/4 v0, 0x0
.line 2999
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mIsAttached:Z
.line 3000
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v0, :cond_1
.line 3001
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v0, p0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->dispatchDetachedFromWindow(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$Recycler;)V
.line 3003
:cond_1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingAccessibilityImportanceChange:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->clear()V
.line 3004
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimatorRunner:Ljava/lang/Runnable;
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->removeCallbacks(Ljava/lang/Runnable;)Z
.line 3005
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
invoke-virtual {v0}, Landroidx/recyclerview/widget/ViewInfoStore;->onDetach()V
.line 3007
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/GapWorker;
if-eqz v0, :cond_2
.line 3009
invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/GapWorker;->remove(Landroidx/recyclerview/widget/RecyclerView;)V
const/4 v0, 0x0
.line 3010
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/GapWorker;
:cond_2
return-void
.end method
.method public onDraw(Landroid/graphics/Canvas;)V
.locals 4
.line 4490
invoke-super {p0, p1}, Landroid/view/ViewGroup;->onDraw(Landroid/graphics/Canvas;)V
.line 4492
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 4494
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$ItemDecoration;
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {v2, p1, p0, v3}, Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;->onDraw(Landroid/graphics/Canvas;Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$State;)V
add-int/lit8 v1, v1, 0x1
goto :goto_0
:cond_0
return-void
.end method
.method onEnterLayoutOrScroll()V
.locals 1
.line 3648
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 onExitLayoutOrScroll()V
.locals 1
const/4 v0, 0x1
.line 3652
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll(Z)V
return-void
.end method
.method onExitLayoutOrScroll(Z)V
.locals 2
.line 3656
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 3662
iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I
if-eqz p1, :cond_0
.line 3664
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchContentChangedIfNecessary()V
.line 3665
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 3460
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
const/4 v1, 0x0
if-nez v0, :cond_0
return v1
.line 3463
:cond_0
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
if-eqz v0, :cond_1
return v1
.line 3466
:cond_1
invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I
move-result v0
const/16 v2, 0x8
if-ne v0, v2, :cond_8
.line 3468
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 3469
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z
move-result v0
if-eqz v0, :cond_2
const/16 v0, 0x9
.line 3472
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 3476
:goto_0
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z
move-result v3
if-eqz v3, :cond_3
const/16 v3, 0xa
.line 3477
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 3481
: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 3482
invoke-virtual {p1, v0}, Landroid/view/MotionEvent;->getAxisValue(I)F
move-result v0
.line 3483
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z
move-result v3
if-eqz v3, :cond_5
neg-float v0, v0
goto :goto_1
.line 3488
:cond_5
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->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 3501
: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
invoke-virtual {p0, v2, v0, p1}, Landroidx/recyclerview/widget/RecyclerView;->scrollByInternal(IILandroid/view/MotionEvent;)Z
:cond_8
return v1
.end method
.method public onInterceptTouchEvent(Landroid/view/MotionEvent;)Z
.locals 8
.line 3161
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 3169
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptingOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;
.line 3170
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 3171
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->cancelScroll()V
return v2
.line 3175
:cond_1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-nez v0, :cond_2
return v1
.line 3179
:cond_2
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z
move-result v0
.line 3180
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z
move-result v3
.line 3182
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
if-nez v4, :cond_3
.line 3183
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 3185
: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 3187
invoke-virtual {p1}, Landroid/view/MotionEvent;->getActionMasked()I
move-result v4
.line 3188
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_2
.line 3253
:cond_4
invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->onPointerUp(Landroid/view/MotionEvent;)V
goto/16 :goto_2
.line 3219
: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 3220
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 3221
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_2
.line 3262
:cond_6
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->cancelScroll()V
goto/16 :goto_2
.line 3225
: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
.line 3227
new-instance p1, Ljava/lang/StringBuilder;
const-string v0, "Error processing scroll; pointer index for id "
invoke-direct {p1, v0}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object p1
const-string v0, " not found. Did any MotionEvents get skipped?"
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p1
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 3232
: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 3233
invoke-virtual {p1, v4}, Landroid/view/MotionEvent;->getY(I)F
move-result p1
add-float/2addr p1, v7
float-to-int p1, p1
.line 3234
iget v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I
if-eq v4, v2, :cond_10
.line 3235
iget v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchX:I
sub-int v4, v5, v4
.line 3236
iget v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchY:I
sub-int v6, p1, v6
if-eqz v0, :cond_9
.line 3238
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 3239
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 3242
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 3243
iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I
goto :goto_1
:cond_a
if-eqz v0, :cond_10
.line 3247
:goto_1
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V
goto :goto_2
.line 3257
:cond_b
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
invoke-virtual {p1}, Landroid/view/VelocityTracker;->clear()V
.line 3258
invoke-virtual {p0, v1}, Landroidx/recyclerview/widget/RecyclerView;->stopNestedScroll(I)V
goto :goto_2
.line 3192
:cond_c
iget-boolean v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mIgnoreMotionEventTillDown:Z
if-eqz v4, :cond_d
.line 3193
iput-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mIgnoreMotionEventTillDown:Z
.line 3195
: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 3196
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 3197
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 3199
iget p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I
if-ne p1, v6, :cond_e
.line 3200
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getParent()Landroid/view/ViewParent;
move-result-object p1
invoke-interface {p1, v2}, Landroid/view/ViewParent;->requestDisallowInterceptTouchEvent(Z)V
.line 3201
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V
.line 3202
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopNestedScroll(I)V
.line 3206
: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 3215
:cond_f
invoke-virtual {p0, v0, v1}, Landroidx/recyclerview/widget/RecyclerView;->startNestedScroll(II)Z
.line 3265
:cond_10
:goto_2
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 protected onLayout(ZIIII)V
.locals 0
.line 4403
const-string p1, "RV OnLayout"
invoke-static {p1}, Landroidx/core/os/TraceCompat;->beginSection(Ljava/lang/String;)V
.line 4404
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayout()V
.line 4405
invoke-static {}, Landroidx/core/os/TraceCompat;->endSection()V
const/4 p1, 0x1
.line 4406
iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z
return-void
.end method
.method protected onMeasure(II)V
.locals 6
.line 3510
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-nez v0, :cond_0
.line 3511
invoke-virtual {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->defaultOnMeasure(II)V
return-void
.line 3514
:cond_0
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->isAutoMeasureEnabled()Z
move-result v0
const/4 v1, 0x1
if-eqz v0, :cond_4
.line 3515
invoke-static {p1}, Landroid/view/View$MeasureSpec;->getMode(I)I
move-result v0
.line 3516
invoke-static {p2}, Landroid/view/View$MeasureSpec;->getMode(I)I
move-result v2
.line 3525
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {v3, v4, v5, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onMeasure(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;II)V
const/high16 v3, 0x40000000 # 2.0f
if-ne v0, v3, :cond_1
if-ne v2, v3, :cond_1
goto :goto_0
.line 3529
:cond_1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
if-nez v0, :cond_2
:goto_0
return-void
.line 3533
:cond_2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iget v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mLayoutStep:I
if-ne v0, v1, :cond_3
.line 3534
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep1()V
.line 3538
:cond_3
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setMeasureSpecs(II)V
.line 3539
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mIsMeasuring:Z
.line 3540
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep2()V
.line 3543
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setMeasuredDimensionFromChildren(II)V
.line 3547
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->shouldMeasureTwice()Z
move-result v0
if-eqz v0, :cond_a
.line 3548
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
.line 3549
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredWidth()I
move-result v2
invoke-static {v2, v3}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result v2
.line 3550
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredHeight()I
move-result v4
invoke-static {v4, v3}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result v3
.line 3548
invoke-virtual {v0, v2, v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setMeasureSpecs(II)V
.line 3551
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mIsMeasuring:Z
.line 3552
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep2()V
.line 3554
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setMeasuredDimensionFromChildren(II)V
goto :goto_4
.line 3557
:cond_4
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mHasFixedSize:Z
if-eqz v0, :cond_5
.line 3558
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {v0, v1, v2, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onMeasure(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;II)V
return-void
.line 3562
:cond_5
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterUpdateDuringMeasure:Z
const/4 v2, 0x0
if-eqz v0, :cond_7
.line 3563
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
.line 3564
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V
.line 3565
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->processAdapterUpdatesAndSetAnimationFlags()V
.line 3566
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V
.line 3568
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iget-boolean v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunPredictiveAnimations:Z
if-eqz v0, :cond_6
.line 3569
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mInPreLayout:Z
goto :goto_1
.line 3572
:cond_6
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->consumeUpdatesInOnePass()V
.line 3573
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mInPreLayout:Z
.line 3575
:goto_1
iput-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterUpdateDuringMeasure:Z
.line 3576
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
goto :goto_2
.line 3577
:cond_7
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iget-boolean v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunPredictiveAnimations:Z
if-eqz v0, :cond_8
.line 3583
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredWidth()I
move-result p1
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredHeight()I
move-result p2
invoke-virtual {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->setMeasuredDimension(II)V
return-void
.line 3587
:cond_8
:goto_2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
if-eqz v0, :cond_9
.line 3588
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->getItemCount()I
move-result v0
iput v0, v1, Landroidx/recyclerview/widget/RecyclerView$State;->mItemCount:I
goto :goto_3
.line 3590
:cond_9
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iput v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mItemCount:I
.line 3592
:goto_3
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
.line 3593
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {v0, v1, v3, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onMeasure(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;II)V
.line 3594
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
.line 3595
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iput-boolean v2, p1, Landroidx/recyclerview/widget/RecyclerView$State;->mInPreLayout:Z
:cond_a
:goto_4
return-void
.end method
.method protected onRequestFocusInDescendants(ILandroid/graphics/Rect;)Z
.locals 1
.line 2950
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isComputingLayout()Z
move-result v0
if-eqz v0, :cond_0
const/4 p1, 0x0
return p1
.line 2955
:cond_0
invoke-super {p0, p1, p2}, Landroid/view/ViewGroup;->onRequestFocusInDescendants(ILandroid/graphics/Rect;)Z
move-result p1
return p1
.end method
.method protected onRestoreInstanceState(Landroid/os/Parcelable;)V
.locals 1
.line 1394
instance-of v0, p1, Landroidx/recyclerview/widget/RecyclerView$SavedState;
if-nez v0, :cond_0
.line 1395
invoke-super {p0, p1}, Landroid/view/ViewGroup;->onRestoreInstanceState(Landroid/os/Parcelable;)V
return-void
.line 1399
: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 1400
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$SavedState;->getSuperState()Landroid/os/Parcelable;
move-result-object p1
invoke-super {p0, p1}, Landroid/view/ViewGroup;->onRestoreInstanceState(Landroid/os/Parcelable;)V
.line 1401
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz p1, :cond_1
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingSavedState:Landroidx/recyclerview/widget/RecyclerView$SavedState;
iget-object p1, p1, Landroidx/recyclerview/widget/RecyclerView$SavedState;->mLayoutState:Landroid/os/Parcelable;
if-eqz p1, :cond_1
.line 1402
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingSavedState:Landroidx/recyclerview/widget/RecyclerView$SavedState;
iget-object v0, v0, Landroidx/recyclerview/widget/RecyclerView$SavedState;->mLayoutState:Landroid/os/Parcelable;
invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onRestoreInstanceState(Landroid/os/Parcelable;)V
:cond_1
return-void
.end method
.method protected onSaveInstanceState()Landroid/os/Parcelable;
.locals 2
.line 1380
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 1381
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingSavedState:Landroidx/recyclerview/widget/RecyclerView$SavedState;
if-eqz v1, :cond_0
.line 1382
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$SavedState;->copyFrom(Landroidx/recyclerview/widget/RecyclerView$SavedState;)V
goto :goto_0
.line 1383
:cond_0
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v1, :cond_1
.line 1384
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onSaveInstanceState()Landroid/os/Parcelable;
move-result-object v1
iput-object v1, v0, Landroidx/recyclerview/widget/RecyclerView$SavedState;->mLayoutState:Landroid/os/Parcelable;
goto :goto_0
:cond_1
const/4 v1, 0x0
.line 1386
iput-object v1, v0, Landroidx/recyclerview/widget/RecyclerView$SavedState;->mLayoutState: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
return-void
.end method
.method protected onSizeChanged(IIII)V
.locals 0
.line 3618
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 3620
: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 3280
iget-boolean v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
const/4 v8, 0x0
if-nez v0, :cond_1f
iget-boolean v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mIgnoreMotionEventTillDown:Z
if-eqz v0, :cond_0
goto/16 :goto_a
.line 3283
: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 3284
invoke-direct/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->cancelScroll()V
return v9
.line 3288
:cond_1
iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-nez v0, :cond_2
return v8
.line 3292
:cond_2
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z
move-result v10
.line 3293
iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z
move-result v11
.line 3295
iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
if-nez v0, :cond_3
.line 3296
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 3300
:cond_3
invoke-virtual/range {p1 .. p1}, Landroid/view/MotionEvent;->getActionMasked()I
move-result v0
.line 3301
invoke-virtual/range {p1 .. p1}, Landroid/view/MotionEvent;->getActionIndex()I
move-result v1
if-nez v0, :cond_4
.line 3304
iget-object v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I
aput v8, v2, v9
aput v8, v2, v8
.line 3306
:cond_4
invoke-static/range {p1 .. p1}, Landroid/view/MotionEvent;->obtain(Landroid/view/MotionEvent;)Landroid/view/MotionEvent;
move-result-object v12
.line 3307
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_8
.line 3404
:cond_5
invoke-direct/range {p0 .. p1}, Landroidx/recyclerview/widget/RecyclerView;->onPointerUp(Landroid/view/MotionEvent;)V
goto/16 :goto_8
.line 3326
: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 3327
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 3328
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_8
.line 3422
:cond_7
invoke-direct/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->cancelScroll()V
goto/16 :goto_8
.line 3332
: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
.line 3334
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "Error processing scroll; pointer index for id "
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget v1, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, " not found. Did any MotionEvents get skipped?"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
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 3339
: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 3340
invoke-virtual {v7, v0}, Landroid/view/MotionEvent;->getY(I)F
move-result v0
add-float/2addr v0, v2
float-to-int v14, v0
.line 3341
iget v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I
sub-int/2addr v0, v13
.line 3342
iget v1, v6, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I
sub-int/2addr v1, v14
.line 3344
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 3348
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 3350
: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 3358
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 3360
: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 3367
invoke-virtual {v6, v9}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V
:cond_e
move v15, v0
move/from16 v16, v1
.line 3371
iget v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I
if-ne v0, v9, :cond_1e
.line 3372
iget-object v3, v6, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I
aput v8, v3, v8
.line 3373
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 3374
:goto_4
iget-object v4, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I
const/4 v5, 0x0
move-object/from16 v0, p0
invoke-virtual/range {v0 .. v5}, Landroidx/recyclerview/widget/RecyclerView;->dispatchNestedPreScroll(II[I[II)Z
move-result v0
if-eqz v0, :cond_11
.line 3379
iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I
aget v1, v0, v8
sub-int/2addr v15, v1
.line 3380
aget v0, v0, v9
sub-int v16, v16, v0
.line 3382
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 3383
aget v1, v0, v9
aget v2, v2, v9
add-int/2addr v1, v2
aput v1, v0, v9
.line 3385
invoke-virtual/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->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 3388
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 3389
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 v8, v0
.line 3391
:cond_13
invoke-virtual {v6, v1, v8, v7}, Landroidx/recyclerview/widget/RecyclerView;->scrollByInternal(IILandroid/view/MotionEvent;)Z
move-result v1
if-eqz v1, :cond_14
.line 3395
invoke-virtual/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->getParent()Landroid/view/ViewParent;
move-result-object v1
invoke-interface {v1, v9}, Landroid/view/ViewParent;->requestDisallowInterceptTouchEvent(Z)V
.line 3397
:cond_14
iget-object v1, v6, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/GapWorker;
if-eqz v1, :cond_1e
if-nez v15, :cond_15
if-eqz v0, :cond_1e
.line 3398
:cond_15
invoke-virtual {v1, v6, v15, v0}, Landroidx/recyclerview/widget/GapWorker;->postFromTraversal(Landroidx/recyclerview/widget/RecyclerView;II)V
goto :goto_8
.line 3408
: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 3410
iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
iget v1, v6, Landroidx/recyclerview/widget/RecyclerView;->mMaxFlingVelocity:I
int-to-float v1, v1
const/16 v2, 0x3e8
invoke-virtual {v0, v2, v1}, Landroid/view/VelocityTracker;->computeCurrentVelocity(IF)V
const/4 v0, 0x0
if-eqz v10, :cond_17
.line 3411
iget-object v1, v6, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
iget v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
.line 3412
invoke-virtual {v1, v2}, Landroid/view/VelocityTracker;->getXVelocity(I)F
move-result v1
neg-float v1, v1
goto :goto_6
:cond_17
move v1, v0
:goto_6
if-eqz v11, :cond_18
.line 3413
iget-object v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
iget v3, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
.line 3414
invoke-virtual {v2, v3}, Landroid/view/VelocityTracker;->getYVelocity(I)F
move-result v2
neg-float v2, v2
goto :goto_7
:cond_18
move v2, v0
:goto_7
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 3415
invoke-virtual {v6, v0, v1}, Landroidx/recyclerview/widget/RecyclerView;->fling(II)Z
move-result v0
if-nez v0, :cond_1b
.line 3416
:cond_1a
invoke-virtual {v6, v8}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V
.line 3418
:cond_1b
invoke-direct/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->resetScroll()V
goto :goto_9
.line 3311
: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 3312
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 3313
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 3322
:cond_1d
invoke-virtual {v6, v10, v8}, Landroidx/recyclerview/widget/RecyclerView;->startNestedScroll(II)Z
.line 3427
:cond_1e
:goto_8
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 3429
:goto_9
invoke-virtual {v12}, Landroid/view/MotionEvent;->recycle()V
return v9
:cond_1f
:goto_a
return v8
.end method
.method postAnimationRunner()V
.locals 1
.line 3764
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 3765
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimatorRunner:Ljava/lang/Runnable;
invoke-static {p0, v0}, Landroidx/core/view/ViewCompat;->postOnAnimation(Landroid/view/View;Ljava/lang/Runnable;)V
const/4 v0, 0x1
.line 3766
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPostedAnimatorRunner:Z
:cond_0
return-void
.end method
.method processDataSetCompletelyChanged(Z)V
.locals 1
.line 4692
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 4693
iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z
.line 4694
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->markKnownViewsInvalid()V
return-void
.end method
.method recordAnimationInfoIfBouncedHiddenView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V
.locals 3
const/4 v0, 0x0
const/16 v1, 0x2000
.line 4291
invoke-virtual {p1, v0, v1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->setFlags(II)V
.line 4292
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iget-boolean v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mTrackOldChangeHolders:Z
if-eqz v0, :cond_0
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isUpdated()Z
move-result v0
if-eqz v0, :cond_0
.line 4293
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isRemoved()Z
move-result v0
if-nez v0, :cond_0
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
move-result v0
if-nez v0, :cond_0
.line 4294
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->getChangedHolderKey(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)J
move-result-wide v0
.line 4295
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
invoke-virtual {v2, v0, v1, p1}, Landroidx/recyclerview/widget/ViewInfoStore;->addToOldChangeHolders(JLandroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
.line 4297
:cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/ViewInfoStore;->addToPreLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V
return-void
.end method
.method removeAndRecycleViews()V
.locals 2
.line 1171
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
if-eqz v0, :cond_0
.line 1172
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->endAnimations()V
.line 1178
:cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v0, :cond_1
.line 1179
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->removeAndRecycleAllViews(Landroidx/recyclerview/widget/RecyclerView$Recycler;)V
.line 1180
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->removeAndRecycleScrapInt(Landroidx/recyclerview/widget/RecyclerView$Recycler;)V
.line 1183
:cond_1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->clear()V
return-void
.end method
.method removeAnimatingView(Landroid/view/View;)Z
.locals 2
.line 1451
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
.line 1452
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/ChildHelper;->removeViewIfHidden(Landroid/view/View;)Z
move-result v0
if-eqz v0, :cond_0
.line 1454
invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object p1
.line 1455
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v1, p1}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->unscrapView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
.line 1456
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v1, p1}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->recycleViewHolderInternal(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
:cond_0
xor-int/lit8 p1, v0, 0x1
.line 1462
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
return v0
.end method
.method protected removeDetachedView(Landroid/view/View;Z)V
.locals 2
.line 4334
invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v0
if-eqz v0, :cond_2
.line 4336
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isTmpDetached()Z
move-result v1
if-eqz v1, :cond_0
.line 4337
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->clearTmpDetachFlag()V
goto :goto_0
.line 4338
:cond_0
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
move-result v1
if-eqz v1, :cond_1
goto :goto_0
.line 4339
:cond_1
new-instance p1, Ljava/lang/IllegalArgumentException;
new-instance p2, Ljava/lang/StringBuilder;
const-string v1, "Called removeDetachedView with a view which is not flagged as tmp detached."
invoke-direct {p2, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object p2
.line 4340
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String;
move-result-object v0
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p2
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.line 4347
:cond_2
:goto_0
invoke-virtual {p1}, Landroid/view/View;->clearAnimation()V
.line 4349
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->dispatchChildDetached(Landroid/view/View;)V
.line 4350
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$ItemDecoration;)V
.locals 2
.line 1650
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v0, :cond_0
.line 1651
const-string v1, "Cannot remove item decoration during a scroll or layout"
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->assertNotInLayoutOrScroll(Ljava/lang/String;)V
.line 1654
: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 1655
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 1656
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->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}, Landroidx/recyclerview/widget/RecyclerView;->setWillNotDraw(Z)V
.line 1658
:cond_2
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->markItemDecorInsetsDirty()V
.line 1659
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
return-void
.end method
.method public removeItemDecorationAt(I)V
.locals 3
.line 1632
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getItemDecorationCount()I
move-result v0
if-ltz p1, :cond_0
if-ge p1, v0, :cond_0
.line 1637
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->getItemDecorationAt(I)Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;
move-result-object p1
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->removeItemDecoration(Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;)V
return-void
.line 1634
: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;
move-result-object p1
const-string v2, " is an invalid index for size "
invoke-virtual {p1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p1
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object p1
invoke-virtual {p1}, 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$OnChildAttachStateChangeListener;)V
.locals 1
.line 1286
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List;
if-nez v0, :cond_0
return-void
.line 1289
: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$OnItemTouchListener;)V
.locals 1
.line 3088
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 3089
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptingOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;
if-ne v0, p1, :cond_0
const/4 p1, 0x0
.line 3090
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptingOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;
:cond_0
return-void
.end method
.method public removeOnScrollListener(Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;)V
.locals 1
.line 1718
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List;
if-eqz v0, :cond_0
.line 1719
invoke-interface {v0, p1}, Ljava/util/List;->remove(Ljava/lang/Object;)Z
:cond_0
return-void
.end method
.method repositionShadowingViews()V
.locals 7
.line 5513
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I
move-result v0
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_2
.line 5515
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View;
move-result-object v2
.line 5516
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolder(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v3
if-eqz v3, :cond_1
.line 5517
iget-object v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mShadowingHolder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
if-eqz v4, :cond_1
.line 5518
iget-object v3, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mShadowingHolder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
iget-object v3, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
.line 5519
invoke-virtual {v2}, Landroid/view/View;->getLeft()I
move-result v4
.line 5520
invoke-virtual {v2}, Landroid/view/View;->getTop()I
move-result v2
.line 5521
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 5523
:cond_0
invoke-virtual {v3}, Landroid/view/View;->getWidth()I
move-result v5
add-int/2addr v5, v4
.line 5524
invoke-virtual {v3}, Landroid/view/View;->getHeight()I
move-result v6
add-int/2addr v6, v2
.line 5522
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 2893
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {v0, p0, v1, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onRequestChildFocus(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$State;Landroid/view/View;Landroid/view/View;)Z
move-result v0
if-nez v0, :cond_0
if-eqz p2, :cond_0
.line 2894
invoke-direct {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->requestChildOnScreen(Landroid/view/View;Landroid/view/View;)V
.line 2896
: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 2938
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v0, p0, p1, p2, p3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->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 3270
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 3272
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$OnItemTouchListener;
.line 3273
invoke-interface {v2, p1}, Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;->onRequestDisallowInterceptTouchEvent(Z)V
add-int/lit8 v1, v1, 0x1
goto :goto_0
.line 3275
:cond_0
invoke-super {p0, p1}, Landroid/view/ViewGroup;->requestDisallowInterceptTouchEvent(Z)V
return-void
.end method
.method public requestLayout()V
.locals 1
.line 4411
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 4412
invoke-super {p0}, Landroid/view/ViewGroup;->requestLayout()V
goto :goto_0
:cond_0
const/4 v0, 0x1
.line 4414
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z
:goto_0
return-void
.end method
.method saveOldPositions()V
.locals 4
.line 4540
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I
move-result v0
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_1
.line 4542
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View;
move-result-object v2
invoke-static {v2}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v2
.line 4547
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
move-result v3
if-nez v3, :cond_0
.line 4548
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->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 1801
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-nez v0, :cond_0
.line 1802
const-string p1, "RecyclerView"
const-string p2, "Cannot scroll without a LayoutManager set. Call setLayoutManager with a non-null argument."
invoke-static {p1, p2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
return-void
.line 1806
:cond_0
iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
if-eqz v1, :cond_1
return-void
.line 1809
:cond_1
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z
move-result v0
.line 1810
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->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 1812
invoke-virtual {p0, p1, p2, v0}, Landroidx/recyclerview/widget/RecyclerView;->scrollByInternal(IILandroid/view/MotionEvent;)Z
:cond_5
return-void
.end method
.method scrollByInternal(IILandroid/view/MotionEvent;)Z
.locals 18
move-object/from16 v8, p0
move/from16 v9, p1
move/from16 v10, p2
move-object/from16 v11, p3
.line 1936
invoke-virtual/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->consumePendingUpdateOperations()V
.line 1937
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 1938
iget-object v0, v8, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I
aput v13, v0, v13
.line 1939
aput v13, v0, v12
.line 1940
invoke-virtual {v8, v9, v10, v0}, Landroidx/recyclerview/widget/RecyclerView;->scrollStep(II[I)V
.line 1941
iget-object v0, v8, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I
aget v1, v0, v13
.line 1942
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 1946
: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 1947
invoke-virtual/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->invalidate()V
.line 1950
:cond_1
iget-object v7, v8, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I
aput v13, v7, v13
.line 1951
aput v13, v7, v12
.line 1952
iget-object v5, v8, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I
const/4 v6, 0x0
move-object/from16 v0, p0
move v1, v15
move v2, v14
move/from16 v3, v16
move/from16 v4, v17
invoke-virtual/range {v0 .. v7}, Landroidx/recyclerview/widget/RecyclerView;->dispatchNestedScroll(IIII[II[I)V
.line 1954
iget-object v0, v8, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I
aget v1, v0, v13
sub-int v2, v16, v1
.line 1955
aget v0, v0, v12
sub-int v3, v17, v0
if-nez v1, :cond_3
if-eqz v0, :cond_2
goto :goto_1
:cond_2
move v0, v13
goto :goto_2
:cond_3
:goto_1
move v0, v12
.line 1959
:goto_2
iget v1, v8, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I
iget-object v4, v8, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I
aget v5, v4, v13
sub-int/2addr v1, v5
iput v1, v8, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I
.line 1960
iget v1, v8, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I
aget v4, v4, v12
sub-int/2addr v1, v4
iput v1, v8, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I
.line 1961
iget-object v1, v8, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I
aget v6, v1, v13
add-int/2addr v6, v5
aput v6, v1, v13
.line 1962
aget v5, v1, v12
add-int/2addr v5, v4
aput v5, v1, v12
.line 1964
invoke-virtual/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->getOverScrollMode()I
move-result v1
const/4 v4, 0x2
if-eq v1, v4, :cond_5
if-eqz v11, :cond_4
const/16 v1, 0x2002
.line 1965
invoke-static {v11, v1}, Landroidx/core/view/MotionEventCompat;->isFromSource(Landroid/view/MotionEvent;I)Z
move-result v1
if-nez v1, :cond_4
.line 1966
invoke-virtual/range {p3 .. p3}, Landroid/view/MotionEvent;->getX()F
move-result v1
int-to-float v2, v2
invoke-virtual/range {p3 .. p3}, Landroid/view/MotionEvent;->getY()F
move-result v4
int-to-float v3, v3
invoke-direct {v8, v1, v2, v4, v3}, Landroidx/recyclerview/widget/RecyclerView;->pullGlows(FFFF)V
.line 1968
: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 1971
:cond_6
invoke-virtual {v8, v15, v14}, Landroidx/recyclerview/widget/RecyclerView;->dispatchOnScrolled(II)V
.line 1973
:cond_7
invoke-virtual/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->awakenScrollBars()Z
move-result v1
if-nez v1, :cond_8
.line 1974
invoke-virtual/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->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 scrollStep(II[I)V
.locals 4
.line 1829
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
.line 1830
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V
.line 1832
const-string v0, "RV Scroll"
invoke-static {v0}, Landroidx/core/os/TraceCompat;->beginSection(Ljava/lang/String;)V
.line 1833
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->fillRemainingScrollValues(Landroidx/recyclerview/widget/RecyclerView$State;)V
const/4 v0, 0x0
if-eqz p1, :cond_0
.line 1838
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {v1, p1, v2, v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->scrollHorizontallyBy(ILandroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)I
move-result p1
goto :goto_0
:cond_0
move p1, v0
:goto_0
if-eqz p2, :cond_1
.line 1841
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {v1, p2, v2, v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->scrollVerticallyBy(ILandroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)I
move-result p2
goto :goto_1
:cond_1
move p2, v0
.line 1844
:goto_1
invoke-static {}, Landroidx/core/os/TraceCompat;->endSection()V
.line 1845
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->repositionShadowingViews()V
.line 1847
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V
.line 1848
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
if-eqz p3, :cond_2
.line 1851
aput p1, p3, v0
const/4 p1, 0x1
.line 1852
aput p2, p3, p1
:cond_2
return-void
.end method
.method public scrollTo(II)V
.locals 0
.line 1795
const-string p1, "RecyclerView"
const-string p2, "RecyclerView does not support scrolling to an absolute position. Use scrollToPosition instead"
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 1741
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
if-eqz v0, :cond_0
return-void
.line 1744
:cond_0
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->stopScroll()V
.line 1745
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-nez v0, :cond_1
.line 1746
const-string p1, "RecyclerView"
const-string v0, "Cannot scroll to position a LayoutManager set. Call setLayoutManager with a non-null argument."
invoke-static {p1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
return-void
.line 1750
:cond_1
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->scrollToPosition(I)V
.line 1751
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->awakenScrollBars()Z
return-void
.end method
.method public sendAccessibilityEventUnchecked(Landroid/view/accessibility/AccessibilityEvent;)V
.locals 1
.line 3733
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 3736
: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/RecyclerViewAccessibilityDelegate;)V
.locals 0
.line 768
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAccessibilityDelegate:Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate;
.line 769
invoke-static {p0, p1}, Landroidx/core/view/ViewCompat;->setAccessibilityDelegate(Landroid/view/View;Landroidx/core/view/AccessibilityDelegateCompat;)V
return-void
.end method
.method public setAdapter(Landroidx/recyclerview/widget/RecyclerView$Adapter;)V
.locals 2
const/4 v0, 0x0
.line 1160
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setLayoutFrozen(Z)V
const/4 v1, 0x1
.line 1161
invoke-direct {p0, p1, v0, v1}, Landroidx/recyclerview/widget/RecyclerView;->setAdapterInternal(Landroidx/recyclerview/widget/RecyclerView$Adapter;ZZ)V
.line 1162
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->processDataSetCompletelyChanged(Z)V
.line 1163
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
return-void
.end method
.method public setChildDrawingOrderCallback(Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback;)V
.locals 1
.line 1676
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildDrawingOrderCallback:Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback;
if-ne p1, v0, :cond_0
return-void
.line 1679
:cond_0
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildDrawingOrderCallback:Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback;
if-eqz p1, :cond_1
const/4 p1, 0x1
goto :goto_0
:cond_1
const/4 p1, 0x0
.line 1680
:goto_0
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->setChildrenDrawingOrderEnabled(Z)V
return-void
.end method
.method setChildImportantForAccessibilityInternal(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;I)Z
.locals 1
.line 11470
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isComputingLayout()Z
move-result v0
if-eqz v0, :cond_0
.line 11471
iput p2, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPendingAccessibilityState:I
.line 11472
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 11475
:cond_0
iget-object p1, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
invoke-static {p1, p2}, Landroidx/core/view/ViewCompat;->setImportantForAccessibility(Landroid/view/View;I)V
const/4 p1, 0x1
return p1
.end method
.method public setClipToPadding(Z)V
.locals 1
.line 1075
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
if-eq p1, v0, :cond_0
.line 1076
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->invalidateGlows()V
.line 1078
:cond_0
iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
.line 1079
invoke-super {p0, p1}, Landroid/view/ViewGroup;->setClipToPadding(Z)V
.line 1080
iget-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z
if-eqz p1, :cond_1
.line 1081
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
.line 2699
invoke-static {p1}, Landroidx/core/util/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 2700
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;
.line 2701
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->invalidateGlows()V
return-void
.end method
.method public setHasFixedSize(Z)V
.locals 0
.line 1062
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
.line 3637
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
if-eqz v0, :cond_0
.line 3638
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->endAnimations()V
.line 3639
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;->setListener(Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemAnimatorListener;)V
.line 3641
:cond_0
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
if-eqz p1, :cond_1
.line 3643
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimatorListener:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemAnimatorListener;
invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->setListener(Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemAnimatorListener;)V
:cond_1
return-void
.end method
.method public setItemViewCacheSize(I)V
.locals 1
.line 1525
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->setViewCacheSize(I)V
return-void
.end method
.method public setLayoutFrozen(Z)V
.locals 0
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.line 2271
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->suppressLayout(Z)V
return-void
.end method
.method public setLayoutManager(Landroidx/recyclerview/widget/RecyclerView$LayoutManager;)V
.locals 3
.line 1315
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-ne p1, v0, :cond_0
return-void
.line 1318
:cond_0
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->stopScroll()V
.line 1321
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v0, :cond_3
.line 1323
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
if-eqz v0, :cond_1
.line 1324
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->endAnimations()V
.line 1326
:cond_1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->removeAndRecycleAllViews(Landroidx/recyclerview/widget/RecyclerView$Recycler;)V
.line 1327
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->removeAndRecycleScrapInt(Landroidx/recyclerview/widget/RecyclerView$Recycler;)V
.line 1328
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->clear()V
.line 1330
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mIsAttached:Z
if-eqz v0, :cond_2
.line 1331
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v0, p0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->dispatchDetachedFromWindow(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$Recycler;)V
.line 1333
:cond_2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
const/4 v1, 0x0
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setRecyclerView(Landroidx/recyclerview/widget/RecyclerView;)V
.line 1334
iput-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
goto :goto_0
.line 1336
:cond_3
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->clear()V
.line 1339
:goto_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->removeAllViewsUnfiltered()V
.line 1340
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz p1, :cond_5
.line 1342
iget-object v0, p1, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
if-nez v0, :cond_4
.line 1347
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {p1, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setRecyclerView(Landroidx/recyclerview/widget/RecyclerView;)V
.line 1348
iget-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mIsAttached:Z
if-eqz p1, :cond_5
.line 1349
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {p1, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->dispatchAttachedToWindow(Landroidx/recyclerview/widget/RecyclerView;)V
goto :goto_1
.line 1343
:cond_4
new-instance v0, Ljava/lang/IllegalArgumentException;
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "LayoutManager "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, " is already attached to a RecyclerView:"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
iget-object p1, p1, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
.line 1345
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String;
move-result-object p1
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p1
invoke-virtual {p1}, 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 1352
:cond_5
:goto_1
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->updateViewCacheSize()V
.line 1353
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 2311
invoke-super {p0, p1}, Landroid/view/ViewGroup;->setLayoutTransition(Landroid/animation/LayoutTransition;)V
return-void
.line 2313
: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 11528
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
move-result-object v0
invoke-virtual {v0, p1}, Landroidx/core/view/NestedScrollingChildHelper;->setNestedScrollingEnabled(Z)V
return-void
.end method
.method public setOnFlingListener(Landroidx/recyclerview/widget/RecyclerView$OnFlingListener;)V
.locals 0
.line 1365
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnFlingListener:Landroidx/recyclerview/widget/RecyclerView$OnFlingListener;
return-void
.end method
.method public setOnScrollListener(Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;)V
.locals 0
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.line 1693
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListener:Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;
return-void
.end method
.method public setPreserveFocusAfterLayout(Z)V
.locals 0
.line 4759
iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mPreserveFocusAfterLayout:Z
return-void
.end method
.method public setRecycledViewPool(Landroidx/recyclerview/widget/RecyclerView$RecycledViewPool;)V
.locals 1
.line 1499
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->setRecycledViewPool(Landroidx/recyclerview/widget/RecyclerView$RecycledViewPool;)V
return-void
.end method
.method public setRecyclerListener(Landroidx/recyclerview/widget/RecyclerView$RecyclerListener;)V
.locals 0
.line 1240
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecyclerListener:Landroidx/recyclerview/widget/RecyclerView$RecyclerListener;
return-void
.end method
.method setScrollState(I)V
.locals 1
.line 1539
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I
if-ne p1, v0, :cond_0
return-void
.line 1546
:cond_0
iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I
const/4 v0, 0x2
if-eq p1, v0, :cond_1
.line 1548
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->stopScrollersInternal()V
.line 1550
: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 1112
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->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 1115
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "setScrollingTouchSlop(): bad argument constant "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object p1
const-string v1, "; using default value"
invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p1
invoke-virtual {p1}, 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 1123
: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 1119
: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$ViewCacheExtension;)V
.locals 1
.line 1510
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->setViewCacheExtension(Landroidx/recyclerview/widget/RecyclerView$ViewCacheExtension;)V
return-void
.end method
.method shouldDeferAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)Z
.locals 2
.line 3717
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 3720
invoke-static {p1}, Landroidx/core/view/accessibility/AccessibilityEventCompat;->getContentChangeTypes(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 3725
: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
const/4 v0, 0x0
.line 2326
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
const/high16 v0, -0x80000000
.line 2338
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
const/4 v5, 0x0
move-object v0, p0
move v1, p1
move v2, p2
move-object v3, p3
move v4, p4
.line 2356
invoke-virtual/range {v0 .. v5}, Landroidx/recyclerview/widget/RecyclerView;->smoothScrollBy(IILandroid/view/animation/Interpolator;IZ)V
return-void
.end method
.method smoothScrollBy(IILandroid/view/animation/Interpolator;IZ)V
.locals 2
.line 2390
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-nez v0, :cond_0
.line 2391
const-string p1, "RecyclerView"
const-string p2, "Cannot smooth scroll without a LayoutManager set. Call setLayoutManager with a non-null argument."
invoke-static {p1, p2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
return-void
.line 2395
:cond_0
iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
if-eqz v1, :cond_1
return-void
.line 2398
:cond_1
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z
move-result v0
const/4 v1, 0x0
if-nez v0, :cond_2
move p1, v1
.line 2401
:cond_2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z
move-result v0
if-nez v0, :cond_3
move p2, v1
:cond_3
if-nez p1, :cond_4
if-eqz p2, :cond_a
:cond_4
const/high16 v0, -0x80000000
if-eq p4, v0, :cond_6
if-lez p4, :cond_5
goto :goto_0
.line 2419
:cond_5
invoke-virtual {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->scrollBy(II)V
goto :goto_1
:cond_6
:goto_0
if-eqz p5, :cond_9
const/4 p5, 0x1
if-eqz p1, :cond_7
move v1, p5
:cond_7
if-eqz p2, :cond_8
or-int/lit8 v1, v1, 0x2
.line 2415
:cond_8
invoke-virtual {p0, v1, p5}, Landroidx/recyclerview/widget/RecyclerView;->startNestedScroll(II)Z
.line 2417
:cond_9
iget-object p5, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;
invoke-virtual {p5, p1, p2, p4, p3}, Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;->smoothScrollBy(IIILandroid/view/animation/Interpolator;)V
:cond_a
:goto_1
return-void
.end method
.method public smoothScrollToPosition(I)V
.locals 2
.line 1782
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
if-eqz v0, :cond_0
return-void
.line 1785
:cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-nez v0, :cond_1
.line 1786
const-string p1, "RecyclerView"
const-string v0, "Cannot smooth scroll without a LayoutManager set. Call setLayoutManager with a non-null argument."
invoke-static {p1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
return-void
.line 1790
:cond_1
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {v0, p0, v1, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->smoothScrollToPosition(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$State;I)V
return-void
.end method
.method startInterceptRequestLayout()V
.locals 2
.line 2137
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 2138
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
if-nez v0, :cond_0
const/4 v0, 0x0
.line 2139
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z
:cond_0
return-void
.end method
.method public startNestedScroll(I)Z
.locals 1
.line 11538
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
move-result-object v0
invoke-virtual {v0, p1}, Landroidx/core/view/NestedScrollingChildHelper;->startNestedScroll(I)Z
move-result p1
return p1
.end method
.method public startNestedScroll(II)Z
.locals 1
.line 11543
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
move-result-object v0
invoke-virtual {v0, p1, p2}, Landroidx/core/view/NestedScrollingChildHelper;->startNestedScroll(II)Z
move-result p1
return p1
.end method
.method stopInterceptRequestLayout(Z)V
.locals 3
.line 2154
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I
const/4 v1, 0x1
if-ge v0, v1, :cond_0
.line 2161
iput v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I
:cond_0
const/4 v0, 0x0
if-nez p1, :cond_1
.line 2163
iget-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
if-nez v2, :cond_1
.line 2172
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z
.line 2174
:cond_1
iget v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I
if-ne v2, v1, :cond_3
if-eqz p1, :cond_2
.line 2176
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$LayoutManager;
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 2178
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayout()V
.line 2180
:cond_2
iget-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
if-nez p1, :cond_3
.line 2181
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z
.line 2184
: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 11548
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
move-result-object v0
invoke-virtual {v0}, Landroidx/core/view/NestedScrollingChildHelper;->stopNestedScroll()V
return-void
.end method
.method public stopNestedScroll(I)V
.locals 1
.line 11553
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
move-result-object v0
invoke-virtual {v0, p1}, Landroidx/core/view/NestedScrollingChildHelper;->stopNestedScroll(I)V
return-void
.end method
.method public stopScroll()V
.locals 1
const/4 v0, 0x0
.line 2493
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V
.line 2494
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->stopScrollersInternal()V
return-void
.end method
.method public final suppressLayout(Z)V
.locals 9
.line 2214
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
if-eq p1, v0, :cond_2
.line 2215
const-string v0, "Do not suppressLayout in layout or scroll"
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->assertNotInLayoutOrScroll(Ljava/lang/String;)V
if-nez p1, :cond_1
const/4 p1, 0x0
.line 2217
iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
.line 2218
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$LayoutManager;
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 2219
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
.line 2221
:cond_0
iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z
goto :goto_0
.line 2223
:cond_1
invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
move-result-wide v3
const/4 v7, 0x0
const/4 v8, 0x0
const/4 v5, 0x3
const/4 v6, 0x0
move-wide v1, v3
.line 2224
invoke-static/range {v1 .. v8}, Landroid/view/MotionEvent;->obtain(JJIFFI)Landroid/view/MotionEvent;
move-result-object p1
.line 2226
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->onTouchEvent(Landroid/view/MotionEvent;)Z
const/4 p1, 0x1
.line 2227
iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
.line 2228
iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mIgnoreMotionEventTillDown:Z
.line 2229
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
const/4 v0, 0x0
.line 1144
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setLayoutFrozen(Z)V
const/4 v0, 0x1
.line 1145
invoke-direct {p0, p1, v0, p2}, Landroidx/recyclerview/widget/RecyclerView;->setAdapterInternal(Landroidx/recyclerview/widget/RecyclerView$Adapter;ZZ)V
.line 1146
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->processDataSetCompletelyChanged(Z)V
.line 1147
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
return-void
.end method
.method viewRangeUpdate(IILjava/lang/Object;)V
.locals 6
.line 4652
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I
move-result v0
add-int v1, p1, p2
const/4 v2, 0x0
:goto_0
if-ge v2, v0, :cond_2
.line 4656
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View;
move-result-object v3
.line 4657
invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v4
if-eqz v4, :cond_1
.line 4658
invoke-virtual {v4}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
move-result v5
if-eqz v5, :cond_0
goto :goto_1
.line 4661
:cond_0
iget v5, v4, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I
if-lt v5, p1, :cond_1
iget v5, v4, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I
if-ge v5, v1, :cond_1
const/4 v5, 0x2
.line 4664
invoke-virtual {v4, v5}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->addFlags(I)V
.line 4665
invoke-virtual {v4, p3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->addChangePayload(Ljava/lang/Object;)V
.line 4667
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;->mInsetsDirty:Z
:cond_1
:goto_1
add-int/lit8 v2, v2, 0x1
goto :goto_0
.line 4670
:cond_2
iget-object p3, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {p3, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->viewRangeUpdate(II)V
return-void
.end method