Rabbit-R1/original r1/smali/smali_classes2/androidx/recyclerview/widget/RecyclerView.smali
2024-05-21 17:08:36 -04:00

15713 lines
424 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$StretchEdgeEffectFactory;,
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 private static final DECELERATION_RATE:F
.field static final DEFAULT_ORIENTATION:I = 0x1
.field static final DISPATCH_TEMP_DETACH:Z = false
.field private static final FLING_DESTRETCH_FACTOR:F = 4.0f
.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 INFLEXION:F = 0.35f
.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 private static final SCROLL_FRICTION:F = 0.015f
.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 sDebugAssertionsEnabled:Z = false
.field static final sDefaultEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$StretchEdgeEffectFactory;
.field static final sQuinticInterpolator:Landroid/view/animation/Interpolator;
.field static sVerboseLoggingEnabled:Z = false
# 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 mLastAutoMeasureNonExactMeasuredHeight:I
.field private mLastAutoMeasureNonExactMeasuredWidth:I
.field private mLastAutoMeasureSkippedDueToExact: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 mPendingSavedState:Landroidx/recyclerview/widget/RecyclerView$SavedState;
.field private final mPhysicalCoef:F
.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 mRecyclerListeners:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Landroidx/recyclerview/widget/RecyclerView$RecyclerListener;",
">;"
}
.end annotation
.end field
.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
filled-new-array {v0}, [I
move-result-object v0
sput-object v0, Landroidx/recyclerview/widget/RecyclerView;->NESTED_SCROLLING_ATTRS:[I
const-wide v0, 0x3fe8f5c28f5c28f6L # 0.78
.line 235
invoke-static {v0, v1}, Ljava/lang/Math;->log(D)D
move-result-wide v0
const-wide v2, 0x3feccccccccccccdL # 0.9
invoke-static {v2, v3}, Ljava/lang/Math;->log(D)D
move-result-wide v2
div-double/2addr v0, v2
double-to-float v0, v0
sput v0, Landroidx/recyclerview/widget/RecyclerView;->DECELERATION_RATE:F
const/4 v0, 0x0
sput-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->FORCE_INVALIDATE_DISPLAY_LIST:Z
const/4 v1, 0x1
sput-boolean v1, Landroidx/recyclerview/widget/RecyclerView;->ALLOW_SIZE_IN_UNSPECIFIED_SPEC:Z
sput-boolean v1, Landroidx/recyclerview/widget/RecyclerView;->POST_UPDATES_ON_ANIMATION:Z
sput-boolean v1, Landroidx/recyclerview/widget/RecyclerView;->ALLOW_THREAD_GAP_WORK:Z
sput-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->FORCE_ABS_FOCUS_SEARCH_DIRECTION:Z
sput-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->IGNORE_DETACHED_FOCUSED_CHILD:Z
const/4 v2, 0x4
new-array v2, v2, [Ljava/lang/Class;
.line 387
const-class v3, Landroid/content/Context;
aput-object v3, v2, v0
const-class v0, Landroid/util/AttributeSet;
aput-object v0, v2, v1
const/4 v0, 0x2
sget-object v1, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
aput-object v1, v2, v0
const/4 v0, 0x3
sget-object v1, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
aput-object v1, v2, v0
sput-object v2, Landroidx/recyclerview/widget/RecyclerView;->LAYOUT_MANAGER_CONSTRUCTOR_SIGNATURE:[Ljava/lang/Class;
.line 660
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;
.line 668
new-instance v0, Landroidx/recyclerview/widget/RecyclerView$StretchEdgeEffectFactory;
invoke-direct {v0}, Landroidx/recyclerview/widget/RecyclerView$StretchEdgeEffectFactory;-><init>()V
sput-object v0, Landroidx/recyclerview/widget/RecyclerView;->sDefaultEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$StretchEdgeEffectFactory;
return-void
.end method
.method public constructor <init>(Landroid/content/Context;)V
.locals 1
const/4 v0, 0x0
.line 735
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 739
sget v0, Landroidx/recyclerview/R$attr;->recyclerViewStyle:I
invoke-direct {p0, p1, p2, v0}, Landroidx/recyclerview/widget/RecyclerView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
.locals 15
move-object v7, p0
move-object/from16 v8, p1
move-object/from16 v9, p2
move/from16 v10, p3
.line 743
invoke-direct/range {p0 .. p3}, Landroid/view/ViewGroup;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
.line 419
new-instance v0, Landroidx/recyclerview/widget/RecyclerView$RecyclerViewDataObserver;
invoke-direct {v0, p0}, 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 421
new-instance v0, Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-direct {v0, p0}, 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 438
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 452
new-instance v0, Landroidx/recyclerview/widget/RecyclerView$1;
invoke-direct {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$1;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mUpdateChildViewsRunnable:Ljava/lang/Runnable;
.line 472
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 473
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 474
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 481
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mRecyclerListeners:Ljava/util/List;
.line 482
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 483
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
iput v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I
iput-boolean v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z
iput-boolean v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mDispatchItemsChangedEvent:Z
iput v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I
iput v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mDispatchScrollCounter:I
sget-object v0, Landroidx/recyclerview/widget/RecyclerView;->sDefaultEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$StretchEdgeEffectFactory;
iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;
.line 563
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;
iput v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I
const/4 v12, -0x1
iput v12, v7, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
const/4 v0, 0x1
iput v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mScaledHorizontalScrollFactor:F
iput v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mScaledVerticalScrollFactor:F
const/4 v13, 0x1
iput-boolean v13, v7, Landroidx/recyclerview/widget/RecyclerView;->mPreserveFocusAfterLayout:Z
.line 611
new-instance v0, Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;
invoke-direct {v0, p0}, 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;
sget-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->ALLOW_THREAD_GAP_WORK:Z
if-eqz v0, :cond_0
.line 615
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 617
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;
iput-boolean v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mItemsAddedOrRemoved:Z
iput-boolean v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mItemsChanged:Z
.line 625
new-instance v0, Landroidx/recyclerview/widget/RecyclerView$ItemAnimatorRestoreListener;
invoke-direct {v0, p0}, 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;
iput-boolean v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mPostedAnimatorRunner:Z
const/4 v0, 0x2
new-array v1, v0, [I
iput-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mMinMaxLayoutPositions:[I
new-array v1, v0, [I
iput-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I
new-array v1, v0, [I
iput-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I
new-array v1, v0, [I
iput-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I
.line 647
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 650
new-instance v1, Landroidx/recyclerview/widget/RecyclerView$2;
invoke-direct {v1, p0}, Landroidx/recyclerview/widget/RecyclerView$2;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
iput-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimatorRunner:Ljava/lang/Runnable;
iput v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureNonExactMeasuredWidth:I
iput v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureNonExactMeasuredHeight:I
.line 696
new-instance v1, Landroidx/recyclerview/widget/RecyclerView$4;
invoke-direct {v1, p0}, 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 744
invoke-virtual {p0, v13}, Landroidx/recyclerview/widget/RecyclerView;->setScrollContainer(Z)V
.line 745
invoke-virtual {p0, v13}, Landroidx/recyclerview/widget/RecyclerView;->setFocusableInTouchMode(Z)V
.line 747
invoke-static/range {p1 .. p1}, Landroid/view/ViewConfiguration;->get(Landroid/content/Context;)Landroid/view/ViewConfiguration;
move-result-object v1
.line 748
invoke-virtual {v1}, Landroid/view/ViewConfiguration;->getScaledTouchSlop()I
move-result v2
iput v2, v7, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I
.line 750
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 752
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 753
invoke-virtual {v1}, Landroid/view/ViewConfiguration;->getScaledMinimumFlingVelocity()I
move-result v2
iput v2, v7, Landroidx/recyclerview/widget/RecyclerView;->mMinFlingVelocity:I
.line 754
invoke-virtual {v1}, Landroid/view/ViewConfiguration;->getScaledMaximumFlingVelocity()I
move-result v1
iput v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mMaxFlingVelocity:I
.line 755
invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v1
invoke-virtual {v1}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
move-result-object v1
iget v1, v1, Landroid/util/DisplayMetrics;->density:F
const/high16 v2, 0x43200000 # 160.0f
mul-float/2addr v1, v2
const v2, 0x43c10b3d
mul-float/2addr v1, v2
const v2, 0x3f570a3d # 0.84f
mul-float/2addr v1, v2
iput v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mPhysicalCoef:F
.line 760
invoke-virtual {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 {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setWillNotDraw(Z)V
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;
.line 762
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->setListener(Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemAnimatorListener;)V
.line 763
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->initAdapterManager()V
.line 764
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->initChildrenHelper()V
.line 765
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->initAutofill()V
.line 767
invoke-static {p0}, Landroidx/core/view/ViewCompat;->getImportantForAccessibility(Landroid/view/View;)I
move-result v0
if-nez v0, :cond_2
.line 769
invoke-static {p0, v13}, Landroidx/core/view/ViewCompat;->setImportantForAccessibility(Landroid/view/View;I)V
.line 772
:cond_2
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getContext()Landroid/content/Context;
move-result-object v0
const-string v1, "accessibility"
.line 773
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 774
new-instance v0, Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate;
invoke-direct {v0, p0}, Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setAccessibilityDelegateCompat(Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate;)V
.line 776
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 779
sget-object v2, Landroidx/recyclerview/R$styleable;->RecyclerView:[I
const/4 v6, 0x0
move-object v0, p0
move-object/from16 v1, p1
move-object/from16 v3, p2
move-object v4, v14
move/from16 v5, p3
invoke-static/range {v0 .. v6}, Landroidx/core/view/ViewCompat;->saveAttributeDataForStyleable(Landroid/view/View;Landroid/content/Context;[ILandroid/util/AttributeSet;Landroid/content/res/TypedArray;II)V
.line 781
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 782
sget v0, Landroidx/recyclerview/R$styleable;->RecyclerView_android_descendantFocusability:I
invoke-virtual {v14, v0, v12}, Landroid/content/res/TypedArray;->getInt(II)I
move-result v0
if-ne v0, v12, :cond_3
const/high16 v0, 0x40000
.line 785
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setDescendantFocusability(I)V
.line 787
:cond_3
sget v0, Landroidx/recyclerview/R$styleable;->RecyclerView_android_clipToPadding:I
invoke-virtual {v14, v0, v13}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z
move-result v0
iput-boolean v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
.line 788
sget v0, Landroidx/recyclerview/R$styleable;->RecyclerView_fastScrollEnabled:I
invoke-virtual {v14, v0, v11}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z
move-result v0
iput-boolean v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mEnableFastScroller:Z
if-eqz v0, :cond_4
.line 790
sget v0, Landroidx/recyclerview/R$styleable;->RecyclerView_fastScrollVerticalThumbDrawable:I
.line 791
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 792
sget v1, Landroidx/recyclerview/R$styleable;->RecyclerView_fastScrollVerticalTrackDrawable:I
.line 793
invoke-virtual {v14, v1}, Landroid/content/res/TypedArray;->getDrawable(I)Landroid/graphics/drawable/Drawable;
move-result-object v1
.line 794
sget v3, Landroidx/recyclerview/R$styleable;->RecyclerView_fastScrollHorizontalThumbDrawable:I
.line 795
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 796
sget v4, Landroidx/recyclerview/R$styleable;->RecyclerView_fastScrollHorizontalTrackDrawable:I
.line 797
invoke-virtual {v14, v4}, Landroid/content/res/TypedArray;->getDrawable(I)Landroid/graphics/drawable/Drawable;
move-result-object v4
.line 798
invoke-virtual {p0, v0, v1, v3, v4}, Landroidx/recyclerview/widget/RecyclerView;->initFastScroller(Landroid/graphics/drawable/StateListDrawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/StateListDrawable;Landroid/graphics/drawable/Drawable;)V
.line 801
:cond_4
invoke-virtual {v14}, Landroid/content/res/TypedArray;->recycle()V
const/4 v5, 0x0
move-object v0, p0
move-object/from16 v1, p1
move-object/from16 v3, p2
move/from16 v4, p3
.line 804
invoke-direct/range {v0 .. v5}, Landroidx/recyclerview/widget/RecyclerView;->createLayoutManager(Landroid/content/Context;Ljava/lang/String;Landroid/util/AttributeSet;II)V
sget-object v2, Landroidx/recyclerview/widget/RecyclerView;->NESTED_SCROLLING_ATTRS:[I
.line 808
invoke-virtual {v8, v9, v2, v10, v11}, Landroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray;
move-result-object v12
const/4 v6, 0x0
move-object v0, p0
move-object/from16 v1, p1
move-object/from16 v3, p2
move-object v4, v12
move/from16 v5, p3
.line 810
invoke-static/range {v0 .. v6}, Landroidx/core/view/ViewCompat;->saveAttributeDataForStyleable(Landroid/view/View;Landroid/content/Context;[ILandroid/util/AttributeSet;Landroid/content/res/TypedArray;II)V
.line 812
invoke-virtual {v12, v11, v13}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z
move-result v0
.line 813
invoke-virtual {v12}, Landroid/content/res/TypedArray;->recycle()V
.line 816
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setNestedScrollingEnabled(Z)V
.line 817
invoke-static {p0, v13}, Landroidx/customview/poolingcontainer/PoolingContainer;->setPoolingContainer(Landroid/view/View;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 217
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 217
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 217
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;Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V
.locals 0
.line 217
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$400(Landroidx/recyclerview/widget/RecyclerView;Landroid/view/View;)V
.locals 0
.line 217
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->detachViewFromParent(Landroid/view/View;)V
return-void
.end method
.method static synthetic access$500(Landroidx/recyclerview/widget/RecyclerView;II)V
.locals 0
.line 217
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 1571
iget-object v0, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
.line 1572
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
:goto_0
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
.line 1573
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 1574
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isTmpDetached()Z
move-result p1
if-eqz p1, :cond_1
iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
const/4 p1, -0x1
.line 1576
invoke-virtual {v0}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
move-result-object v1
invoke-virtual {p0, v0, p1, v1, 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
iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
.line 1578
invoke-virtual {p0, v0, v2}, Landroidx/recyclerview/widget/ChildHelper;->addView(Landroid/view/View;Z)V
goto :goto_1
:cond_2
iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
.line 1580
invoke-virtual {p0, 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 4896
invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->setIsRecyclable(Z)V
if-eqz p5, :cond_0
.line 4898
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 4902
invoke-direct {p0, p2}, Landroidx/recyclerview/widget/RecyclerView;->addAnimatingView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
.line 4904
:cond_1
iput-object p2, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mShadowedHolder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.line 4906
invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->addAnimatingView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
iget-object p5, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
.line 4907
invoke-virtual {p5, p1}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->unscrapView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
.line 4908
invoke-virtual {p2, v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->setIsRecyclable(Z)V
.line 4909
iput-object p1, p2, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mShadowingHolder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
:cond_2
iget-object p5, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
.line 4911
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 4912
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->postAnimationRunner()V
:cond_3
return-void
.end method
.method private cancelScroll()V
.locals 1
.line 3923
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->resetScroll()V
const/4 v0, 0x0
.line 3924
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 6467
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mNestedRecyclerView:Ljava/lang/ref/WeakReference;
if-eqz v0, :cond_3
.line 6468
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 6470
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
if-ne v0, v2, :cond_0
return-void
.line 6474
:cond_0
invoke-virtual {v0}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
move-result-object v0
.line 6475
instance-of v2, v0, Landroid/view/View;
if-eqz v2, :cond_1
.line 6476
check-cast v0, Landroid/view/View;
goto :goto_0
:cond_1
move-object v0, v1
goto :goto_0
.line 6481
:cond_2
iput-object v1, p0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mNestedRecyclerView:Ljava/lang/ref/WeakReference;
:cond_3
return-void
.end method
.method private consumeFlingInStretch(ILandroid/widget/EdgeEffect;Landroid/widget/EdgeEffect;I)I
.locals 3
const/high16 p0, 0x3f000000 # 0.5f
const/4 v0, 0x0
const/high16 v1, 0x40800000 # 4.0f
if-lez p1, :cond_1
if-eqz p2, :cond_1
.line 2889
invoke-static {p2}, Landroidx/core/widget/EdgeEffectCompat;->getDistance(Landroid/widget/EdgeEffect;)F
move-result v2
cmpl-float v2, v2, v0
if-eqz v2, :cond_1
neg-int p3, p1
int-to-float p3, p3
mul-float/2addr p3, v1
int-to-float v0, p4
div-float/2addr p3, v0
neg-int p4, p4
int-to-float p4, p4
div-float/2addr p4, v1
.line 2892
invoke-static {p2, p3, p0}, Landroidx/core/widget/EdgeEffectCompat;->onPullDistance(Landroid/widget/EdgeEffect;FF)F
move-result p0
mul-float/2addr p4, p0
.line 2891
invoke-static {p4}, Ljava/lang/Math;->round(F)I
move-result p0
if-eq p0, p1, :cond_0
.line 2894
invoke-virtual {p2}, Landroid/widget/EdgeEffect;->finish()V
:cond_0
sub-int/2addr p1, p0
return p1
:cond_1
if-gez p1, :cond_3
if-eqz p3, :cond_3
.line 2898
invoke-static {p3}, Landroidx/core/widget/EdgeEffectCompat;->getDistance(Landroid/widget/EdgeEffect;)F
move-result p2
cmpl-float p2, p2, v0
if-eqz p2, :cond_3
int-to-float p2, p1
mul-float/2addr p2, v1
int-to-float p4, p4
div-float/2addr p2, p4
div-float/2addr p4, v1
.line 2901
invoke-static {p3, p2, p0}, Landroidx/core/widget/EdgeEffectCompat;->onPullDistance(Landroid/widget/EdgeEffect;FF)F
move-result p0
mul-float/2addr p4, p0
.line 2900
invoke-static {p4}, Ljava/lang/Math;->round(F)I
move-result p0
if-eq p0, p1, :cond_2
.line 2903
invoke-virtual {p3}, Landroid/widget/EdgeEffect;->finish()V
:cond_2
sub-int/2addr p1, p0
:cond_3
return p1
.end method
.method private createLayoutManager(Landroid/content/Context;Ljava/lang/String;Landroid/util/AttributeSet;II)V
.locals 6
const-string v0, ": Could not instantiate the LayoutManager: "
if-eqz p2, :cond_1
.line 877
invoke-virtual {p2}, Ljava/lang/String;->trim()Ljava/lang/String;
move-result-object p2
.line 878
invoke-virtual {p2}, Ljava/lang/String;->isEmpty()Z
move-result v1
if-nez v1, :cond_1
.line 879
invoke-direct {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->getFullClassName(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
move-result-object p2
.line 882
:try_start_0
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isInEditMode()Z
move-result v1
if-eqz v1, :cond_0
.line 884
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 886
:cond_0
invoke-virtual {p1}, Landroid/content/Context;->getClassLoader()Ljava/lang/ClassLoader;
move-result-object v1
:goto_0
const/4 v2, 0x0
.line 889
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 890
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
:try_start_1
sget-object v4, Landroidx/recyclerview/widget/RecyclerView;->LAYOUT_MANAGER_CONSTRUCTOR_SIGNATURE:[Ljava/lang/Class;
.line 895
invoke-virtual {v1, v4}, Ljava/lang/Class;->getConstructor([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
move-result-object v4
const/4 v5, 0x4
new-array v5, v5, [Ljava/lang/Object;
aput-object p1, v5, v2
aput-object p3, v5, v3
.line 896
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
:try_start_2
new-array p4, v2, [Ljava/lang/Class;
.line 899
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 906
:goto_1
:try_start_3
invoke-virtual {v4, v3}, Ljava/lang/reflect/Constructor;->setAccessible(Z)V
.line 907
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 p0
.line 901
invoke-virtual {p0, p1}, Ljava/lang/NoSuchMethodException;->initCause(Ljava/lang/Throwable;)Ljava/lang/Throwable;
.line 902
new-instance p1, Ljava/lang/IllegalStateException;
new-instance p4, Ljava/lang/StringBuilder;
invoke-direct {p4}, Ljava/lang/StringBuilder;-><init>()V
invoke-interface {p3}, Landroid/util/AttributeSet;->getPositionDescription()Ljava/lang/String;
move-result-object p5
invoke-virtual {p4, p5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p4
const-string p5, ": Error creating LayoutManager "
invoke-virtual {p4, p5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p4
invoke-virtual {p4, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p4
invoke-virtual {p4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p4
invoke-direct {p1, p4, p0}, 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 p0
.line 921
new-instance p1, Ljava/lang/IllegalStateException;
new-instance p4, Ljava/lang/StringBuilder;
invoke-direct {p4}, Ljava/lang/StringBuilder;-><init>()V
invoke-interface {p3}, Landroid/util/AttributeSet;->getPositionDescription()Ljava/lang/String;
move-result-object p3
invoke-virtual {p4, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p3
const-string p4, ": Class is not a LayoutManager "
invoke-virtual {p3, p4}, 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 {p1, p2, p0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw p1
:catch_3
move-exception p0
.line 918
new-instance p1, Ljava/lang/IllegalStateException;
new-instance p4, Ljava/lang/StringBuilder;
invoke-direct {p4}, Ljava/lang/StringBuilder;-><init>()V
invoke-interface {p3}, Landroid/util/AttributeSet;->getPositionDescription()Ljava/lang/String;
move-result-object p3
invoke-virtual {p4, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p3
const-string p4, ": Cannot access non-public constructor "
invoke-virtual {p3, p4}, 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 {p1, p2, p0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw p1
:catch_4
move-exception p0
.line 915
new-instance p1, Ljava/lang/IllegalStateException;
new-instance p4, Ljava/lang/StringBuilder;
invoke-direct {p4}, Ljava/lang/StringBuilder;-><init>()V
invoke-interface {p3}, Landroid/util/AttributeSet;->getPositionDescription()Ljava/lang/String;
move-result-object p3
invoke-virtual {p4, 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 {p1, p2, p0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw p1
:catch_5
move-exception p0
.line 912
new-instance p1, Ljava/lang/IllegalStateException;
new-instance p4, Ljava/lang/StringBuilder;
invoke-direct {p4}, Ljava/lang/StringBuilder;-><init>()V
invoke-interface {p3}, Landroid/util/AttributeSet;->getPositionDescription()Ljava/lang/String;
move-result-object p3
invoke-virtual {p4, 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 {p1, p2, p0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw p1
:catch_6
move-exception p0
.line 909
new-instance p1, Ljava/lang/IllegalStateException;
new-instance p4, Ljava/lang/StringBuilder;
invoke-direct {p4}, Ljava/lang/StringBuilder;-><init>()V
invoke-interface {p3}, Landroid/util/AttributeSet;->getPositionDescription()Ljava/lang/String;
move-result-object p3
invoke-virtual {p4, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p3
const-string p4, ": Unable to find LayoutManager "
invoke-virtual {p3, p4}, 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 {p1, p2, p0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw p1
:cond_1
:goto_2
return-void
.end method
.method private didChildRangeChange(II)Z
.locals 3
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinMaxLayoutPositions:[I
.line 4837
invoke-direct {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->findMinMaxChildLayoutPositions([I)V
iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinMaxLayoutPositions:[I
const/4 v0, 0x0
.line 4838
aget v1, p0, v0
const/4 v2, 0x1
if-ne v1, p1, :cond_0
aget p0, p0, v2
if-eq p0, p2, :cond_1
:cond_0
move v0, v2
:cond_1
return v0
.end method
.method private dispatchContentChangedIfNecessary()V
.locals 3
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mEatenAccessibilityChangeFlags:I
const/4 v1, 0x0
iput v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mEatenAccessibilityChangeFlags:I
if-eqz v0, :cond_0
.line 4162
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isAccessibilityEnabled()Z
move-result v1
if-eqz v1, :cond_0
.line 4163
invoke-static {}, Landroid/view/accessibility/AccessibilityEvent;->obtain()Landroid/view/accessibility/AccessibilityEvent;
move-result-object v1
const/16 v2, 0x800
.line 4164
invoke-virtual {v1, v2}, Landroid/view/accessibility/AccessibilityEvent;->setEventType(I)V
.line 4165
invoke-static {v1, v0}, Landroidx/core/view/accessibility/AccessibilityEventCompat;->setContentChangeTypes(Landroid/view/accessibility/AccessibilityEvent;I)V
.line 4166
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
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
const/4 v1, 0x1
.line 4539
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$State;->assertLayoutStep(I)V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
.line 4540
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->fillRemainingScrollValues(Landroidx/recyclerview/widget/RecyclerView$State;)V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
const/4 v2, 0x0
.line 4541
iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mIsMeasuring:Z
.line 4542
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
.line 4543
invoke-virtual {v0}, Landroidx/recyclerview/widget/ViewInfoStore;->clear()V
.line 4544
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V
.line 4545
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->processAdapterUpdatesAndSetAnimationFlags()V
.line 4546
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->saveFocusInfo()V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
.line 4547
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
iput-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemsChanged:Z
iput-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemsAddedOrRemoved:Z
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
.line 4549
iget-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunPredictiveAnimations:Z
iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mInPreLayout:Z
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;
.line 4550
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->getItemCount()I
move-result v1
iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mItemCount:I
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinMaxLayoutPositions:[I
.line 4551
invoke-direct {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->findMinMaxChildLayoutPositions([I)V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
.line 4553
iget-boolean v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunSimpleAnimations:Z
if-eqz v0, :cond_3
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
.line 4555
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I
move-result v0
move v1, v2
:goto_1
if-ge v1, v0, :cond_3
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
.line 4557
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 4558
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
: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 4563
invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->buildAdapterChangeFlagsForAnimations(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)I
move-result v6
.line 4564
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getUnmodifiedPayloads()Ljava/util/List;
move-result-object v7
.line 4562
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
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
.line 4565
invoke-virtual {v5, v3, v4}, Landroidx/recyclerview/widget/ViewInfoStore;->addToPreLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
.line 4566
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 4567
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 4568
invoke-virtual {p0, v3}, Landroidx/recyclerview/widget/RecyclerView;->getChangedHolderKey(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)J
move-result-wide v4
iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
.line 4576
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
:cond_3
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
.line 4580
iget-boolean v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunPredictiveAnimations:Z
if-eqz v0, :cond_9
.line 4587
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->saveOldPositions()V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
.line 4588
iget-boolean v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
.line 4589
iput-boolean v2, v1, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z
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;
.line 4591
invoke-virtual {v1, v3, v4}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onLayoutChildren(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)V
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
.line 4592
iput-boolean v0, v1, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z
move v0, v2
:goto_3
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
.line 4594
invoke-virtual {v1}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I
move-result v1
if-ge v0, v1, :cond_8
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
.line 4595
invoke-virtual {v1, v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View;
move-result-object v1
.line 4596
invoke-static {v1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v1
.line 4597
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
move-result v3
if-eqz v3, :cond_4
goto :goto_4
:cond_4
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
.line 4600
invoke-virtual {v3, v1}, Landroidx/recyclerview/widget/ViewInfoStore;->isInPreLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Z
move-result v3
if-nez v3, :cond_7
.line 4601
invoke-static {v1}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->buildAdapterChangeFlagsForAnimations(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)I
move-result v3
const/16 v4, 0x2000
.line 4603
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
: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 4608
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getUnmodifiedPayloads()Ljava/util/List;
move-result-object v7
.line 4607
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 4610
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
:cond_6
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
.line 4612
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 4617
:cond_8
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->clearOldPositions()V
goto :goto_5
.line 4619
:cond_9
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->clearOldPositions()V
.line 4621
:goto_5
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V
.line 4622
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
const/4 v0, 0x2
.line 4623
iput v0, p0, Landroidx/recyclerview/widget/RecyclerView$State;->mLayoutStep:I
return-void
.end method
.method private dispatchLayoutStep2()V
.locals 4
.line 4631
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
.line 4632
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
const/4 v1, 0x6
.line 4633
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$State;->assertLayoutStep(I)V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
.line 4634
invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->consumeUpdatesInOnePass()V
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;
.line 4635
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->getItemCount()I
move-result v1
iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mItemCount:I
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
const/4 v1, 0x0
.line 4636
iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mDeletedInvisibleItemCountSincePreviousLayout:I
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingSavedState:Landroidx/recyclerview/widget/RecyclerView$SavedState;
if-eqz v0, :cond_1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
.line 4637
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->canRestoreState()Z
move-result v0
if-eqz v0, :cond_1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingSavedState:Landroidx/recyclerview/widget/RecyclerView$SavedState;
.line 4638
iget-object v0, v0, Landroidx/recyclerview/widget/RecyclerView$SavedState;->mLayoutState:Landroid/os/Parcelable;
if-eqz v0, :cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingSavedState:Landroidx/recyclerview/widget/RecyclerView$SavedState;
.line 4639
iget-object v2, v2, Landroidx/recyclerview/widget/RecyclerView$SavedState;->mLayoutState:Landroid/os/Parcelable;
invoke-virtual {v0, v2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onRestoreInstanceState(Landroid/os/Parcelable;)V
:cond_0
const/4 v0, 0x0
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingSavedState:Landroidx/recyclerview/widget/RecyclerView$SavedState;
:cond_1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
.line 4644
iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mInPreLayout:Z
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;
.line 4645
invoke-virtual {v0, v2, v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onLayoutChildren(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
.line 4647
iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
.line 4650
iget-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunSimpleAnimations:Z
if-eqz v2, :cond_2
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
if-eqz v2, :cond_2
const/4 v2, 0x1
goto :goto_0
:cond_2
move v2, v1
:goto_0
iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunSimpleAnimations:Z
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
const/4 v2, 0x4
.line 4651
iput v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mLayoutStep:I
.line 4652
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V
.line 4653
invoke-virtual {p0, v1}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
return-void
.end method
.method private dispatchLayoutStep3()V
.locals 11
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
const/4 v1, 0x4
.line 4661
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$State;->assertLayoutStep(I)V
.line 4662
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
.line 4663
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
const/4 v1, 0x1
.line 4664
iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mLayoutStep:I
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
.line 4665
iget-boolean v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunSimpleAnimations:Z
if-eqz v0, :cond_5
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
.line 4669
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I
move-result v0
sub-int/2addr v0, v1
:goto_0
if-ltz v0, :cond_4
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
.line 4670
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 4671
invoke-virtual {v5}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
move-result v2
if-eqz v2, :cond_0
goto :goto_1
.line 4674
:cond_0
invoke-virtual {p0, v5}, Landroidx/recyclerview/widget/RecyclerView;->getChangedHolderKey(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)J
move-result-wide v2
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 4676
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
iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
.line 4677
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 4678
invoke-virtual {v6}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
move-result v7
if-nez v7, :cond_3
iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
.line 4689
invoke-virtual {v7, v6}, Landroidx/recyclerview/widget/ViewInfoStore;->isDisappearing(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Z
move-result v8
iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
.line 4691
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
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
.line 4694
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
:cond_1
iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
.line 4696
invoke-virtual {v7, v6}, Landroidx/recyclerview/widget/ViewInfoStore;->popFromPreLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;
move-result-object v7
iget-object v10, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
.line 4699
invoke-virtual {v10, v5, v4}, Landroidx/recyclerview/widget/ViewInfoStore;->addToPostLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
.line 4700
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 4702
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 4704
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
:cond_3
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
.line 4709
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
: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;
.line 4714
invoke-virtual {v0, v2}, Landroidx/recyclerview/widget/ViewInfoStore;->process(Landroidx/recyclerview/widget/ViewInfoStore$ProcessCallback;)V
: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;
.line 4717
invoke-virtual {v0, v2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->removeAndRecycleScrapInt(Landroidx/recyclerview/widget/RecyclerView$Recycler;)V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
.line 4718
iget v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mItemCount:I
iput v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mPreviousLayoutItemCount:I
const/4 v0, 0x0
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchItemsChangedEvent:Z
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
.line 4721
iput-boolean v0, v2, Landroidx/recyclerview/widget/RecyclerView$State;->mRunSimpleAnimations:Z
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
.line 4723
iput-boolean v0, v2, Landroidx/recyclerview/widget/RecyclerView$State;->mRunPredictiveAnimations:Z
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
.line 4724
iput-boolean v0, v2, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mRequestedSimpleAnimations:Z
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
.line 4725
iget-object v2, v2, Landroidx/recyclerview/widget/RecyclerView$Recycler;->mChangedScrap:Ljava/util/ArrayList;
if-eqz v2, :cond_6
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
.line 4726
iget-object v2, v2, Landroidx/recyclerview/widget/RecyclerView$Recycler;->mChangedScrap:Ljava/util/ArrayList;
invoke-virtual {v2}, Ljava/util/ArrayList;->clear()V
:cond_6
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
.line 4728
iget-boolean v2, v2, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mPrefetchMaxObservedInInitialPrefetch:Z
if-eqz v2, :cond_7
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
.line 4731
iput v0, v2, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mPrefetchMaxCountObserved:I
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
.line 4732
iput-boolean v0, v2, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mPrefetchMaxObservedInInitialPrefetch:Z
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
.line 4733
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->updateViewCacheSize()V
: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;
.line 4736
invoke-virtual {v2, v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onLayoutCompleted(Landroidx/recyclerview/widget/RecyclerView$State;)V
.line 4737
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V
.line 4738
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
.line 4739
invoke-virtual {v2}, Landroidx/recyclerview/widget/ViewInfoStore;->clear()V
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinMaxLayoutPositions:[I
.line 4740
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 4741
invoke-virtual {p0, v0, v0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchOnScrolled(II)V
.line 4743
:cond_8
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->recoverFocusFromState()V
.line 4744
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->resetFocusInfo()V
return-void
.end method
.method private dispatchToOnItemTouchListeners(Landroid/view/MotionEvent;)Z
.locals 2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptingOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;
if-nez v0, :cond_1
.line 3551
invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I
move-result v0
if-nez v0, :cond_0
const/4 p0, 0x0
return p0
.line 3554
:cond_0
invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->findInterceptingOnItemTouchListener(Landroid/view/MotionEvent;)Z
move-result p0
return p0
.line 3556
:cond_1
invoke-interface {v0, p0, p1}, Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;->onTouchEvent(Landroidx/recyclerview/widget/RecyclerView;Landroid/view/MotionEvent;)V
.line 3557
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
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 3579
invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I
move-result v0
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList;
.line 3580
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
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList;
.line 3582
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 3583
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
iput-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptingOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;
const/4 p0, 0x1
return p0
:cond_0
add-int/lit8 v3, v3, 0x1
goto :goto_0
:cond_1
return v2
.end method
.method private findMinMaxChildLayoutPositions([I)V
.locals 8
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
.line 4811
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 p0, -0x1
.line 4813
aput p0, p1, v2
.line 4814
aput p0, p1, v1
return-void
:cond_0
const v3, 0x7fffffff
const/high16 v4, -0x80000000
move v5, v2
:goto_0
if-ge v5, v0, :cond_4
iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
.line 4820
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 4821
invoke-virtual {v6}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
move-result v7
if-eqz v7, :cond_1
goto :goto_1
.line 4824
: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 4832
:cond_4
aput v3, p1, v2
.line 4833
aput v4, p1, v1
return-void
.end method
.method static findNestedRecyclerView(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView;
.locals 4
.line 6445
instance-of v0, p0, Landroid/view/ViewGroup;
const/4 v1, 0x0
if-nez v0, :cond_0
return-object v1
.line 6448
:cond_0
instance-of v0, p0, Landroidx/recyclerview/widget/RecyclerView;
if-eqz v0, :cond_1
.line 6449
check-cast p0, Landroidx/recyclerview/widget/RecyclerView;
return-object p0
.line 6451
:cond_1
check-cast p0, Landroid/view/ViewGroup;
.line 6452
invoke-virtual {p0}, Landroid/view/ViewGroup;->getChildCount()I
move-result v0
const/4 v2, 0x0
:goto_0
if-ge v2, v0, :cond_3
.line 6454
invoke-virtual {p0, v2}, Landroid/view/ViewGroup;->getChildAt(I)Landroid/view/View;
move-result-object v3
.line 6455
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
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
.line 4408
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
:goto_0
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
.line 4411
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 4413
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 4417
: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 4418
iget-object p0, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
return-object p0
:cond_2
add-int/lit8 v2, v2, 0x1
goto :goto_1
.line 4421
: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 4423
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 4427
: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 4428
iget-object p0, v2, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
return-object p0
: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 5330
: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 5611
invoke-virtual {p0}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
move-result-object v0
check-cast v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
.line 5612
iget-object v1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mDecorInsets:Landroid/graphics/Rect;
.line 5613
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 5614
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 5615
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 5616
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 5613
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 2
.line 4509
invoke-virtual {p1}, Landroid/view/View;->getId()I
move-result p0
.line 4510
:cond_0
:goto_0
invoke-virtual {p1}, Landroid/view/View;->isFocused()Z
move-result v0
if-nez v0, :cond_1
instance-of v0, p1, Landroid/view/ViewGroup;
if-eqz v0, :cond_1
invoke-virtual {p1}, Landroid/view/View;->hasFocus()Z
move-result v0
if-eqz v0, :cond_1
.line 4511
check-cast p1, Landroid/view/ViewGroup;
invoke-virtual {p1}, Landroid/view/ViewGroup;->getFocusedChild()Landroid/view/View;
move-result-object p1
.line 4512
invoke-virtual {p1}, Landroid/view/View;->getId()I
move-result v0
const/4 v1, -0x1
if-eq v0, v1, :cond_0
.line 4514
invoke-virtual {p1}, Landroid/view/View;->getId()I
move-result p0
goto :goto_0
:cond_1
return p0
.end method
.method private getFullClassName(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
.locals 1
const/4 p0, 0x0
.line 929
invoke-virtual {p2, p0}, Ljava/lang/String;->charAt(I)C
move-result p0
const/16 v0, 0x2e
if-ne p0, v0, :cond_0
.line 930
new-instance p0, Ljava/lang/StringBuilder;
invoke-direct {p0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object p1
invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p0
invoke-virtual {p0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p0
invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
:cond_0
const-string p0, "."
.line 932
invoke-virtual {p2, p0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result p0
if-eqz p0, :cond_1
return-object p2
.line 935
:cond_1
new-instance p0, Ljava/lang/StringBuilder;
invoke-direct {p0}, Ljava/lang/StringBuilder;-><init>()V
const-class p1, Landroidx/recyclerview/widget/RecyclerView;
invoke-virtual {p1}, Ljava/lang/Class;->getPackage()Ljava/lang/Package;
move-result-object p1
invoke-virtual {p1}, Ljava/lang/Package;->getName()Ljava/lang/String;
move-result-object p1
invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p0
invoke-virtual {p0, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
move-result-object p0
invoke-virtual {p0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p0
invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method private getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
.locals 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollingChildHelper:Landroidx/core/view/NestedScrollingChildHelper;
if-nez v0, :cond_0
.line 14450
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;
:cond_0
iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollingChildHelper:Landroidx/core/view/NestedScrollingChildHelper;
return-object p0
.end method
.method private getSplineFlingDistance(I)F
.locals 8
.line 5716
invoke-static {p1}, Ljava/lang/Math;->abs(I)I
move-result p1
int-to-float p1, p1
const v0, 0x3eb33333 # 0.35f
mul-float/2addr p1, v0
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPhysicalCoef:F
const v1, 0x3c75c28f # 0.015f
mul-float/2addr v0, v1
div-float/2addr p1, v0
float-to-double v2, p1
invoke-static {v2, v3}, Ljava/lang/Math;->log(D)D
move-result-wide v2
sget p1, Landroidx/recyclerview/widget/RecyclerView;->DECELERATION_RATE:F
float-to-double v4, p1
const-wide/high16 v6, 0x3ff0000000000000L # 1.0
sub-double/2addr v4, v6
iget p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPhysicalCoef:F
mul-float/2addr p0, v1
float-to-double v0, p0
float-to-double p0, p1
div-double/2addr p0, v4
mul-double/2addr p0, v2
.line 5719
invoke-static {p0, p1}, Ljava/lang/Math;->exp(D)D
move-result-wide p0
mul-double/2addr v0, p0
double-to-float p0, v0
return p0
.end method
.method private handleMissingPreInfoForChangeError(JLandroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
.locals 5
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
.line 4765
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I
move-result v0
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_3
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
.line 4767
invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View;
move-result-object v2
.line 4768
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 4772
: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
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
.line 4774
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z
move-result p1
if-eqz p1, :cond_1
.line 4775
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 4778
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String;
move-result-object p0
invoke-virtual {p2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p0
invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-direct {p1, p0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
.line 4780
: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 4784
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String;
move-result-object p0
invoke-virtual {p2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p0
invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-direct {p1, p0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
:cond_2
:goto_1
add-int/lit8 v1, v1, 0x1
goto :goto_0
.line 4789
: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 4791
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String;
move-result-object p0
invoke-virtual {p1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p0
invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
const-string p1, "RecyclerView"
.line 4789
invoke-static {p1, p0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
return-void
.end method
.method private hasUpdatedView()Z
.locals 5
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
.line 2115
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
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
.line 2117
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 2118
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
move-result v4
if-eqz v4, :cond_0
goto :goto_1
.line 2121
:cond_0
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isUpdated()Z
move-result v3
if-eqz v3, :cond_1
const/4 p0, 0x1
return p0
: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 839
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 840
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 939
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-eq p2, p0, :cond_1a
if-ne p2, p1, :cond_0
goto/16 :goto_3
.line 3262
: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 3269
: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
:cond_3
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
.line 3273
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
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect;
.line 3274
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
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
.line 3275
invoke-virtual {p0, p1, v2}, Landroidx/recyclerview/widget/RecyclerView;->offsetDescendantRectToMyCoords(Landroid/view/View;Landroid/graphics/Rect;)V
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect;
.line 3276
invoke-virtual {p0, p2, p1}, Landroidx/recyclerview/widget/RecyclerView;->offsetDescendantRectToMyCoords(Landroid/view/View;Landroid/graphics/Rect;)V
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
.line 3277
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
:goto_0
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
.line 3279
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
:cond_6
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
.line 3283
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
:goto_1
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
.line 3289
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
:cond_a
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
.line 3293
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 3312
: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 p0
invoke-virtual {p2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p0
invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-direct {p1, p0}, 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-lez 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-gez v2, :cond_1a
:cond_19
move v0, v1
:cond_1a
:goto_3
return v0
.end method
.method private nestedScrollByInternal(IILandroid/view/MotionEvent;I)V
.locals 11
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-nez v0, :cond_0
const-string p0, "RecyclerView"
const-string p1, "Cannot scroll without a LayoutManager set. Call setLayoutManager with a non-null argument."
.line 1980
invoke-static {p0, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
return-void
:cond_0
iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
if-eqz v1, :cond_1
return-void
:cond_1
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I
const/4 v2, 0x0
.line 1987
aput v2, v1, v2
const/4 v3, 0x1
.line 1988
aput v2, v1, v3
.line 1989
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z
move-result v0
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
.line 1990
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z
move-result v1
if-eqz v1, :cond_2
or-int/lit8 v4, v0, 0x2
goto :goto_0
:cond_2
move v4, v0
:goto_0
const/high16 v5, 0x40000000 # 2.0f
if-nez p3, :cond_3
.line 2001
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getHeight()I
move-result v6
int-to-float v6, v6
div-float/2addr v6, v5
goto :goto_1
:cond_3
invoke-virtual {p3}, Landroid/view/MotionEvent;->getY()F
move-result v6
:goto_1
if-nez p3, :cond_4
.line 2002
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I
move-result v7
int-to-float v7, v7
div-float/2addr v7, v5
goto :goto_2
:cond_4
invoke-virtual {p3}, Landroid/view/MotionEvent;->getX()F
move-result v7
.line 2003
:goto_2
invoke-direct {p0, p1, v6}, Landroidx/recyclerview/widget/RecyclerView;->releaseHorizontalGlow(IF)I
move-result v5
sub-int/2addr p1, v5
.line 2004
invoke-direct {p0, p2, v7}, Landroidx/recyclerview/widget/RecyclerView;->releaseVerticalGlow(IF)I
move-result v5
sub-int/2addr p2, v5
.line 2005
invoke-virtual {p0, v4, p4}, Landroidx/recyclerview/widget/RecyclerView;->startNestedScroll(II)Z
if-eqz v0, :cond_5
move v6, p1
goto :goto_3
:cond_5
move v6, v2
:goto_3
if-eqz v1, :cond_6
move v7, p2
goto :goto_4
:cond_6
move v7, v2
:goto_4
iget-object v8, p0, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I
iget-object v9, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I
move-object v5, p0
move v10, p4
.line 2006
invoke-virtual/range {v5 .. v10}, Landroidx/recyclerview/widget/RecyclerView;->dispatchNestedPreScroll(II[I[II)Z
move-result v4
if-eqz v4, :cond_7
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I
.line 2011
aget v5, v4, v2
sub-int/2addr p1, v5
.line 2012
aget v3, v4, v3
sub-int/2addr p2, v3
:cond_7
if-eqz v0, :cond_8
move v0, p1
goto :goto_5
:cond_8
move v0, v2
:goto_5
if-eqz v1, :cond_9
move v2, p2
.line 2015
:cond_9
invoke-virtual {p0, v0, v2, p3, p4}, Landroidx/recyclerview/widget/RecyclerView;->scrollByInternal(IILandroid/view/MotionEvent;I)Z
iget-object p3, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/GapWorker;
if-eqz p3, :cond_b
if-nez p1, :cond_a
if-eqz p2, :cond_b
.line 2020
:cond_a
invoke-virtual {p3, p0, p1, p2}, Landroidx/recyclerview/widget/GapWorker;->postFromTraversal(Landroidx/recyclerview/widget/RecyclerView;II)V
.line 2022
:cond_b
invoke-virtual {p0, p4}, Landroidx/recyclerview/widget/RecyclerView;->stopNestedScroll(I)V
return-void
.end method
.method private onPointerUp(Landroid/view/MotionEvent;)V
.locals 3
.line 3928
invoke-virtual {p1}, Landroid/view/MotionEvent;->getActionIndex()I
move-result v0
.line 3929
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 3932
: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 3933
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 3934
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
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
if-eqz v0, :cond_0
iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
.line 4256
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->supportsPredictiveItemAnimations()Z
move-result p0
if-eqz p0, :cond_0
const/4 p0, 0x1
goto :goto_0
:cond_0
const/4 p0, 0x0
:goto_0
return p0
.end method
.method private processAdapterUpdatesAndSetAnimationFlags()V
.locals 5
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z
if-eqz v0, :cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
.line 4269
invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->reset()V
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchItemsChangedEvent:Z
if-eqz v0, :cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
.line 4271
invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onItemsChanged(Landroidx/recyclerview/widget/RecyclerView;)V
.line 4277
:cond_0
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->predictiveItemAnimationsEnabled()Z
move-result v0
if-eqz v0, :cond_1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
.line 4278
invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->preProcess()V
goto :goto_0
:cond_1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
.line 4280
invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->consumeUpdatesInOnePass()V
: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
: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;
.line 4283
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 4289
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
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
.line 4290
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 4293
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->predictiveItemAnimationsEnabled()Z
move-result p0
if-eqz p0, :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 2954
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureLeftGlow()V
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
neg-float v4, p2
.line 2955
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I
move-result v5
int-to-float v5, v5
div-float/2addr v4, v5
.line 2956
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
.line 2955
invoke-static {v1, v4, p3}, Landroidx/core/widget/EdgeEffectCompat;->onPullDistance(Landroid/widget/EdgeEffect;FF)F
goto :goto_0
:cond_0
cmpl-float v1, p2, v0
if-lez v1, :cond_1
.line 2959
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureRightGlow()V
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
.line 2960
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;->onPullDistance(Landroid/widget/EdgeEffect;FF)F
goto :goto_0
:cond_1
const/4 v2, 0x0
:goto_0
cmpg-float p3, p4, v0
if-gez p3, :cond_2
.line 2965
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureTopGlow()V
iget-object p2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
neg-float p3, p4
.line 2966
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;->onPullDistance(Landroid/widget/EdgeEffect;FF)F
goto :goto_1
:cond_2
cmpl-float p3, p4, v0
if-lez p3, :cond_3
.line 2969
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureBottomGlow()V
iget-object p2, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
.line 2970
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getHeight()I
move-result p3
int-to-float p3, p3
div-float/2addr p4, p3
.line 2971
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
.line 2970
invoke-static {p2, p4, v3}, Landroidx/core/widget/EdgeEffectCompat;->onPullDistance(Landroid/widget/EdgeEffect;FF)F
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 2976
: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
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
.line 4435
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->hasFocus()Z
move-result v0
if-eqz v0, :cond_9
.line 4436
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getDescendantFocusability()I
move-result v0
const/high16 v1, 0x60000
if-eq v0, v1, :cond_9
.line 4437
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 4445
:cond_0
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isFocused()Z
move-result v0
if-nez v0, :cond_3
.line 4446
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getFocusedChild()Landroid/view/View;
move-result-object v0
sget-boolean v1, Landroidx/recyclerview/widget/RecyclerView;->IGNORE_DETACHED_FOCUSED_CHILD:Z
if-eqz v1, :cond_2
.line 4448
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
:cond_1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
.line 4460
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I
move-result v0
if-nez v0, :cond_3
.line 4463
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestFocus()Z
return-void
:cond_2
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
.line 4466
invoke-virtual {v1, v0}, Landroidx/recyclerview/widget/ChildHelper;->isHidden(Landroid/view/View;)Z
move-result v0
if-nez v0, :cond_3
return-void
:cond_3
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
.line 4476
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
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
.line 4477
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
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
.line 4480
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 4481
invoke-virtual {v4}, Landroid/view/View;->hasFocusable()Z
move-result v4
if-nez v4, :cond_5
goto :goto_1
.line 4494
:cond_5
iget-object v1, v0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
goto :goto_2
:cond_6
:goto_1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
.line 4482
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I
move-result v0
if-lez v0, :cond_7
.line 4489
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->findNextViewToFocus()Landroid/view/View;
move-result-object v1
:cond_7
:goto_2
if-eqz v1, :cond_9
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
.line 4498
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
iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
.line 4499
iget p0, p0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedSubChildId:I
invoke-virtual {v1, p0}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object p0
if-eqz p0, :cond_8
.line 4500
invoke-virtual {p0}, Landroid/view/View;->isFocusable()Z
move-result v0
if-eqz v0, :cond_8
move-object v1, p0
.line 4504
:cond_8
invoke-virtual {v1}, Landroid/view/View;->requestFocus()Z
:cond_9
:goto_3
return-void
.end method
.method private releaseGlows()V
.locals 2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
if-eqz v0, :cond_0
.line 2983
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->onRelease()V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
.line 2984
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result v0
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
if-eqz v1, :cond_1
.line 2987
invoke-virtual {v1}, Landroid/widget/EdgeEffect;->onRelease()V
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
.line 2988
invoke-virtual {v1}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result v1
or-int/2addr v0, v1
:cond_1
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
if-eqz v1, :cond_2
.line 2991
invoke-virtual {v1}, Landroid/widget/EdgeEffect;->onRelease()V
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
.line 2992
invoke-virtual {v1}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result v1
or-int/2addr v0, v1
:cond_2
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
if-eqz v1, :cond_3
.line 2995
invoke-virtual {v1}, Landroid/widget/EdgeEffect;->onRelease()V
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
.line 2996
invoke-virtual {v1}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result v1
or-int/2addr v0, v1
:cond_3
if-eqz v0, :cond_4
.line 2999
invoke-static {p0}, Landroidx/core/view/ViewCompat;->postInvalidateOnAnimation(Landroid/view/View;)V
:cond_4
return-void
.end method
.method private releaseHorizontalGlow(IF)I
.locals 3
.line 2201
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getHeight()I
move-result v0
int-to-float v0, v0
div-float/2addr p2, v0
int-to-float p1, p1
.line 2202
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I
move-result v0
int-to-float v0, v0
div-float/2addr p1, v0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
const/4 v1, 0x0
if-eqz v0, :cond_2
.line 2203
invoke-static {v0}, Landroidx/core/widget/EdgeEffectCompat;->getDistance(Landroid/widget/EdgeEffect;)F
move-result v0
cmpl-float v0, v0, v1
if-eqz v0, :cond_2
const/4 v0, -0x1
.line 2204
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->canScrollHorizontally(I)Z
move-result v0
if-eqz v0, :cond_0
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
.line 2205
invoke-virtual {p1}, Landroid/widget/EdgeEffect;->onRelease()V
goto :goto_0
:cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
neg-float p1, p1
const/high16 v2, 0x3f800000 # 1.0f
sub-float/2addr v2, p2
.line 2207
invoke-static {v0, p1, v2}, Landroidx/core/widget/EdgeEffectCompat;->onPullDistance(Landroid/widget/EdgeEffect;FF)F
move-result p1
neg-float p1, p1
iget-object p2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
.line 2209
invoke-static {p2}, Landroidx/core/widget/EdgeEffectCompat;->getDistance(Landroid/widget/EdgeEffect;)F
move-result p2
cmpl-float p2, p2, v1
if-nez p2, :cond_1
iget-object p2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
.line 2210
invoke-virtual {p2}, Landroid/widget/EdgeEffect;->onRelease()V
:cond_1
move v1, p1
.line 2213
:goto_0
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->invalidate()V
goto :goto_2
:cond_2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
if-eqz v0, :cond_5
.line 2214
invoke-static {v0}, Landroidx/core/widget/EdgeEffectCompat;->getDistance(Landroid/widget/EdgeEffect;)F
move-result v0
cmpl-float v0, v0, v1
if-eqz v0, :cond_5
const/4 v0, 0x1
.line 2215
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->canScrollHorizontally(I)Z
move-result v0
if-eqz v0, :cond_3
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
.line 2216
invoke-virtual {p1}, Landroid/widget/EdgeEffect;->onRelease()V
goto :goto_1
:cond_3
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
.line 2218
invoke-static {v0, p1, p2}, Landroidx/core/widget/EdgeEffectCompat;->onPullDistance(Landroid/widget/EdgeEffect;FF)F
move-result p1
iget-object p2, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
.line 2219
invoke-static {p2}, Landroidx/core/widget/EdgeEffectCompat;->getDistance(Landroid/widget/EdgeEffect;)F
move-result p2
cmpl-float p2, p2, v1
if-nez p2, :cond_4
iget-object p2, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
.line 2220
invoke-virtual {p2}, Landroid/widget/EdgeEffect;->onRelease()V
:cond_4
move v1, p1
.line 2223
:goto_1
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->invalidate()V
.line 2225
:cond_5
:goto_2
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I
move-result p0
int-to-float p0, p0
mul-float/2addr v1, p0
invoke-static {v1}, Ljava/lang/Math;->round(F)I
move-result p0
return p0
.end method
.method private releaseVerticalGlow(IF)I
.locals 3
.line 2241
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I
move-result v0
int-to-float v0, v0
div-float/2addr p2, v0
int-to-float p1, p1
.line 2242
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getHeight()I
move-result v0
int-to-float v0, v0
div-float/2addr p1, v0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
const/4 v1, 0x0
if-eqz v0, :cond_2
.line 2243
invoke-static {v0}, Landroidx/core/widget/EdgeEffectCompat;->getDistance(Landroid/widget/EdgeEffect;)F
move-result v0
cmpl-float v0, v0, v1
if-eqz v0, :cond_2
const/4 v0, -0x1
.line 2244
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->canScrollVertically(I)Z
move-result v0
if-eqz v0, :cond_0
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
.line 2245
invoke-virtual {p1}, Landroid/widget/EdgeEffect;->onRelease()V
goto :goto_0
:cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
neg-float p1, p1
.line 2247
invoke-static {v0, p1, p2}, Landroidx/core/widget/EdgeEffectCompat;->onPullDistance(Landroid/widget/EdgeEffect;FF)F
move-result p1
neg-float p1, p1
iget-object p2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
.line 2248
invoke-static {p2}, Landroidx/core/widget/EdgeEffectCompat;->getDistance(Landroid/widget/EdgeEffect;)F
move-result p2
cmpl-float p2, p2, v1
if-nez p2, :cond_1
iget-object p2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
.line 2249
invoke-virtual {p2}, Landroid/widget/EdgeEffect;->onRelease()V
:cond_1
move v1, p1
.line 2252
:goto_0
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->invalidate()V
goto :goto_2
:cond_2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
if-eqz v0, :cond_5
.line 2253
invoke-static {v0}, Landroidx/core/widget/EdgeEffectCompat;->getDistance(Landroid/widget/EdgeEffect;)F
move-result v0
cmpl-float v0, v0, v1
if-eqz v0, :cond_5
const/4 v0, 0x1
.line 2254
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->canScrollVertically(I)Z
move-result v0
if-eqz v0, :cond_3
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
.line 2255
invoke-virtual {p1}, Landroid/widget/EdgeEffect;->onRelease()V
goto :goto_1
:cond_3
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
const/high16 v2, 0x3f800000 # 1.0f
sub-float/2addr v2, p2
.line 2257
invoke-static {v0, p1, v2}, Landroidx/core/widget/EdgeEffectCompat;->onPullDistance(Landroid/widget/EdgeEffect;FF)F
move-result p1
iget-object p2, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
.line 2259
invoke-static {p2}, Landroidx/core/widget/EdgeEffectCompat;->getDistance(Landroid/widget/EdgeEffect;)F
move-result p2
cmpl-float p2, p2, v1
if-nez p2, :cond_4
iget-object p2, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
.line 2260
invoke-virtual {p2}, Landroid/widget/EdgeEffect;->onRelease()V
:cond_4
move v1, p1
.line 2263
:goto_1
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->invalidate()V
.line 2265
:cond_5
:goto_2
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getHeight()I
move-result p0
int-to-float p0, p0
mul-float/2addr v1, p0
invoke-static {v1}, Ljava/lang/Math;->round(F)I
move-result p0
return p0
.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
:goto_0
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
.line 3335
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 3340
invoke-virtual {v0}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
move-result-object v0
.line 3341
instance-of v1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
if-eqz v1, :cond_1
.line 3343
check-cast v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
.line 3344
iget-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mInsetsDirty:Z
if-nez v1, :cond_1
.line 3345
iget-object v0, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mDecorInsets:Landroid/graphics/Rect;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
.line 3346
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
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
.line 3347
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
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
.line 3348
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
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
.line 3349
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
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
.line 3354
invoke-virtual {p0, p2, v0}, Landroidx/recyclerview/widget/RecyclerView;->offsetDescendantRectToMyCoords(Landroid/view/View;Landroid/graphics/Rect;)V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
.line 3355
invoke-virtual {p0, p1, v0}, Landroidx/recyclerview/widget/RecyclerView;->offsetRectIntoDescendantCoords(Landroid/view/View;Landroid/graphics/Rect;)V
: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
.line 3357
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
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
const-wide/16 v1, -0x1
.line 4392
iput-wide v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemId:J
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
const/4 v1, -0x1
.line 4393
iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemPosition:I
iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
.line 4394
iput v1, p0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedSubChildId:I
return-void
.end method
.method private resetScroll()V
.locals 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
if-eqz v0, :cond_0
.line 3916
invoke-virtual {v0}, Landroid/view/VelocityTracker;->clear()V
:cond_0
const/4 v0, 0x0
.line 3918
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->stopNestedScroll(I)V
.line 3919
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->releaseGlows()V
return-void
.end method
.method private saveFocusInfo()V
.locals 4
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPreserveFocusAfterLayout:Z
const/4 v1, 0x0
if-eqz v0, :cond_0
.line 4372
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 4373
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 4376
: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 4378
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->resetFocusInfo()V
goto :goto_4
: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;
.line 4380
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
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 4385
: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 4386
:cond_5
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getAbsoluteAdapterPosition()I
move-result v2
:goto_3
iput v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemPosition:I
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
.line 4387
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 p0
iput p0, 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
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroidx/recyclerview/widget/RecyclerView$Adapter<",
"*>;ZZ)V"
}
.end annotation
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
if-eqz v0, :cond_0
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mObserver:Landroidx/recyclerview/widget/RecyclerView$RecyclerViewDataObserver;
.line 1304
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->unregisterAdapterDataObserver(Landroidx/recyclerview/widget/RecyclerView$AdapterDataObserver;)V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
.line 1305
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 1308
:cond_1
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->removeAndRecycleViews()V
:cond_2
iget-object p3, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
.line 1310
invoke-virtual {p3}, Landroidx/recyclerview/widget/AdapterHelper;->reset()V
iget-object p3, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
if-eqz p1, :cond_3
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mObserver:Landroidx/recyclerview/widget/RecyclerView$RecyclerViewDataObserver;
.line 1314
invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->registerAdapterDataObserver(Landroidx/recyclerview/widget/RecyclerView$AdapterDataObserver;)V
.line 1315
invoke-virtual {p1, p0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->onAttachedToRecyclerView(Landroidx/recyclerview/widget/RecyclerView;)V
:cond_3
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz p1, :cond_4
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
.line 1318
invoke-virtual {p1, p3, v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onAdapterChanged(Landroidx/recyclerview/widget/RecyclerView$Adapter;Landroidx/recyclerview/widget/RecyclerView$Adapter;)V
: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;
.line 1320
invoke-virtual {p1, p3, v0, p2}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->onAdapterChanged(Landroidx/recyclerview/widget/RecyclerView$Adapter;Landroidx/recyclerview/widget/RecyclerView$Adapter;Z)V
iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
const/4 p1, 0x1
.line 1321
iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z
return-void
.end method
.method public static setDebugAssertionsEnabled(Z)V
.locals 0
sput-boolean p0, Landroidx/recyclerview/widget/RecyclerView;->sDebugAssertionsEnabled:Z
return-void
.end method
.method public static setVerboseLoggingEnabled(Z)V
.locals 0
sput-boolean p0, Landroidx/recyclerview/widget/RecyclerView;->sVerboseLoggingEnabled:Z
return-void
.end method
.method private shouldAbsorb(Landroid/widget/EdgeEffect;II)Z
.locals 1
const/4 v0, 0x1
if-lez p2, :cond_0
return v0
.line 2841
:cond_0
invoke-static {p1}, Landroidx/core/widget/EdgeEffectCompat;->getDistance(Landroid/widget/EdgeEffect;)F
move-result p1
int-to-float p3, p3
mul-float/2addr p1, p3
neg-int p2, p2
.line 2844
invoke-direct {p0, p2}, Landroidx/recyclerview/widget/RecyclerView;->getSplineFlingDistance(I)F
move-result p0
cmpg-float p0, p0, p1
if-gez p0, :cond_1
goto :goto_0
:cond_1
const/4 v0, 0x0
:goto_0
return v0
.end method
.method private stopGlowAnimations(Landroid/view/MotionEvent;)Z
.locals 7
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
const/high16 v1, 0x3f800000 # 1.0f
const/4 v2, -0x1
const/4 v3, 0x1
const/4 v4, 0x0
if-eqz v0, :cond_0
.line 3716
invoke-static {v0}, Landroidx/core/widget/EdgeEffectCompat;->getDistance(Landroid/widget/EdgeEffect;)F
move-result v0
cmpl-float v0, v0, v4
if-eqz v0, :cond_0
.line 3717
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->canScrollHorizontally(I)Z
move-result v0
if-nez v0, :cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
.line 3718
invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F
move-result v5
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getHeight()I
move-result v6
int-to-float v6, v6
div-float/2addr v5, v6
sub-float v5, v1, v5
invoke-static {v0, v4, v5}, Landroidx/core/widget/EdgeEffectCompat;->onPullDistance(Landroid/widget/EdgeEffect;FF)F
move v0, v3
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
if-eqz v5, :cond_1
.line 3721
invoke-static {v5}, Landroidx/core/widget/EdgeEffectCompat;->getDistance(Landroid/widget/EdgeEffect;)F
move-result v5
cmpl-float v5, v5, v4
if-eqz v5, :cond_1
.line 3722
invoke-virtual {p0, v3}, Landroidx/recyclerview/widget/RecyclerView;->canScrollHorizontally(I)Z
move-result v5
if-nez v5, :cond_1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
.line 3723
invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F
move-result v5
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getHeight()I
move-result v6
int-to-float v6, v6
div-float/2addr v5, v6
invoke-static {v0, v4, v5}, Landroidx/core/widget/EdgeEffectCompat;->onPullDistance(Landroid/widget/EdgeEffect;FF)F
move v0, v3
:cond_1
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
if-eqz v5, :cond_2
.line 3726
invoke-static {v5}, Landroidx/core/widget/EdgeEffectCompat;->getDistance(Landroid/widget/EdgeEffect;)F
move-result v5
cmpl-float v5, v5, v4
if-eqz v5, :cond_2
.line 3727
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->canScrollVertically(I)Z
move-result v2
if-nez v2, :cond_2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
.line 3728
invoke-virtual {p1}, Landroid/view/MotionEvent;->getX()F
move-result v2
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I
move-result v5
int-to-float v5, v5
div-float/2addr v2, v5
invoke-static {v0, v4, v2}, Landroidx/core/widget/EdgeEffectCompat;->onPullDistance(Landroid/widget/EdgeEffect;FF)F
move v0, v3
:cond_2
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
if-eqz v2, :cond_3
.line 3731
invoke-static {v2}, Landroidx/core/widget/EdgeEffectCompat;->getDistance(Landroid/widget/EdgeEffect;)F
move-result v2
cmpl-float v2, v2, v4
if-eqz v2, :cond_3
.line 3732
invoke-virtual {p0, v3}, Landroidx/recyclerview/widget/RecyclerView;->canScrollVertically(I)Z
move-result v2
if-nez v2, :cond_3
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
.line 3733
invoke-virtual {p1}, Landroid/view/MotionEvent;->getX()F
move-result p1
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I
move-result p0
int-to-float p0, p0
div-float/2addr p1, p0
sub-float/2addr v1, p1
invoke-static {v0, v4, v1}, Landroidx/core/widget/EdgeEffectCompat;->onPullDistance(Landroid/widget/EdgeEffect;FF)F
goto :goto_1
:cond_3
move v3, v0
:goto_1
return v3
.end method
.method private stopScrollersInternal()V
.locals 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;
.line 2923
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;->stop()V
iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz p0, :cond_0
.line 2925
invoke-virtual {p0}, 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 3028
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureLeftGlow()V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
.line 3029
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result v0
if-eqz v0, :cond_1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
neg-int v1, p1
.line 3030
invoke-virtual {v0, v1}, Landroid/widget/EdgeEffect;->onAbsorb(I)V
goto :goto_0
:cond_0
if-lez p1, :cond_1
.line 3033
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureRightGlow()V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
.line 3034
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result v0
if-eqz v0, :cond_1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
.line 3035
invoke-virtual {v0, p1}, Landroid/widget/EdgeEffect;->onAbsorb(I)V
:cond_1
:goto_0
if-gez p2, :cond_2
.line 3040
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureTopGlow()V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
.line 3041
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result v0
if-eqz v0, :cond_3
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
neg-int v1, p2
.line 3042
invoke-virtual {v0, v1}, Landroid/widget/EdgeEffect;->onAbsorb(I)V
goto :goto_1
:cond_2
if-lez p2, :cond_3
.line 3045
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureBottomGlow()V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
.line 3046
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result v0
if-eqz v0, :cond_3
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
.line 3047
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 3052
: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
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v0, :cond_0
.line 3368
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 3369
: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 1737
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
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v0, :cond_0
const-string v1, "Cannot add item decoration during a scroll or layout"
.line 1709
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->assertNotInLayoutOrScroll(Ljava/lang/String;)V
:cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
.line 1712
invoke-virtual {v0}, Ljava/util/ArrayList;->isEmpty()Z
move-result v0
if-eqz v0, :cond_1
const/4 v0, 0x0
.line 1713
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setWillNotDraw(Z)V
:cond_1
if-gez p2, :cond_2
iget-object p2, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
.line 1716
invoke-virtual {p2, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
goto :goto_0
:cond_2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
.line 1718
invoke-virtual {v0, p2, p1}, Ljava/util/ArrayList;->add(ILjava/lang/Object;)V
.line 1720
:goto_0
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->markItemDecorInsetsDirty()V
.line 1721
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
return-void
.end method
.method public addOnChildAttachStateChangeListener(Landroidx/recyclerview/widget/RecyclerView$OnChildAttachStateChangeListener;)V
.locals 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List;
if-nez v0, :cond_0
.line 1408
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;
:cond_0
iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List;
.line 1410
invoke-interface {p0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
return-void
.end method
.method public addOnItemTouchListener(Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;)V
.locals 0
iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList;
.line 3510
invoke-virtual {p0, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
return-void
.end method
.method public addOnScrollListener(Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;)V
.locals 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List;
if-nez v0, :cond_0
.line 1846
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;
:cond_0
iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List;
.line 1848
invoke-interface {p0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
return-void
.end method
.method public addRecyclerListener(Landroidx/recyclerview/widget/RecyclerView$RecyclerListener;)V
.locals 2
if-eqz p1, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
const-string v1, "\'listener\' arg cannot be null."
.line 1363
invoke-static {v0, v1}, Landroidx/core/util/Preconditions;->checkArgument(ZLjava/lang/Object;)V
iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecyclerListeners:Ljava/util/List;
.line 1365
invoke-interface {p0, 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 4878
invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->setIsRecyclable(Z)V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
.line 4879
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 4880
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 4886
invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->addAnimatingView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
const/4 v0, 0x0
.line 4887
invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->setIsRecyclable(Z)V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
.line 4888
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 4889
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->postAnimationRunner()V
:cond_0
return-void
.end method
.method assertInLayoutOrScroll(Ljava/lang/String;)V
.locals 2
.line 3461
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isComputingLayout()Z
move-result v0
if-nez v0, :cond_1
if-nez p1, :cond_0
.line 3463
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 3464
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String;
move-result-object p0
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p0
invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-direct {p1, p0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
.line 3466
: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 p0
invoke-virtual {p1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p0
invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-direct {v0, p0}, 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 3479
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isComputingLayout()Z
move-result v0
if-eqz v0, :cond_1
if-nez p1, :cond_0
.line 3481
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 3482
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String;
move-result-object p0
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p0
invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-direct {p1, p0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
.line 3484
:cond_0
new-instance p0, Ljava/lang/IllegalStateException;
invoke-direct {p0, p1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p0
:cond_1
iget p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchScrollCounter:I
if-lez p1, :cond_2
.line 3487
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 3492
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String;
move-result-object p0
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p0
invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-direct {p1, p0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
const-string p0, "RecyclerView"
const-string v0, "Cannot call this method in a scroll callback. Scroll callbacks mightbe run during a measure & layout pass where you cannot change theRecyclerView data. Any method call that might change the structureof the RecyclerView or the adapter contents should be postponed tothe next frame."
.line 3487
invoke-static {p0, v0, 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 1
iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
if-eqz p0, :cond_1
.line 5190
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getUnmodifiedPayloads()Ljava/util/List;
move-result-object v0
.line 5189
invoke-virtual {p0, p1, v0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->canReuseUpdatedViewHolder(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Ljava/util/List;)Z
move-result p0
if-eqz p0, :cond_0
goto :goto_0
:cond_0
const/4 p0, 0x0
goto :goto_1
:cond_1
:goto_0
const/4 p0, 0x1
:goto_1
return p0
.end method
.method protected checkLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Z
.locals 1
.line 5015
instance-of v0, p1, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
if-eqz v0, :cond_0
iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
check-cast p1, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->checkLayoutParams(Landroidx/recyclerview/widget/RecyclerView$LayoutParams;)Z
move-result p0
if-eqz p0, :cond_0
const/4 p0, 0x1
goto :goto_0
:cond_0
const/4 p0, 0x0
:goto_0
return p0
.end method
.method clearOldPositions()V
.locals 4
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
.line 5069
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I
move-result v0
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_1
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
.line 5071
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 5072
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
move-result v3
if-nez v3, :cond_0
.line 5073
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->clearOldPosition()V
:cond_0
add-int/lit8 v1, v1, 0x1
goto :goto_0
:cond_1
iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
.line 5076
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->clearOldPositions()V
return-void
.end method
.method public clearOnChildAttachStateChangeListeners()V
.locals 0
iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List;
if-eqz p0, :cond_0
.line 1432
invoke-interface {p0}, Ljava/util/List;->clear()V
:cond_0
return-void
.end method
.method public clearOnScrollListeners()V
.locals 0
iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List;
if-eqz p0, :cond_0
.line 1867
invoke-interface {p0}, Ljava/util/List;->clear()V
:cond_0
return-void
.end method
.method public computeHorizontalScrollExtent()I
.locals 2
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 2316
: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 p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {v0, p0}, 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
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 2291
: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 p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {v0, p0}, 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
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 2339
: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 p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {v0, p0}, 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
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 2388
: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 p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {v0, p0}, 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
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 2364
: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 p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {v0, p0}, 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
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 2411
: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 p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {v0, p0}, 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
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
if-eqz v0, :cond_0
.line 3005
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result v0
if-nez v0, :cond_0
if-lez p1, :cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
.line 3006
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->onRelease()V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
.line 3007
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result v0
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
if-eqz v1, :cond_1
.line 3009
invoke-virtual {v1}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result v1
if-nez v1, :cond_1
if-gez p1, :cond_1
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
.line 3010
invoke-virtual {p1}, Landroid/widget/EdgeEffect;->onRelease()V
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
.line 3011
invoke-virtual {p1}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result p1
or-int/2addr v0, p1
:cond_1
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
if-eqz p1, :cond_2
.line 3013
invoke-virtual {p1}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result p1
if-nez p1, :cond_2
if-lez p2, :cond_2
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
.line 3014
invoke-virtual {p1}, Landroid/widget/EdgeEffect;->onRelease()V
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
.line 3015
invoke-virtual {p1}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result p1
or-int/2addr v0, p1
:cond_2
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
if-eqz p1, :cond_3
.line 3017
invoke-virtual {p1}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result p1
if-nez p1, :cond_3
if-gez p2, :cond_3
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
.line 3018
invoke-virtual {p1}, Landroid/widget/EdgeEffect;->onRelease()V
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
.line 3019
invoke-virtual {p1}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result p1
or-int/2addr v0, p1
:cond_3
if-eqz v0, :cond_4
.line 3022
invoke-static {p0}, Landroidx/core/view/ViewCompat;->postInvalidateOnAnimation(Landroid/view/View;)V
:cond_4
return-void
.end method
.method consumeFlingInHorizontalStretch(I)I
.locals 3
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
.line 2858
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I
move-result v2
invoke-direct {p0, p1, v0, v1, v2}, Landroidx/recyclerview/widget/RecyclerView;->consumeFlingInStretch(ILandroid/widget/EdgeEffect;Landroid/widget/EdgeEffect;I)I
move-result p0
return p0
.end method
.method consumeFlingInVerticalStretch(I)I
.locals 3
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
.line 2870
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getHeight()I
move-result v2
invoke-direct {p0, p1, v0, v1, v2}, Landroidx/recyclerview/widget/RecyclerView;->consumeFlingInStretch(ILandroid/widget/EdgeEffect;Landroid/widget/EdgeEffect;I)I
move-result p0
return p0
.end method
.method consumePendingUpdateOperations()V
.locals 3
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
:cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
.line 2080
invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->hasPendingUpdates()Z
move-result v0
if-nez v0, :cond_1
return-void
:cond_1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
const/4 v2, 0x4
.line 2086
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 2087
invoke-virtual {v0, v2}, Landroidx/recyclerview/widget/AdapterHelper;->hasAnyUpdateTypes(I)Z
move-result v0
if-nez v0, :cond_4
const-string v0, "RV PartialInvalidate"
.line 2089
invoke-static {v0}, Landroidx/core/os/TraceCompat;->beginSection(Ljava/lang/String;)V
.line 2090
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
.line 2091
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
.line 2092
invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->preProcess()V
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z
if-nez v0, :cond_3
.line 2094
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->hasUpdatedView()Z
move-result v0
if-eqz v0, :cond_2
.line 2095
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayout()V
goto :goto_0
:cond_2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
.line 2098
invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->consumePostponedUpdates()V
:cond_3
:goto_0
const/4 v0, 0x1
.line 2101
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
.line 2102
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V
.line 2103
invoke-static {}, Landroidx/core/os/TraceCompat;->endSection()V
goto :goto_1
:cond_4
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
.line 2104
invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->hasPendingUpdates()Z
move-result v0
if-eqz v0, :cond_5
.line 2105
invoke-static {v1}, Landroidx/core/os/TraceCompat;->beginSection(Ljava/lang/String;)V
.line 2106
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayout()V
.line 2107
invoke-static {}, Landroidx/core/os/TraceCompat;->endSection()V
:cond_5
:goto_1
return-void
.line 2075
:cond_6
:goto_2
invoke-static {v1}, Landroidx/core/os/TraceCompat;->beginSection(Ljava/lang/String;)V
.line 2076
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayout()V
.line 2077
invoke-static {}, Landroidx/core/os/TraceCompat;->endSection()V
return-void
.end method
.method defaultOnMeasure(II)V
.locals 2
.line 4092
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 4093
invoke-static {p0}, Landroidx/core/view/ViewCompat;->getMinimumWidth(Landroid/view/View;)I
move-result v1
.line 4091
invoke-static {p1, v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->chooseSize(III)I
move-result p1
.line 4095
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 4096
invoke-static {p0}, Landroidx/core/view/ViewCompat;->getMinimumHeight(Landroid/view/View;)I
move-result v1
.line 4094
invoke-static {p2, v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->chooseSize(III)I
move-result p2
.line 4098
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 8374
invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v0
.line 8375
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->onChildAttachedToWindow(Landroid/view/View;)V
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 8377
invoke-virtual {v1, v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->onViewAttachedToWindow(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
:cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List;
if-eqz v0, :cond_1
.line 8380
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v0
add-int/lit8 v0, v0, -0x1
:goto_0
if-ltz v0, :cond_1
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List;
.line 8382
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 8359
invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v0
.line 8360
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->onChildDetachedFromWindow(Landroid/view/View;)V
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 8362
invoke-virtual {v1, v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->onViewDetachedFromWindow(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
:cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List;
if-eqz v0, :cond_1
.line 8365
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v0
add-int/lit8 v0, v0, -0x1
:goto_0
if-ltz v0, :cond_1
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List;
.line 8367
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 4
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
const-string v1, "RecyclerView"
if-nez v0, :cond_0
const-string p0, "No adapter attached; skipping layout"
.line 4323
invoke-static {v1, p0}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
return-void
:cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-nez v0, :cond_1
const-string p0, "No layout manager attached; skipping layout"
.line 4328
invoke-static {v1, p0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
return-void
:cond_1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
const/4 v1, 0x0
.line 4332
iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mIsMeasuring:Z
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureSkippedDueToExact:Z
const/4 v2, 0x1
if-eqz v0, :cond_3
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureNonExactMeasuredWidth:I
.line 4339
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I
move-result v3
if-ne v0, v3, :cond_2
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureNonExactMeasuredHeight:I
.line 4340
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getHeight()I
move-result v3
if-eq v0, v3, :cond_3
:cond_2
move v0, v2
goto :goto_0
:cond_3
move v0, v1
:goto_0
iput v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureNonExactMeasuredWidth:I
iput v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureNonExactMeasuredHeight:I
iput-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureSkippedDueToExact:Z
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
.line 4345
iget v1, v1, Landroidx/recyclerview/widget/RecyclerView$State;->mLayoutStep:I
if-ne v1, v2, :cond_4
.line 4346
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep1()V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
.line 4347
invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setExactMeasureSpecsFrom(Landroidx/recyclerview/widget/RecyclerView;)V
.line 4348
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep2()V
goto :goto_2
:cond_4
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
.line 4349
invoke-virtual {v1}, Landroidx/recyclerview/widget/AdapterHelper;->hasUpdates()Z
move-result v1
if-nez v1, :cond_6
if-nez v0, :cond_6
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
.line 4351
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_6
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
.line 4352
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_5
goto :goto_1
:cond_5
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
.line 4365
invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setExactMeasureSpecsFrom(Landroidx/recyclerview/widget/RecyclerView;)V
goto :goto_2
:cond_6
:goto_1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
.line 4361
invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setExactMeasureSpecsFrom(Landroidx/recyclerview/widget/RecyclerView;)V
.line 4362
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep2()V
.line 4367
:goto_2
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep3()V
return-void
.end method
.method public dispatchNestedFling(FFZ)Z
.locals 0
.line 12505
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
move-result-object p0
invoke-virtual {p0, p1, p2, p3}, Landroidx/core/view/NestedScrollingChildHelper;->dispatchNestedFling(FFZ)Z
move-result p0
return p0
.end method
.method public dispatchNestedPreFling(FF)Z
.locals 0
.line 12510
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
move-result-object p0
invoke-virtual {p0, p1, p2}, Landroidx/core/view/NestedScrollingChildHelper;->dispatchNestedPreFling(FF)Z
move-result p0
return p0
.end method
.method public dispatchNestedPreScroll(II[I[I)Z
.locals 0
.line 12493
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
move-result-object p0
invoke-virtual {p0, p1, p2, p3, p4}, Landroidx/core/view/NestedScrollingChildHelper;->dispatchNestedPreScroll(II[I[I)Z
move-result p0
return p0
.end method
.method public dispatchNestedPreScroll(II[I[II)Z
.locals 6
.line 12499
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 p0
return p0
.end method
.method public final dispatchNestedScroll(IIII[II[I)V
.locals 8
.line 12487
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 12473
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 p0
return p0
.end method
.method public dispatchNestedScroll(IIII[II)Z
.locals 7
.line 12480
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 p0
return p0
.end method
.method dispatchOnScrollStateChanged(I)V
.locals 2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v0, :cond_0
.line 5726
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onScrollStateChanged(I)V
.line 5731
:cond_0
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->onScrollStateChanged(I)V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListener:Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;
if-eqz v0, :cond_1
.line 5735
invoke-virtual {v0, p0, p1}, Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;->onScrollStateChanged(Landroidx/recyclerview/widget/RecyclerView;I)V
:cond_1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List;
if-eqz v0, :cond_2
.line 5738
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v0
add-int/lit8 v0, v0, -0x1
:goto_0
if-ltz v0, :cond_2
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List;
.line 5739
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
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 5674
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollX()I
move-result v0
.line 5675
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollY()I
move-result v1
sub-int v2, v0, p1
sub-int v3, v1, p2
.line 5676
invoke-virtual {p0, v0, v1, v2, v3}, Landroidx/recyclerview/widget/RecyclerView;->onScrollChanged(IIII)V
.line 5679
invoke-virtual {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->onScrolled(II)V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListener:Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;
if-eqz v0, :cond_0
.line 5684
invoke-virtual {v0, p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;->onScrolled(Landroidx/recyclerview/widget/RecyclerView;II)V
:cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List;
if-eqz v0, :cond_1
.line 5687
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v0
add-int/lit8 v0, v0, -0x1
:goto_0
if-ltz v0, :cond_1
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List;
.line 5688
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
: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
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingAccessibilityImportanceChange:Ljava/util/List;
.line 12384
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v0
add-int/lit8 v0, v0, -0x1
:goto_0
if-ltz v0, :cond_2
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingAccessibilityImportanceChange:Ljava/util/List;
.line 12385
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 12386
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 12389
:cond_0
iget v2, v1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPendingAccessibilityState:I
const/4 v3, -0x1
if-eq v2, v3, :cond_1
.line 12392
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 12393
iput v3, v1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPendingAccessibilityState:I
:cond_1
:goto_1
add-int/lit8 v0, v0, -0x1
goto :goto_0
:cond_2
iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingAccessibilityImportanceChange:Ljava/util/List;
.line 12397
invoke-interface {p0}, Ljava/util/List;->clear()V
return-void
.end method
.method public dispatchPopulateAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)Z
.locals 0
.line 4226
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->onPopulateAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)V
const/4 p0, 0x1
return p0
.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 1558
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 1550
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 4944
invoke-super {p0, p1}, Landroid/view/ViewGroup;->draw(Landroid/graphics/Canvas;)V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
.line 4946
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
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
.line 4948
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
:cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
const/4 v2, 0x1
if-eqz v0, :cond_3
.line 4953
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result v0
if-nez v0, :cond_3
.line 4954
invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I
move-result v0
iget-boolean v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
if-eqz v3, :cond_1
.line 4955
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 4956
invoke-virtual {p1, v4}, Landroid/graphics/Canvas;->rotate(F)V
.line 4957
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
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
if-eqz v3, :cond_2
.line 4958
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 4959
:goto_2
invoke-virtual {p1, v0}, Landroid/graphics/Canvas;->restoreToCount(I)V
goto :goto_3
:cond_3
move v3, v1
:goto_3
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
if-eqz v0, :cond_6
.line 4961
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result v0
if-nez v0, :cond_6
.line 4962
invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I
move-result v0
iget-boolean v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
if-eqz v4, :cond_4
.line 4964
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
:cond_4
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
if-eqz v4, :cond_5
.line 4966
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 4967
invoke-virtual {p1, v0}, Landroid/graphics/Canvas;->restoreToCount(I)V
:cond_6
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
if-eqz v0, :cond_9
.line 4969
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result v0
if-nez v0, :cond_9
.line 4970
invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I
move-result v0
.line 4971
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I
move-result v4
iget-boolean v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
if-eqz v5, :cond_7
.line 4972
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 4973
invoke-virtual {p1, v6}, Landroid/graphics/Canvas;->rotate(F)V
int-to-float v5, v5
neg-int v4, v4
int-to-float v4, v4
.line 4974
invoke-virtual {p1, v5, v4}, Landroid/graphics/Canvas;->translate(FF)V
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
if-eqz v4, :cond_8
.line 4975
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 4976
invoke-virtual {p1, v0}, Landroid/graphics/Canvas;->restoreToCount(I)V
:cond_9
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
if-eqz v0, :cond_c
.line 4978
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result v0
if-nez v0, :cond_c
.line 4979
invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I
move-result v0
const/high16 v4, 0x43340000 # 180.0f
.line 4980
invoke-virtual {p1, v4}, Landroid/graphics/Canvas;->rotate(F)V
iget-boolean v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
if-eqz v4, :cond_a
.line 4982
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 4984
: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
:goto_7
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
if-eqz v4, :cond_b
.line 4986
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 4987
invoke-virtual {p1, v0}, Landroid/graphics/Canvas;->restoreToCount(I)V
:cond_c
if-nez v3, :cond_d
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;
.line 4993
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 4994
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 4999
: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 5545
invoke-super {p0, p1, p2, p3, p4}, Landroid/view/ViewGroup;->drawChild(Landroid/graphics/Canvas;Landroid/view/View;J)Z
move-result p0
return p0
.end method
.method ensureBottomGlow()V
.locals 4
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
if-eqz v0, :cond_0
return-void
:cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;
const/4 v1, 0x3
.line 3100
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;
iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
if-eqz v1, :cond_1
.line 3102
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 3103
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 p0
sub-int/2addr v2, p0
.line 3102
invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V
goto :goto_0
.line 3105
: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 p0
invoke-virtual {v0, v1, p0}, Landroid/widget/EdgeEffect;->setSize(II)V
:goto_0
return-void
.end method
.method ensureLeftGlow()V
.locals 4
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
if-eqz v0, :cond_0
return-void
:cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;
const/4 v1, 0x0
.line 3060
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;
iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
if-eqz v1, :cond_1
.line 3062
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 3063
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 p0
sub-int/2addr v2, p0
.line 3062
invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V
goto :goto_0
.line 3065
: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 p0
invoke-virtual {v0, v1, p0}, Landroid/widget/EdgeEffect;->setSize(II)V
:goto_0
return-void
.end method
.method ensureRightGlow()V
.locals 4
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
if-eqz v0, :cond_0
return-void
:cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;
const/4 v1, 0x2
.line 3073
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;
iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
if-eqz v1, :cond_1
.line 3075
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 3076
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 p0
sub-int/2addr v2, p0
.line 3075
invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V
goto :goto_0
.line 3078
: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 p0
invoke-virtual {v0, v1, p0}, Landroid/widget/EdgeEffect;->setSize(II)V
:goto_0
return-void
.end method
.method ensureTopGlow()V
.locals 4
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
if-eqz v0, :cond_0
return-void
:cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;
const/4 v1, 0x1
.line 3086
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;
iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
if-eqz v1, :cond_1
.line 3088
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 3089
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 p0
sub-int/2addr v2, p0
.line 3088
invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V
goto :goto_0
.line 3091
: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 p0
invoke-virtual {v0, v1, p0}, Landroid/widget/EdgeEffect;->setSize(II)V
:goto_0
return-void
.end method
.method exceptionLabel()Ljava/lang/String;
.locals 2
.line 825
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 828
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getContext()Landroid/content/Context;
move-result-object p0
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object p0
invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method final fillRemainingScrollValues(Landroidx/recyclerview/widget/RecyclerView$State;)V
.locals 2
.line 4521
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollState()I
move-result v0
const/4 v1, 0x2
if-ne v0, v1, :cond_0
iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;
.line 4522
iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;->mOverScroller:Landroid/widget/OverScroller;
.line 4523
invoke-virtual {p0}, Landroid/widget/OverScroller;->getFinalX()I
move-result v0
invoke-virtual {p0}, Landroid/widget/OverScroller;->getCurrX()I
move-result v1
sub-int/2addr v0, v1
iput v0, p1, Landroidx/recyclerview/widget/RecyclerView$State;->mRemainingScrollHorizontal:I
.line 4524
invoke-virtual {p0}, Landroid/widget/OverScroller;->getFinalY()I
move-result v0
invoke-virtual {p0}, Landroid/widget/OverScroller;->getCurrY()I
move-result p0
sub-int/2addr v0, p0
iput v0, p1, Landroidx/recyclerview/widget/RecyclerView$State;->mRemainingScrollVertical:I
goto :goto_0
:cond_0
const/4 p0, 0x0
.line 4526
iput p0, p1, Landroidx/recyclerview/widget/RecyclerView$State;->mRemainingScrollHorizontal:I
.line 4527
iput p0, p1, Landroidx/recyclerview/widget/RecyclerView$State;->mRemainingScrollVertical:I
:goto_0
return-void
.end method
.method public findChildViewUnder(FF)Landroid/view/View;
.locals 5
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
.line 5528
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
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
.line 5530
invoke-virtual {v1, v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View;
move-result-object v1
.line 5531
invoke-virtual {v1}, Landroid/view/View;->getTranslationX()F
move-result v2
.line 5532
invoke-virtual {v1}, Landroid/view/View;->getTranslationY()F
move-result v3
.line 5533
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 5534
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 5535
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 5536
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 p0, 0x0
return-object p0
.end method
.method public findContainingItemView(Landroid/view/View;)Landroid/view/View;
.locals 2
.line 5304
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 5305
instance-of v1, v0, Landroid/view/View;
if-eqz v1, :cond_0
.line 5306
move-object p1, v0
check-cast p1, Landroid/view/View;
.line 5307
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 5321
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 p0, 0x0
goto :goto_0
.line 5322
:cond_0
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolder(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object p0
:goto_0
return-object p0
.end method
.method public findViewHolderForAdapterPosition(I)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.locals 5
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z
const/4 v1, 0x0
if-eqz v0, :cond_0
return-object v1
:cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
.line 5442
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I
move-result v0
const/4 v2, 0x0
:goto_0
if-ge v2, v0, :cond_3
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
.line 5446
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 5447
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isRemoved()Z
move-result v4
if-nez v4, :cond_2
.line 5448
invoke-virtual {p0, v3}, Landroidx/recyclerview/widget/RecyclerView;->getAdapterPositionInRecyclerView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)I
move-result v4
if-ne v4, p1, :cond_2
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
.line 5449
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
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
const/4 v1, 0x0
if-eqz v0, :cond_3
.line 5501
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z
move-result v0
if-nez v0, :cond_0
goto :goto_2
:cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
.line 5504
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I
move-result v0
const/4 v2, 0x0
:goto_0
if-ge v2, v0, :cond_3
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
.line 5507
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 5508
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
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
.line 5509
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 5417
invoke-virtual {p0, p1, v0}, Landroidx/recyclerview/widget/RecyclerView;->findViewHolderForPosition(IZ)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object p0
return-object p0
.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 5389
invoke-virtual {p0, p1, v0}, Landroidx/recyclerview/widget/RecyclerView;->findViewHolderForPosition(IZ)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object p0
return-object p0
.end method
.method findViewHolderForPosition(IZ)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.locals 5
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
.line 5461
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
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
.line 5464
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 5465
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isRemoved()Z
move-result v4
if-nez v4, :cond_3
if-eqz p2, :cond_0
.line 5467
iget v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I
if-eq v4, p1, :cond_1
goto :goto_1
.line 5470
:cond_0
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getLayoutPosition()I
move-result v4
if-eq v4, p1, :cond_1
goto :goto_1
:cond_1
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
.line 5473
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
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
const/4 v1, 0x0
if-nez v0, :cond_0
const-string p0, "RecyclerView"
const-string p1, "Cannot fling without a LayoutManager set. Call setLayoutManager with a non-null argument."
.line 2730
invoke-static {p0, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
return v1
:cond_0
iget-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
if-eqz v2, :cond_1
return v1
.line 2738
:cond_1
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z
move-result v0
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
.line 2739
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z
move-result v2
if-eqz v0, :cond_2
.line 2741
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 2744
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
const/4 v3, 0x0
if-eqz p1, :cond_9
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
if-eqz v4, :cond_8
.line 2757
invoke-static {v4}, Landroidx/core/widget/EdgeEffectCompat;->getDistance(Landroid/widget/EdgeEffect;)F
move-result v4
cmpl-float v4, v4, v3
if-eqz v4, :cond_8
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
neg-int v5, p1
.line 2758
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I
move-result v6
invoke-direct {p0, v4, v5, v6}, Landroidx/recyclerview/widget/RecyclerView;->shouldAbsorb(Landroid/widget/EdgeEffect;II)Z
move-result v4
if-eqz v4, :cond_7
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
.line 2759
invoke-virtual {p1, v5}, Landroid/widget/EdgeEffect;->onAbsorb(I)V
:goto_0
move p1, v1
:cond_7
move v4, p1
move p1, v1
goto :goto_1
:cond_8
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
if-eqz v4, :cond_9
.line 2764
invoke-static {v4}, Landroidx/core/widget/EdgeEffectCompat;->getDistance(Landroid/widget/EdgeEffect;)F
move-result v4
cmpl-float v4, v4, v3
if-eqz v4, :cond_9
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
.line 2765
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I
move-result v5
invoke-direct {p0, v4, p1, v5}, Landroidx/recyclerview/widget/RecyclerView;->shouldAbsorb(Landroid/widget/EdgeEffect;II)Z
move-result v4
if-eqz v4, :cond_7
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
.line 2766
invoke-virtual {v4, p1}, Landroid/widget/EdgeEffect;->onAbsorb(I)V
goto :goto_0
:cond_9
move v4, v1
:goto_1
if-eqz p2, :cond_c
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
if-eqz v5, :cond_b
.line 2774
invoke-static {v5}, Landroidx/core/widget/EdgeEffectCompat;->getDistance(Landroid/widget/EdgeEffect;)F
move-result v5
cmpl-float v5, v5, v3
if-eqz v5, :cond_b
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
neg-int v5, p2
.line 2775
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getHeight()I
move-result v6
invoke-direct {p0, v3, v5, v6}, Landroidx/recyclerview/widget/RecyclerView;->shouldAbsorb(Landroid/widget/EdgeEffect;II)Z
move-result v3
if-eqz v3, :cond_a
iget-object p2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
.line 2776
invoke-virtual {p2, v5}, Landroid/widget/EdgeEffect;->onAbsorb(I)V
:goto_2
move p2, v1
:cond_a
move v3, v1
goto :goto_3
:cond_b
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
if-eqz v5, :cond_c
.line 2781
invoke-static {v5}, Landroidx/core/widget/EdgeEffectCompat;->getDistance(Landroid/widget/EdgeEffect;)F
move-result v5
cmpl-float v3, v5, v3
if-eqz v3, :cond_c
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
.line 2782
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getHeight()I
move-result v5
invoke-direct {p0, v3, p2, v5}, Landroidx/recyclerview/widget/RecyclerView;->shouldAbsorb(Landroid/widget/EdgeEffect;II)Z
move-result v3
if-eqz v3, :cond_a
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
.line 2783
invoke-virtual {v3, p2}, Landroid/widget/EdgeEffect;->onAbsorb(I)V
goto :goto_2
:cond_c
move v3, p2
move p2, v1
:goto_3
if-nez v4, :cond_d
if-eqz p2, :cond_e
:cond_d
iget v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mMaxFlingVelocity:I
neg-int v6, v5
.line 2791
invoke-static {v4, v5}, Ljava/lang/Math;->min(II)I
move-result v4
invoke-static {v6, v4}, Ljava/lang/Math;->max(II)I
move-result v4
iget v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mMaxFlingVelocity:I
neg-int v6, v5
.line 2792
invoke-static {p2, v5}, Ljava/lang/Math;->min(II)I
move-result p2
invoke-static {v6, p2}, Ljava/lang/Math;->max(II)I
move-result p2
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;
.line 2793
invoke-virtual {v5, v4, p2}, Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;->fling(II)V
:cond_e
const/4 v5, 0x1
if-nez p1, :cond_11
if-nez v3, :cond_11
if-nez v4, :cond_f
if-eqz p2, :cond_10
:cond_f
move v1, v5
:cond_10
return v1
:cond_11
int-to-float p2, p1
int-to-float v4, v3
.line 2799
invoke-virtual {p0, p2, v4}, Landroidx/recyclerview/widget/RecyclerView;->dispatchNestedPreFling(FF)Z
move-result v6
if-nez v6, :cond_16
if-nez v0, :cond_13
if-eqz v2, :cond_12
goto :goto_4
:cond_12
move v6, v1
goto :goto_5
:cond_13
:goto_4
move v6, v5
.line 2801
:goto_5
invoke-virtual {p0, p2, v4, v6}, Landroidx/recyclerview/widget/RecyclerView;->dispatchNestedFling(FFZ)Z
iget-object p2, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnFlingListener:Landroidx/recyclerview/widget/RecyclerView$OnFlingListener;
if-eqz p2, :cond_14
.line 2803
invoke-virtual {p2, p1, v3}, Landroidx/recyclerview/widget/RecyclerView$OnFlingListener;->onFling(II)Z
move-result p2
if-eqz p2, :cond_14
return v5
:cond_14
if-eqz v6, :cond_16
if-eqz v2, :cond_15
or-int/lit8 v0, v0, 0x2
.line 2815
:cond_15
invoke-virtual {p0, v0, v5}, Landroidx/recyclerview/widget/RecyclerView;->startNestedScroll(II)Z
iget p2, p0, Landroidx/recyclerview/widget/RecyclerView;->mMaxFlingVelocity:I
neg-int v0, p2
.line 2817
invoke-static {p1, p2}, Ljava/lang/Math;->min(II)I
move-result p1
invoke-static {v0, p1}, Ljava/lang/Math;->max(II)I
move-result p1
iget p2, p0, Landroidx/recyclerview/widget/RecyclerView;->mMaxFlingVelocity:I
neg-int v0, p2
.line 2818
invoke-static {v3, p2}, Ljava/lang/Math;->min(II)I
move-result p2
invoke-static {v0, p2}, Ljava/lang/Math;->max(II)I
move-result p2
iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;
.line 2819
invoke-virtual {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;->fling(II)V
return v5
:cond_16
return v1
.end method
.method public focusSearch(Landroid/view/View;I)Landroid/view/View;
.locals 8
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
.line 3172
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
: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 3177
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 3179
: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
:cond_2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
.line 3185
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 3188
: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
: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
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
.line 3195
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z
move-result v0
if-eqz v0, :cond_c
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
.line 3196
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 3199
: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
: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 3207
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->consumePendingUpdateOperations()V
.line 3208
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 3213
:cond_d
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
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;
.line 3214
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 3215
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
.line 3217
: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 3219
: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 3221
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->consumePendingUpdateOperations()V
.line 3222
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 3227
:cond_10
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
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;
.line 3228
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 3229
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 3232
invoke-virtual {v0}, Landroid/view/View;->hasFocusable()Z
move-result v1
if-nez v1, :cond_13
.line 3233
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getFocusedChild()Landroid/view/View;
move-result-object v1
if-nez v1, :cond_12
.line 3236
invoke-super {p0, p1, p2}, Landroid/view/ViewGroup;->focusSearch(Landroid/view/View;I)Landroid/view/View;
move-result-object p0
return-object p0
.line 3242
:cond_12
invoke-direct {p0, v0, v4}, Landroidx/recyclerview/widget/RecyclerView;->requestChildOnScreen(Landroid/view/View;Landroid/view/View;)V
return-object p1
.line 3245
: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 3246
: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
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v0, :cond_0
.line 5023
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->generateDefaultLayoutParams()Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
move-result-object p0
return-object p0
.line 5021
: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 p0
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p0
invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-direct {v0, p0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public generateLayoutParams(Landroid/util/AttributeSet;)Landroid/view/ViewGroup$LayoutParams;
.locals 2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v0, :cond_0
.line 5031
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getContext()Landroid/content/Context;
move-result-object p0
invoke-virtual {v0, p0, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->generateLayoutParams(Landroid/content/Context;Landroid/util/AttributeSet;)Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
move-result-object p0
return-object p0
.line 5029
: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 p0
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p0
invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-direct {p1, p0}, 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
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v0, :cond_0
.line 5039
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->generateLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
move-result-object p0
return-object p0
.line 5037
: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 p0
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p0
invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-direct {p1, p0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public getAccessibilityClassName()Ljava/lang/CharSequence;
.locals 0
const-string p0, "androidx.recyclerview.widget.RecyclerView"
return-object p0
.end method
.method public getAdapter()Landroidx/recyclerview/widget/RecyclerView$Adapter;
.locals 0
iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
return-object p0
.end method
.method getAdapterPositionInRecyclerView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)I
.locals 1
const/16 v0, 0x20c
.line 12401
invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->hasAnyOfTheFlags(I)Z
move-result v0
if-nez v0, :cond_1
.line 12403
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isBound()Z
move-result v0
if-nez v0, :cond_0
goto :goto_0
:cond_0
iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
.line 12406
iget p1, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/AdapterHelper;->applyPendingUpdatesToPosition(I)I
move-result p0
return p0
:cond_1
:goto_0
const/4 p0, -0x1
return p0
.end method
.method public getBaseline()I
.locals 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v0, :cond_0
.line 1388
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->getBaseline()I
move-result p0
return p0
.line 1390
:cond_0
invoke-super {p0}, Landroid/view/ViewGroup;->getBaseline()I
move-result p0
return p0
.end method
.method getChangedHolderKey(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)J
.locals 0
iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
.line 4873
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z
move-result p0
if-eqz p0, :cond_0
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getItemId()J
move-result-wide p0
goto :goto_0
:cond_0
iget p0, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I
int-to-long p0, p0
:goto_0
return-wide p0
.end method
.method public getChildAdapterPosition(Landroid/view/View;)I
.locals 0
.line 5349
invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object p0
if-eqz p0, :cond_0
.line 5350
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getAbsoluteAdapterPosition()I
move-result p0
goto :goto_0
:cond_0
const/4 p0, -0x1
:goto_0
return p0
.end method
.method protected getChildDrawingOrder(II)I
.locals 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildDrawingOrderCallback:Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback;
if-nez v0, :cond_0
.line 14421
invoke-super {p0, p1, p2}, Landroid/view/ViewGroup;->getChildDrawingOrder(II)I
move-result p0
return p0
.line 14423
:cond_0
invoke-interface {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback;->onGetChildDrawingOrder(II)I
move-result p0
return p0
.end method
.method public getChildItemId(Landroid/view/View;)J
.locals 2
iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
const-wide/16 v0, -0x1
if-eqz p0, :cond_1
.line 5375
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z
move-result p0
if-nez p0, :cond_0
goto :goto_0
.line 5378
:cond_0
invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object p0
if-eqz p0, :cond_1
.line 5379
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getItemId()J
move-result-wide v0
:cond_1
:goto_0
return-wide v0
.end method
.method public getChildLayoutPosition(Landroid/view/View;)I
.locals 0
.line 5364
invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object p0
if-eqz p0, :cond_0
.line 5365
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getLayoutPosition()I
move-result p0
goto :goto_0
:cond_0
const/4 p0, -0x1
:goto_0
return p0
.end method
.method public getChildPosition(Landroid/view/View;)I
.locals 0
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.line 5339
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildAdapterPosition(Landroid/view/View;)I
move-result p0
return p0
.end method
.method public getChildViewHolder(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.locals 3
.line 5283
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 5285
: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 p0
invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-direct {v0, p0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.line 5288
:cond_1
:goto_0
invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object p0
return-object p0
.end method
.method public getClipToPadding()Z
.locals 0
iget-boolean p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
return p0
.end method
.method public getCompatAccessibilityDelegate()Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate;
.locals 0
iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAccessibilityDelegate:Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate;
return-object p0
.end method
.method public getDecoratedBoundsWithMargins(Landroid/view/View;Landroid/graphics/Rect;)V
.locals 0
.line 5607
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 0
iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;
return-object p0
.end method
.method public getItemAnimator()Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
.locals 0
iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
return-object p0
.end method
.method getItemDecorInsetsForChild(Landroid/view/View;)Landroid/graphics/Rect;
.locals 8
.line 5620
invoke-virtual {p1}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
move-result-object v0
check-cast v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
.line 5621
iget-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mInsetsDirty:Z
if-nez v1, :cond_0
.line 5622
iget-object p0, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mDecorInsets:Landroid/graphics/Rect;
return-object p0
:cond_0
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
.line 5625
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 5627
:cond_1
iget-object p0, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mDecorInsets:Landroid/graphics/Rect;
return-object p0
.line 5629
:cond_2
iget-object v1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mDecorInsets:Landroid/graphics/Rect;
const/4 v2, 0x0
.line 5630
invoke-virtual {v1, v2, v2, v2, v2}, Landroid/graphics/Rect;->set(IIII)V
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
.line 5631
invoke-virtual {v3}, Ljava/util/ArrayList;->size()I
move-result v3
move v4, v2
:goto_0
if-ge v4, v3, :cond_3
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
.line 5633
invoke-virtual {v5, v2, v2, v2, v2}, Landroid/graphics/Rect;->set(IIII)V
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
.line 5634
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 5635
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 5636
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 5637
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 5638
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 5640
: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 2
.line 1749
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getItemDecorationCount()I
move-result v0
if-ltz p1, :cond_0
if-ge p1, v0, :cond_0
iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
.line 1754
invoke-virtual {p0, p1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object p0
check-cast p0, Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;
return-object p0
.line 1751
:cond_0
new-instance p0, Ljava/lang/IndexOutOfBoundsException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object p1
const-string v1, " is an invalid index for size "
invoke-virtual {p1, v1}, 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 {p0, p1}, Ljava/lang/IndexOutOfBoundsException;-><init>(Ljava/lang/String;)V
throw p0
.end method
.method public getItemDecorationCount()I
.locals 0
iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
.line 1763
invoke-virtual {p0}, Ljava/util/ArrayList;->size()I
move-result p0
return p0
.end method
.method public getLayoutManager()Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
.locals 0
iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
return-object p0
.end method
.method public getMaxFlingVelocity()I
.locals 0
iget p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMaxFlingVelocity:I
return p0
.end method
.method public getMinFlingVelocity()I
.locals 0
iget p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinFlingVelocity:I
return p0
.end method
.method getNanoTime()J
.locals 2
sget-boolean p0, Landroidx/recyclerview/widget/RecyclerView;->ALLOW_THREAD_GAP_WORK:Z
if-eqz p0, :cond_0
.line 6493
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 0
iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnFlingListener:Landroidx/recyclerview/widget/RecyclerView$OnFlingListener;
return-object p0
.end method
.method public getPreserveFocusAfterLayout()Z
.locals 0
iget-boolean p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPreserveFocusAfterLayout:Z
return p0
.end method
.method public getRecycledViewPool()Landroidx/recyclerview/widget/RecyclerView$RecycledViewPool;
.locals 0
iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
.line 1628
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->getRecycledViewPool()Landroidx/recyclerview/widget/RecyclerView$RecycledViewPool;
move-result-object p0
return-object p0
.end method
.method public getScrollState()I
.locals 0
iget p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I
return p0
.end method
.method public hasFixedSize()Z
.locals 0
iget-boolean p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mHasFixedSize:Z
return p0
.end method
.method public hasNestedScrollingParent()Z
.locals 0
.line 12462
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
move-result-object p0
invoke-virtual {p0}, Landroidx/core/view/NestedScrollingChildHelper;->hasNestedScrollingParent()Z
move-result p0
return p0
.end method
.method public hasNestedScrollingParent(I)Z
.locals 0
.line 12467
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
move-result-object p0
invoke-virtual {p0, p1}, Landroidx/core/view/NestedScrollingChildHelper;->hasNestedScrollingParent(I)Z
move-result p0
return p0
.end method
.method public hasPendingAdapterUpdates()Z
.locals 1
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z
if-eqz v0, :cond_1
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z
if-nez v0, :cond_1
iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
.line 5759
invoke-virtual {p0}, Landroidx/recyclerview/widget/AdapterHelper;->hasPendingUpdates()Z
move-result p0
if-eqz p0, :cond_0
goto :goto_0
:cond_0
const/4 p0, 0x0
goto :goto_1
:cond_1
:goto_0
const/4 p0, 0x1
:goto_1
return p0
.end method
.method initAdapterManager()V
.locals 2
.line 1073
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 12420
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 12421
new-instance v1, Landroidx/recyclerview/widget/FastScroller;
sget v2, Landroidx/recyclerview/R$dimen;->fastscroll_default_thickness:I
.line 12423
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 12424
invoke-virtual {v0, v2}, Landroid/content/res/Resources;->getDimensionPixelSize(I)I
move-result v8
sget v2, Landroidx/recyclerview/R$dimen;->fastscroll_margin:I
.line 12425
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 12415
: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 12417
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String;
move-result-object p0
invoke-virtual {p2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p0
invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-direct {p1, p0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method invalidateGlows()V
.locals 1
const/4 v0, 0x0
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
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
.line 5234
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
move-result v0
if-nez v0, :cond_0
return-void
:cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v0, :cond_1
const-string v1, "Cannot invalidate item decorations during a scroll or layout"
.line 5238
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->assertNotInLayoutOrScroll(Ljava/lang/String;)V
.line 5241
:cond_1
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->markItemDecorInsetsDirty()V
.line 5242
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
return-void
.end method
.method isAccessibilityEnabled()Z
.locals 0
iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAccessibilityManager:Landroid/view/accessibility/AccessibilityManager;
if-eqz p0, :cond_0
.line 4156
invoke-virtual {p0}, Landroid/view/accessibility/AccessibilityManager;->isEnabled()Z
move-result p0
if-eqz p0, :cond_0
const/4 p0, 0x1
goto :goto_0
:cond_0
const/4 p0, 0x0
:goto_0
return p0
.end method
.method public isAnimating()Z
.locals 0
iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
if-eqz p0, :cond_0
.line 5051
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->isRunning()Z
move-result p0
if-eqz p0, :cond_0
const/4 p0, 0x1
goto :goto_0
:cond_0
const/4 p0, 0x0
:goto_0
return p0
.end method
.method public isAttachedToWindow()Z
.locals 0
iget-boolean p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mIsAttached:Z
return p0
.end method
.method public isComputingLayout()Z
.locals 0
iget p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I
if-lez p0, :cond_0
const/4 p0, 0x1
goto :goto_0
:cond_0
const/4 p0, 0x0
:goto_0
return p0
.end method
.method public isLayoutFrozen()Z
.locals 0
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.line 2568
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isLayoutSuppressed()Z
move-result p0
return p0
.end method
.method public final isLayoutSuppressed()Z
.locals 0
iget-boolean p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
return p0
.end method
.method public isNestedScrollingEnabled()Z
.locals 0
.line 12437
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
move-result-object p0
invoke-virtual {p0}, Landroidx/core/view/NestedScrollingChildHelper;->isNestedScrollingEnabled()Z
move-result p0
return p0
.end method
.method jumpToPositionForSmoothScroller(I)V
.locals 1
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 1901
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
.line 1902
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->scrollToPosition(I)V
.line 1903
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->awakenScrollBars()Z
return-void
.end method
.method markItemDecorInsetsDirty()V
.locals 4
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
.line 4934
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I
move-result v0
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_0
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
.line 4936
invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View;
move-result-object v2
.line 4937
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
:cond_0
iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
.line 4939
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->markItemDecorInsetsDirty()V
return-void
.end method
.method markKnownViewsInvalid()V
.locals 4
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
.line 5218
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I
move-result v0
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_1
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
.line 5220
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 5221
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
move-result v3
if-nez v3, :cond_0
const/4 v3, 0x6
.line 5222
invoke-virtual {v2, v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->addFlags(I)V
:cond_0
add-int/lit8 v1, v1, 0x1
goto :goto_0
.line 5225
:cond_1
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->markItemDecorInsetsDirty()V
iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
.line 5226
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->markKnownViewsInvalid()V
return-void
.end method
.method public nestedScrollBy(II)V
.locals 2
const/4 v0, 0x0
const/4 v1, 0x1
.line 1964
invoke-direct {p0, p1, p2, v0, v1}, Landroidx/recyclerview/widget/RecyclerView;->nestedScrollByInternal(IILandroid/view/MotionEvent;I)V
return-void
.end method
.method public offsetChildrenHorizontal(I)V
.locals 3
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
.line 5593
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I
move-result v0
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_0
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
.line 5595
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
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
.line 5555
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I
move-result v0
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_0
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
.line 5557
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 6
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
.line 5114
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_2
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
.line 5116
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 5117
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
move-result v4
if-nez v4, :cond_1
iget v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I
if-lt v4, p1, :cond_1
sget-boolean v4, Landroidx/recyclerview/widget/RecyclerView;->sVerboseLoggingEnabled:Z
if-eqz v4, :cond_0
.line 5119
new-instance v4, Ljava/lang/StringBuilder;
const-string v5, "offsetPositionRecordsForInsert attached child "
invoke-direct {v4, v5}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v4
const-string v5, " holder "
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v4
invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v4
const-string v5, " now at position "
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v4
iget v5, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I
add-int/2addr v5, p2
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v4
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
const-string v5, "RecyclerView"
invoke-static {v5, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 5122
:cond_0
invoke-virtual {v3, p2, v1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->offsetPosition(IZ)V
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
const/4 v4, 0x1
.line 5123
iput-boolean v4, v3, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z
:cond_1
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
.line 5126
invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->offsetPositionRecordsForInsert(II)V
.line 5127
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
return-void
.end method
.method offsetPositionRecordsForMove(II)V
.locals 10
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
.line 5080
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_5
iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
.line 5093
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_4
.line 5094
iget v8, v7, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I
if-lt v8, v3, :cond_4
iget v8, v7, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I
if-le v8, v4, :cond_1
goto :goto_3
:cond_1
sget-boolean v8, Landroidx/recyclerview/widget/RecyclerView;->sVerboseLoggingEnabled:Z
if-eqz v8, :cond_2
.line 5098
new-instance v8, Ljava/lang/StringBuilder;
const-string v9, "offsetPositionRecordsForMove attached child "
invoke-direct {v8, v9}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v8, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v8
const-string v9, " holder "
invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v8
invoke-virtual {v8, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v8
invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v8
const-string v9, "RecyclerView"
invoke-static {v9, v8}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 5101
:cond_2
iget v8, v7, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I
if-ne v8, p1, :cond_3
sub-int v8, p2, p1
.line 5102
invoke-virtual {v7, v8, v5}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->offsetPosition(IZ)V
goto :goto_2
.line 5104
:cond_3
invoke-virtual {v7, v2, v5}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->offsetPosition(IZ)V
:goto_2
iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
.line 5107
iput-boolean v1, v7, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z
:cond_4
:goto_3
add-int/lit8 v6, v6, 0x1
goto :goto_1
:cond_5
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
.line 5109
invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->offsetPositionRecordsForMove(II)V
.line 5110
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
return-void
.end method
.method offsetPositionRecordsForRemove(IIZ)V
.locals 9
add-int v0, p1, p2
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
.line 5133
invoke-virtual {v1}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I
move-result v1
const/4 v2, 0x0
:goto_0
if-ge v2, v1, :cond_4
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
.line 5135
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 5136
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
move-result v4
if-nez v4, :cond_3
.line 5137
iget v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I
const-string v5, " holder "
const-string v6, "offsetPositionRecordsForRemove attached child "
const-string v7, "RecyclerView"
const/4 v8, 0x1
if-lt v4, v0, :cond_1
sget-boolean v4, Landroidx/recyclerview/widget/RecyclerView;->sVerboseLoggingEnabled:Z
if-eqz v4, :cond_0
.line 5139
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4, v6}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v4
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v4
invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v4
const-string v5, " now at position "
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v4
iget v5, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I
sub-int/2addr v5, p2
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v4
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
invoke-static {v7, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
:cond_0
neg-int v4, p2
.line 5143
invoke-virtual {v3, v4, p3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->offsetPosition(IZ)V
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
.line 5144
iput-boolean v8, v3, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z
goto :goto_1
.line 5145
:cond_1
iget v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I
if-lt v4, p1, :cond_3
sget-boolean v4, Landroidx/recyclerview/widget/RecyclerView;->sVerboseLoggingEnabled:Z
if-eqz v4, :cond_2
.line 5147
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4, v6}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v4
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v4
invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v4
const-string v5, " now REMOVED"
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v4
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
invoke-static {v7, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
:cond_2
add-int/lit8 v4, p1, -0x1
neg-int v5, p2
.line 5150
invoke-virtual {v3, v4, v5, p3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->flagRemovedAndOffsetPosition(IIZ)V
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
.line 5152
iput-boolean v8, v3, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z
:cond_3
:goto_1
add-int/lit8 v2, v2, 0x1
goto/16 :goto_0
:cond_4
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
.line 5156
invoke-virtual {v0, p1, p2, p3}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->offsetPositionRecordsForRemove(IIZ)V
.line 5157
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
return-void
.end method
.method protected onAttachedToWindow()V
.locals 4
.line 3385
invoke-super {p0}, Landroid/view/ViewGroup;->onAttachedToWindow()V
const/4 v0, 0x0
iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I
const/4 v1, 0x1
iput-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mIsAttached:Z
iget-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z
if-eqz v2, :cond_0
.line 3388
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
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
.line 3390
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->onAttachedToWindow()V
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v1, :cond_1
.line 3393
invoke-virtual {v1, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->dispatchAttachedToWindow(Landroidx/recyclerview/widget/RecyclerView;)V
:cond_1
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPostedAnimatorRunner:Z
sget-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->ALLOW_THREAD_GAP_WORK:Z
if-eqz v0, :cond_4
.line 3399
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 3401
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 3405
invoke-static {p0}, Landroidx/core/view/ViewCompat;->getDisplay(Landroid/view/View;)Landroid/view/Display;
move-result-object v0
.line 3407
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isInEditMode()Z
move-result v1
if-nez v1, :cond_2
if-eqz v0, :cond_2
.line 3408
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
: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
.line 3413
iput-wide v2, v1, Landroidx/recyclerview/widget/GapWorker;->mFrameIntervalNs:J
.line 3414
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
:cond_3
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/GapWorker;
.line 3416
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 3422
invoke-super {p0}, Landroid/view/ViewGroup;->onDetachedFromWindow()V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
if-eqz v0, :cond_0
.line 3424
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->endAnimations()V
.line 3426
:cond_0
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->stopScroll()V
const/4 v0, 0x0
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mIsAttached:Z
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v0, :cond_1
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
.line 3429
invoke-virtual {v0, p0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->dispatchDetachedFromWindow(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$Recycler;)V
:cond_1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingAccessibilityImportanceChange:Ljava/util/List;
.line 3431
invoke-interface {v0}, Ljava/util/List;->clear()V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimatorRunner:Ljava/lang/Runnable;
.line 3432
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->removeCallbacks(Ljava/lang/Runnable;)Z
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
.line 3433
invoke-virtual {v0}, Landroidx/recyclerview/widget/ViewInfoStore;->onDetach()V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
.line 3434
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->onDetachedFromWindow()V
.line 3436
invoke-static {p0}, Landroidx/customview/poolingcontainer/PoolingContainer;->callPoolingContainerOnReleaseForChildren(Landroid/view/ViewGroup;)V
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 3440
invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/GapWorker;->remove(Landroidx/recyclerview/widget/RecyclerView;)V
const/4 v0, 0x0
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 5005
invoke-super {p0, p1}, Landroid/view/ViewGroup;->onDraw(Landroid/graphics/Canvas;)V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
.line 5007
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
move-result v0
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_0
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
.line 5009
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
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 4137
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll(Z)V
return-void
.end method
.method onExitLayoutOrScroll(Z)V
.locals 2
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I
const/4 v1, 0x1
sub-int/2addr v0, v1
iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I
if-ge v0, v1, :cond_2
sget-boolean v1, Landroidx/recyclerview/widget/RecyclerView;->sDebugAssertionsEnabled:Z
if-eqz v1, :cond_1
if-ltz v0, :cond_0
goto :goto_0
.line 4144
:cond_0
new-instance p1, Ljava/lang/IllegalStateException;
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "layout or scroll counter cannot go below zero.Some calls are not matching"
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
.line 4145
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String;
move-result-object p0
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p0
invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-direct {p1, p0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
:cond_1
:goto_0
const/4 v0, 0x0
iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I
if-eqz p1, :cond_2
.line 4149
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchContentChangedIfNecessary()V
.line 4150
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchPendingImportantForAccessibilityChanges()V
:cond_2
return-void
.end method
.method public onGenericMotionEvent(Landroid/view/MotionEvent;)Z
.locals 5
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
:cond_0
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
if-eqz v0, :cond_1
return v1
.line 3946
:cond_1
invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I
move-result v0
const/16 v2, 0x8
if-ne v0, v2, :cond_8
.line 3948
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
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
.line 3949
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z
move-result v0
if-eqz v0, :cond_2
const/16 v0, 0x9
.line 3952
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
:goto_0
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
.line 3956
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z
move-result v3
if-eqz v3, :cond_3
const/16 v3, 0xa
.line 3957
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 3961
: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 3962
invoke-virtual {p1, v0}, Landroid/view/MotionEvent;->getAxisValue(I)F
move-result v0
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
.line 3963
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
:cond_5
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
.line 3968
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
:cond_7
iget v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mScaledHorizontalScrollFactor:F
mul-float/2addr v3, v2
float-to-int v2, v3
iget v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mScaledVerticalScrollFactor:F
mul-float/2addr v0, v3
float-to-int v0, v0
const/4 v3, 0x1
.line 3981
invoke-direct {p0, v2, v0, p1, v3}, Landroidx/recyclerview/widget/RecyclerView;->nestedScrollByInternal(IILandroid/view/MotionEvent;I)V
:cond_8
return v1
.end method
.method public onInterceptTouchEvent(Landroid/view/MotionEvent;)Z
.locals 8
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
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptingOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;
.line 3602
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 3603
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->cancelScroll()V
return v2
:cond_1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-nez v0, :cond_2
return v1
.line 3611
:cond_2
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z
move-result v0
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
.line 3612
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z
move-result v3
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
if-nez v4, :cond_3
.line 3615
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;
:cond_3
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
.line 3617
invoke-virtual {v4, p1}, Landroid/view/VelocityTracker;->addMovement(Landroid/view/MotionEvent;)V
.line 3619
invoke-virtual {p1}, Landroid/view/MotionEvent;->getActionMasked()I
move-result v4
.line 3620
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 3686
:cond_4
invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->onPointerUp(Landroid/view/MotionEvent;)V
goto/16 :goto_2
.line 3651
: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 3652
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 3653
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 3697
:cond_6
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->cancelScroll()V
goto/16 :goto_2
:cond_7
iget v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
.line 3657
invoke-virtual {p1, v4}, Landroid/view/MotionEvent;->findPointerIndex(I)I
move-result v4
if-gez v4, :cond_8
.line 3659
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 p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
invoke-virtual {p1, p0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object p0
const-string p1, " not found. Did any MotionEvents get skipped?"
invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p0
invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
const-string p1, "RecyclerView"
invoke-static {p1, p0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
return v1
.line 3664
: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 3665
invoke-virtual {p1, v4}, Landroid/view/MotionEvent;->getY(I)F
move-result p1
add-float/2addr p1, v7
float-to-int p1, p1
iget v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I
if-eq v4, v2, :cond_11
iget v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchX:I
sub-int v4, v5, v4
iget v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchY:I
sub-int v6, p1, v6
if-eqz v0, :cond_9
.line 3670
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
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 3674
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
iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I
goto :goto_1
:cond_a
if-eqz v0, :cond_11
.line 3679
:goto_1
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V
goto :goto_2
:cond_b
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
.line 3691
invoke-virtual {p1}, Landroid/view/VelocityTracker;->clear()V
.line 3692
invoke-virtual {p0, v1}, Landroidx/recyclerview/widget/RecyclerView;->stopNestedScroll(I)V
goto :goto_2
:cond_c
iget-boolean v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mIgnoreMotionEventTillDown:Z
if-eqz v4, :cond_d
iput-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mIgnoreMotionEventTillDown:Z
.line 3627
: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 3628
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 3629
invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F
move-result v4
add-float/2addr v4, v7
float-to-int v4, v4
iput v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I
iput v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchY:I
.line 3631
invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->stopGlowAnimations(Landroid/view/MotionEvent;)Z
move-result p1
if-nez p1, :cond_e
iget p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I
if-ne p1, v6, :cond_f
.line 3632
:cond_e
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 3633
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V
.line 3634
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopNestedScroll(I)V
:cond_f
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I
.line 3638
aput v1, p1, v2
aput v1, p1, v1
if-eqz v3, :cond_10
or-int/lit8 v0, v0, 0x2
.line 3647
:cond_10
invoke-virtual {p0, v0, v1}, Landroidx/recyclerview/widget/RecyclerView;->startNestedScroll(II)Z
:cond_11
:goto_2
iget p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I
if-ne p0, v2, :cond_12
move v1, v2
:cond_12
return v1
.end method
.method protected onLayout(ZIIII)V
.locals 0
const-string p1, "RV OnLayout"
.line 4918
invoke-static {p1}, Landroidx/core/os/TraceCompat;->beginSection(Ljava/lang/String;)V
.line 4919
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayout()V
.line 4920
invoke-static {}, Landroidx/core/os/TraceCompat;->endSection()V
const/4 p1, 0x1
iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z
return-void
.end method
.method protected onMeasure(II)V
.locals 7
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-nez v0, :cond_0
.line 3991
invoke-virtual {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->defaultOnMeasure(II)V
return-void
.line 3994
:cond_0
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->isAutoMeasureEnabled()Z
move-result v0
const/4 v1, 0x1
const/4 v2, 0x0
if-eqz v0, :cond_6
.line 3995
invoke-static {p1}, Landroid/view/View$MeasureSpec;->getMode(I)I
move-result v0
.line 3996
invoke-static {p2}, Landroid/view/View$MeasureSpec;->getMode(I)I
move-result v3
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
.line 4005
invoke-virtual {v4, v5, v6, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onMeasure(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;II)V
const/high16 v4, 0x40000000 # 2.0f
if-ne v0, v4, :cond_1
if-ne v3, v4, :cond_1
move v2, v1
:cond_1
iput-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureSkippedDueToExact:Z
if-nez v2, :cond_5
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
if-nez v0, :cond_2
goto :goto_0
:cond_2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
.line 4015
iget v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mLayoutStep:I
if-ne v0, v1, :cond_3
.line 4016
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep1()V
:cond_3
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
.line 4020
invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setMeasureSpecs(II)V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
.line 4021
iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mIsMeasuring:Z
.line 4022
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep2()V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
.line 4025
invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setMeasuredDimensionFromChildren(II)V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
.line 4029
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->shouldMeasureTwice()Z
move-result v0
if-eqz v0, :cond_4
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
.line 4031
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredWidth()I
move-result v2
invoke-static {v2, v4}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result v2
.line 4032
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredHeight()I
move-result v3
invoke-static {v3, v4}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result v3
.line 4030
invoke-virtual {v0, v2, v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setMeasureSpecs(II)V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
.line 4033
iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mIsMeasuring:Z
.line 4034
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep2()V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
.line 4036
invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setMeasuredDimensionFromChildren(II)V
.line 4039
:cond_4
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredWidth()I
move-result p1
iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureNonExactMeasuredWidth:I
.line 4040
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredHeight()I
move-result p1
iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureNonExactMeasuredHeight:I
goto :goto_4
:cond_5
:goto_0
return-void
:cond_6
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mHasFixedSize:Z
if-eqz v0, :cond_7
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 p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
.line 4043
invoke-virtual {v0, v1, p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onMeasure(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;II)V
return-void
:cond_7
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterUpdateDuringMeasure:Z
if-eqz v0, :cond_9
.line 4048
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
.line 4049
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V
.line 4050
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->processAdapterUpdatesAndSetAnimationFlags()V
.line 4051
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
.line 4053
iget-boolean v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunPredictiveAnimations:Z
if-eqz v0, :cond_8
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
.line 4054
iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mInPreLayout:Z
goto :goto_1
:cond_8
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
.line 4057
invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->consumeUpdatesInOnePass()V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
.line 4058
iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mInPreLayout:Z
:goto_1
iput-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterUpdateDuringMeasure:Z
.line 4061
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
goto :goto_2
:cond_9
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
.line 4062
iget-boolean v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunPredictiveAnimations:Z
if-eqz v0, :cond_a
.line 4068
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
:cond_a
:goto_2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
if-eqz v0, :cond_b
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
.line 4073
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
:cond_b
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
.line 4075
iput v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mItemCount:I
.line 4077
:goto_3
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
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;
.line 4078
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 4079
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
.line 4080
iput-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView$State;->mInPreLayout:Z
:goto_4
return-void
.end method
.method protected onRequestFocusInDescendants(ILandroid/graphics/Rect;)Z
.locals 1
.line 3375
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isComputingLayout()Z
move-result v0
if-eqz v0, :cond_0
const/4 p0, 0x0
return p0
.line 3380
:cond_0
invoke-super {p0, p1, p2}, Landroid/view/ViewGroup;->onRequestFocusInDescendants(ILandroid/graphics/Rect;)Z
move-result p0
return p0
.end method
.method protected onRestoreInstanceState(Landroid/os/Parcelable;)V
.locals 1
.line 1528
instance-of v0, p1, Landroidx/recyclerview/widget/RecyclerView$SavedState;
if-nez v0, :cond_0
.line 1529
invoke-super {p0, p1}, Landroid/view/ViewGroup;->onRestoreInstanceState(Landroid/os/Parcelable;)V
return-void
.line 1533
: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 1534
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 1542
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
return-void
.end method
.method protected onSaveInstanceState()Landroid/os/Parcelable;
.locals 2
.line 1514
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
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingSavedState:Landroidx/recyclerview/widget/RecyclerView$SavedState;
if-eqz v1, :cond_0
.line 1516
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$SavedState;->copyFrom(Landroidx/recyclerview/widget/RecyclerView$SavedState;)V
goto :goto_0
:cond_0
iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz p0, :cond_1
.line 1518
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onSaveInstanceState()Landroid/os/Parcelable;
move-result-object p0
iput-object p0, v0, Landroidx/recyclerview/widget/RecyclerView$SavedState;->mLayoutState:Landroid/os/Parcelable;
goto :goto_0
:cond_1
const/4 p0, 0x0
.line 1520
iput-object p0, 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 4103
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 4105
: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
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_b
.line 3754
: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 3755
invoke-direct/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->cancelScroll()V
return v9
:cond_1
iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-nez v0, :cond_2
return v8
.line 3763
:cond_2
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z
move-result v10
iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
.line 3764
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z
move-result v11
iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
if-nez v0, :cond_3
.line 3767
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 3771
:cond_3
invoke-virtual/range {p1 .. p1}, Landroid/view/MotionEvent;->getActionMasked()I
move-result v0
.line 3772
invoke-virtual/range {p1 .. p1}, Landroid/view/MotionEvent;->getActionIndex()I
move-result v1
if-nez v0, :cond_4
iget-object v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I
.line 3775
aput v8, v2, v9
aput v8, v2, v8
.line 3777
:cond_4
invoke-static/range {p1 .. p1}, Landroid/view/MotionEvent;->obtain(Landroid/view/MotionEvent;)Landroid/view/MotionEvent;
move-result-object v12
iget-object v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I
.line 3778
aget v3, v2, v8
int-to-float v3, v3
aget v2, v2, v9
int-to-float v2, v2
invoke-virtual {v12, v3, v2}, Landroid/view/MotionEvent;->offsetLocation(FF)V
const/high16 v2, 0x3f000000 # 0.5f
if-eqz v0, :cond_1c
if-eq v0, v9, :cond_16
const/4 v3, 0x2
if-eq v0, v3, :cond_8
const/4 v3, 0x3
if-eq v0, v3, :cond_7
const/4 v3, 0x5
if-eq v0, v3, :cond_6
const/4 v1, 0x6
if-eq v0, v1, :cond_5
goto/16 :goto_9
.line 3881
:cond_5
invoke-direct/range {p0 .. p1}, Landroidx/recyclerview/widget/RecyclerView;->onPointerUp(Landroid/view/MotionEvent;)V
goto/16 :goto_9
.line 3798
: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 3799
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 3800
invoke-virtual {v7, v1}, Landroid/view/MotionEvent;->getY(I)F
move-result v0
add-float/2addr v0, v2
float-to-int v0, v0
iput v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I
iput v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchY:I
goto/16 :goto_9
.line 3901
:cond_7
invoke-direct/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->cancelScroll()V
goto/16 :goto_9
:cond_8
iget v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
.line 3805
invoke-virtual {v7, v0}, Landroid/view/MotionEvent;->findPointerIndex(I)I
move-result v0
if-gez v0, :cond_9
.line 3807
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 3812
: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 3813
invoke-virtual {v7, v0}, Landroid/view/MotionEvent;->getY(I)F
move-result v0
add-float/2addr v0, v2
float-to-int v14, v0
iget v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I
sub-int/2addr v0, v13
iget v1, v6, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I
sub-int/2addr v1, v14
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
iget v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I
sub-int/2addr v0, v2
.line 3821
invoke-static {v8, v0}, Ljava/lang/Math;->max(II)I
move-result v0
goto :goto_0
:cond_a
iget v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I
add-int/2addr v0, v2
.line 3823
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
iget v3, v6, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I
sub-int/2addr v1, v3
.line 3831
invoke-static {v8, v1}, Ljava/lang/Math;->max(II)I
move-result v1
goto :goto_2
:cond_c
iget v3, v6, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I
add-int/2addr v1, v3
.line 3833
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 3840
invoke-virtual {v6, v9}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V
:cond_e
iget v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I
if-ne v2, v9, :cond_1e
iget-object v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I
.line 3845
aput v8, v2, v8
.line 3846
aput v8, v2, v9
.line 3847
invoke-virtual/range {p1 .. p1}, Landroid/view/MotionEvent;->getY()F
move-result v2
invoke-direct {v6, v0, v2}, Landroidx/recyclerview/widget/RecyclerView;->releaseHorizontalGlow(IF)I
move-result v2
sub-int v15, v0, v2
.line 3848
invoke-virtual/range {p1 .. p1}, Landroid/view/MotionEvent;->getX()F
move-result v0
invoke-direct {v6, v1, v0}, Landroidx/recyclerview/widget/RecyclerView;->releaseVerticalGlow(IF)I
move-result v0
sub-int v16, v1, v0
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
:goto_4
iget-object v3, v6, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I
iget-object v4, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I
const/4 v5, 0x0
move-object/from16 v0, p0
.line 3850
invoke-virtual/range {v0 .. v5}, Landroidx/recyclerview/widget/RecyclerView;->dispatchNestedPreScroll(II[I[II)Z
move-result v0
if-eqz v0, :cond_11
iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I
.line 3855
aget v1, v0, v8
sub-int/2addr v15, v1
.line 3856
aget v0, v0, v9
sub-int v16, v16, v0
iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I
.line 3858
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 3859
aget v1, v0, v9
aget v2, v2, v9
add-int/2addr v1, v2
aput v1, v0, v9
.line 3861
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
iget-object v1, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I
.line 3864
aget v2, v1, v8
sub-int/2addr v13, v2
iput v13, v6, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I
.line 3865
aget v1, v1, v9
sub-int/2addr v14, v1
iput v14, v6, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I
if-eqz v10, :cond_12
move v1, v15
goto :goto_5
:cond_12
move v1, v8
:goto_5
if-eqz v11, :cond_13
move v2, v0
goto :goto_6
:cond_13
move v2, v8
.line 3867
:goto_6
invoke-virtual {v6, v1, v2, v7, v8}, Landroidx/recyclerview/widget/RecyclerView;->scrollByInternal(IILandroid/view/MotionEvent;I)Z
move-result v1
if-eqz v1, :cond_14
.line 3871
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
: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 3874
:cond_15
invoke-virtual {v1, v6, v15, v0}, Landroidx/recyclerview/widget/GapWorker;->postFromTraversal(Landroidx/recyclerview/widget/RecyclerView;II)V
goto :goto_9
:cond_16
iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
.line 3886
invoke-virtual {v0, v12}, Landroid/view/VelocityTracker;->addMovement(Landroid/view/MotionEvent;)V
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
.line 3888
invoke-virtual {v0, v2, v1}, Landroid/view/VelocityTracker;->computeCurrentVelocity(IF)V
const/4 v0, 0x0
if-eqz v10, :cond_17
iget-object v1, v6, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
iget v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
.line 3890
invoke-virtual {v1, v2}, Landroid/view/VelocityTracker;->getXVelocity(I)F
move-result v1
neg-float v1, v1
goto :goto_7
:cond_17
move v1, v0
:goto_7
if-eqz v11, :cond_18
iget-object v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
iget v3, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
.line 3892
invoke-virtual {v2, v3}, Landroid/view/VelocityTracker;->getYVelocity(I)F
move-result v2
neg-float v2, v2
goto :goto_8
:cond_18
move v2, v0
:goto_8
cmpl-float v3, v1, v0
if-nez v3, :cond_19
cmpl-float v0, v2, v0
if-eqz v0, :cond_1a
:cond_19
float-to-int v0, v1
float-to-int v1, v2
.line 3893
invoke-virtual {v6, v0, v1}, Landroidx/recyclerview/widget/RecyclerView;->fling(II)Z
move-result v0
if-nez v0, :cond_1b
.line 3894
:cond_1a
invoke-virtual {v6, v8}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V
.line 3896
:cond_1b
invoke-direct/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->resetScroll()V
goto :goto_a
.line 3782
: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 3783
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 3784
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 3793
:cond_1d
invoke-virtual {v6, v10, v8}, Landroidx/recyclerview/widget/RecyclerView;->startNestedScroll(II)Z
:cond_1e
:goto_9
iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
.line 3907
invoke-virtual {v0, v12}, Landroid/view/VelocityTracker;->addMovement(Landroid/view/MotionEvent;)V
.line 3909
:goto_a
invoke-virtual {v12}, Landroid/view/MotionEvent;->recycle()V
return v9
:cond_1f
:goto_b
return v8
.end method
.method postAnimationRunner()V
.locals 1
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPostedAnimatorRunner:Z
if-nez v0, :cond_0
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mIsAttached:Z
if-eqz v0, :cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimatorRunner:Ljava/lang/Runnable;
.line 4250
invoke-static {p0, v0}, Landroidx/core/view/ViewCompat;->postOnAnimation(Landroid/view/View;Ljava/lang/Runnable;)V
const/4 v0, 0x1
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPostedAnimatorRunner:Z
:cond_0
return-void
.end method
.method processDataSetCompletelyChanged(Z)V
.locals 1
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchItemsChangedEvent:Z
or-int/2addr p1, v0
iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchItemsChangedEvent:Z
const/4 p1, 0x1
iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z
.line 5210
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 4801
invoke-virtual {p1, v0, v1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->setFlags(II)V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
.line 4802
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 4803
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 4804
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->getChangedHolderKey(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)J
move-result-wide v0
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
.line 4805
invoke-virtual {v2, v0, v1, p1}, Landroidx/recyclerview/widget/ViewInfoStore;->addToOldChangeHolders(JLandroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
:cond_0
iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
.line 4807
invoke-virtual {p0, 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
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
if-eqz v0, :cond_0
.line 1277
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->endAnimations()V
:cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v0, :cond_1
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
.line 1284
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->removeAndRecycleAllViews(Landroidx/recyclerview/widget/RecyclerView$Recycler;)V
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;
.line 1285
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->removeAndRecycleScrapInt(Landroidx/recyclerview/widget/RecyclerView$Recycler;)V
:cond_1
iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
.line 1288
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->clear()V
return-void
.end method
.method removeAnimatingView(Landroid/view/View;)Z
.locals 3
.line 1592
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
.line 1593
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/ChildHelper;->removeViewIfHidden(Landroid/view/View;)Z
move-result v0
if-eqz v0, :cond_0
.line 1595
invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v1
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
.line 1596
invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->unscrapView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
.line 1597
invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->recycleViewHolderInternal(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
sget-boolean v1, Landroidx/recyclerview/widget/RecyclerView;->sVerboseLoggingEnabled:Z
if-eqz v1, :cond_0
.line 1599
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "after removing animated 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, ", "
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
const-string v1, "RecyclerView"
invoke-static {v1, p1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
:cond_0
xor-int/lit8 p1, v0, 0x1
.line 1603
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 4844
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 4846
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isTmpDetached()Z
move-result v1
if-eqz v1, :cond_0
.line 4847
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->clearTmpDetachFlag()V
goto :goto_0
.line 4848
:cond_0
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
move-result v1
if-eqz v1, :cond_1
goto :goto_0
.line 4849
: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 4850
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String;
move-result-object p0
invoke-virtual {p2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p0
invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-direct {p1, p0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
:cond_2
sget-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->sDebugAssertionsEnabled:Z
if-nez v0, :cond_3
.line 4862
:goto_0
invoke-virtual {p1}, Landroid/view/View;->clearAnimation()V
.line 4864
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->dispatchChildDetached(Landroid/view/View;)V
.line 4865
invoke-super {p0, p1, p2}, Landroid/view/ViewGroup;->removeDetachedView(Landroid/view/View;Z)V
return-void
.line 4854
:cond_3
new-instance p2, Ljava/lang/IllegalArgumentException;
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "No ViewHolder found for child: "
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object p1
.line 4855
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String;
move-result-object p0
invoke-virtual {p1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p0
invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-direct {p2, p0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p2
.end method
.method public removeItemDecoration(Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;)V
.locals 2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v0, :cond_0
const-string v1, "Cannot remove item decoration during a scroll or layout"
.line 1791
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->assertNotInLayoutOrScroll(Ljava/lang/String;)V
:cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
.line 1794
invoke-virtual {v0, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
.line 1795
invoke-virtual {p1}, Ljava/util/ArrayList;->isEmpty()Z
move-result p1
if-eqz p1, :cond_2
.line 1796
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 1798
:cond_2
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->markItemDecorInsetsDirty()V
.line 1799
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
return-void
.end method
.method public removeItemDecorationAt(I)V
.locals 2
.line 1772
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getItemDecorationCount()I
move-result v0
if-ltz p1, :cond_0
if-ge p1, v0, :cond_0
.line 1777
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 1774
:cond_0
new-instance p0, Ljava/lang/IndexOutOfBoundsException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object p1
const-string v1, " is an invalid index for size "
invoke-virtual {p1, v1}, 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 {p0, p1}, Ljava/lang/IndexOutOfBoundsException;-><init>(Ljava/lang/String;)V
throw p0
.end method
.method public removeOnChildAttachStateChangeListener(Landroidx/recyclerview/widget/RecyclerView$OnChildAttachStateChangeListener;)V
.locals 0
iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List;
if-nez p0, :cond_0
return-void
.line 1423
:cond_0
invoke-interface {p0, p1}, Ljava/util/List;->remove(Ljava/lang/Object;)Z
return-void
.end method
.method public removeOnItemTouchListener(Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;)V
.locals 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList;
.line 3519
invoke-virtual {v0, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptingOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;
if-ne v0, p1, :cond_0
const/4 p1, 0x0
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 0
iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List;
if-eqz p0, :cond_0
.line 1858
invoke-interface {p0, p1}, Ljava/util/List;->remove(Ljava/lang/Object;)Z
:cond_0
return-void
.end method
.method public removeRecyclerListener(Landroidx/recyclerview/widget/RecyclerView$RecyclerListener;)V
.locals 0
iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecyclerListeners:Ljava/util/List;
.line 1374
invoke-interface {p0, p1}, Ljava/util/List;->remove(Ljava/lang/Object;)Z
return-void
.end method
.method repositionShadowingViews()V
.locals 7
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
.line 6037
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I
move-result v0
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_2
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
.line 6039
invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View;
move-result-object v2
.line 6040
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 6041
iget-object v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mShadowingHolder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
if-eqz v4, :cond_1
.line 6042
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 6043
invoke-virtual {v2}, Landroid/view/View;->getLeft()I
move-result v4
.line 6044
invoke-virtual {v2}, Landroid/view/View;->getTop()I
move-result v2
.line 6045
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 6047
:cond_0
invoke-virtual {v3}, Landroid/view/View;->getWidth()I
move-result v5
add-int/2addr v5, v4
.line 6048
invoke-virtual {v3}, Landroid/view/View;->getHeight()I
move-result v6
add-int/2addr v6, v2
.line 6046
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
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;
.line 3317
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 3318
invoke-direct {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->requestChildOnScreen(Landroid/view/View;Landroid/view/View;)V
.line 3320
: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
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
.line 3363
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 p0
return p0
.end method
.method public requestDisallowInterceptTouchEvent(Z)V
.locals 3
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList;
.line 3741
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
move-result v0
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_0
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList;
.line 3743
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 3744
invoke-interface {v2, p1}, Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;->onRequestDisallowInterceptTouchEvent(Z)V
add-int/lit8 v1, v1, 0x1
goto :goto_0
.line 3746
:cond_0
invoke-super {p0, p1}, Landroid/view/ViewGroup;->requestDisallowInterceptTouchEvent(Z)V
return-void
.end method
.method public requestLayout()V
.locals 1
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I
if-nez v0, :cond_0
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
if-nez v0, :cond_0
.line 4927
invoke-super {p0}, Landroid/view/ViewGroup;->requestLayout()V
goto :goto_0
:cond_0
const/4 v0, 0x1
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z
:goto_0
return-void
.end method
.method saveOldPositions()V
.locals 5
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
.line 5055
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I
move-result v0
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_3
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
.line 5057
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
sget-boolean v3, Landroidx/recyclerview/widget/RecyclerView;->sDebugAssertionsEnabled:Z
if-eqz v3, :cond_1
.line 5058
iget v3, v2, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I
const/4 v4, -0x1
if-ne v3, v4, :cond_1
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isRemoved()Z
move-result v3
if-eqz v3, :cond_0
goto :goto_1
.line 5059
:cond_0
new-instance v0, Ljava/lang/IllegalStateException;
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "view holder cannot have position -1 unless it is removed"
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
.line 5060
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String;
move-result-object p0
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p0
invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-direct {v0, p0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.line 5062
:cond_1
:goto_1
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
move-result v3
if-nez v3, :cond_2
.line 5063
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->saveOldPosition()V
:cond_2
add-int/lit8 v1, v1, 0x1
goto :goto_0
:cond_3
return-void
.end method
.method public scrollBy(II)V
.locals 3
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-nez v0, :cond_0
const-string p0, "RecyclerView"
const-string p1, "Cannot scroll without a LayoutManager set. Call setLayoutManager with a non-null argument."
.line 1942
invoke-static {p0, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
return-void
:cond_0
iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
if-eqz v1, :cond_1
return-void
.line 1949
:cond_1
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z
move-result v0
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
.line 1950
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 1952
invoke-virtual {p0, p1, p2, v0, v2}, Landroidx/recyclerview/widget/RecyclerView;->scrollByInternal(IILandroid/view/MotionEvent;I)Z
:cond_5
return-void
.end method
.method scrollByInternal(IILandroid/view/MotionEvent;I)Z
.locals 18
move-object/from16 v8, p0
move/from16 v9, p1
move/from16 v10, p2
move-object/from16 v11, p3
.line 2145
invoke-virtual/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->consumePendingUpdateOperations()V
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
iget-object v0, v8, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I
.line 2147
aput v13, v0, v13
.line 2148
aput v13, v0, v12
.line 2149
invoke-virtual {v8, v9, v10, v0}, Landroidx/recyclerview/widget/RecyclerView;->scrollStep(II[I)V
iget-object v0, v8, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I
.line 2150
aget v1, v0, v13
.line 2151
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
:goto_0
iget-object v0, v8, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
.line 2155
invoke-virtual {v0}, Ljava/util/ArrayList;->isEmpty()Z
move-result v0
if-nez v0, :cond_1
.line 2156
invoke-virtual/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->invalidate()V
:cond_1
iget-object v7, v8, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I
.line 2159
aput v13, v7, v13
.line 2160
aput v13, v7, v12
iget-object v5, v8, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I
move-object/from16 v0, p0
move v1, v15
move v2, v14
move/from16 v3, v16
move/from16 v4, v17
move/from16 v6, p4
.line 2161
invoke-virtual/range {v0 .. v7}, Landroidx/recyclerview/widget/RecyclerView;->dispatchNestedScroll(IIII[II[I)V
iget-object v0, v8, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I
.line 2163
aget v1, v0, v13
sub-int v2, v16, v1
.line 2164
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
:goto_2
iget v1, v8, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I
iget-object v4, v8, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I
.line 2168
aget v5, v4, v13
sub-int/2addr v1, v5
iput v1, v8, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I
iget v1, v8, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I
.line 2169
aget v4, v4, v12
sub-int/2addr v1, v4
iput v1, v8, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I
iget-object v1, v8, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I
.line 2170
aget v6, v1, v13
add-int/2addr v6, v5
aput v6, v1, v13
.line 2171
aget v5, v1, v12
add-int/2addr v5, v4
aput v5, v1, v12
.line 2173
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 2174
invoke-static {v11, v1}, Landroidx/core/view/MotionEventCompat;->isFromSource(Landroid/view/MotionEvent;I)Z
move-result v1
if-nez v1, :cond_4
.line 2175
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 2177
: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 2180
:cond_6
invoke-virtual {v8, v15, v14}, Landroidx/recyclerview/widget/RecyclerView;->dispatchOnScrolled(II)V
.line 2182
:cond_7
invoke-virtual/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->awakenScrollBars()Z
move-result v1
if-nez v1, :cond_8
.line 2183
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 2038
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
.line 2039
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V
const-string v0, "RV Scroll"
.line 2041
invoke-static {v0}, Landroidx/core/os/TraceCompat;->beginSection(Ljava/lang/String;)V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
.line 2042
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->fillRemainingScrollValues(Landroidx/recyclerview/widget/RecyclerView$State;)V
const/4 v0, 0x0
if-eqz p1, :cond_0
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;
.line 2047
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
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;
.line 2050
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 2053
:goto_1
invoke-static {}, Landroidx/core/os/TraceCompat;->endSection()V
.line 2054
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->repositionShadowingViews()V
.line 2056
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V
.line 2057
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
if-eqz p3, :cond_2
.line 2060
aput p1, p3, v0
const/4 p0, 0x1
.line 2061
aput p2, p3, p0
:cond_2
return-void
.end method
.method public scrollTo(II)V
.locals 0
const-string p0, "RecyclerView"
const-string p1, "RecyclerView does not support scrolling to an absolute position. Use scrollToPosition instead"
.line 1935
invoke-static {p0, p1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
return-void
.end method
.method public scrollToPosition(I)V
.locals 1
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
if-eqz v0, :cond_0
return-void
.line 1884
:cond_0
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->stopScroll()V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-nez v0, :cond_1
const-string p0, "RecyclerView"
const-string p1, "Cannot scroll to position a LayoutManager set. Call setLayoutManager with a non-null argument."
.line 1886
invoke-static {p0, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
return-void
.line 1890
:cond_1
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->scrollToPosition(I)V
.line 1891
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->awakenScrollBars()Z
return-void
.end method
.method public sendAccessibilityEventUnchecked(Landroid/view/accessibility/AccessibilityEvent;)V
.locals 1
.line 4218
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 4221
: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
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAccessibilityDelegate:Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate;
.line 863
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 1265
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setLayoutFrozen(Z)V
const/4 v1, 0x1
.line 1266
invoke-direct {p0, p1, v0, v1}, Landroidx/recyclerview/widget/RecyclerView;->setAdapterInternal(Landroidx/recyclerview/widget/RecyclerView$Adapter;ZZ)V
.line 1267
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->processDataSetCompletelyChanged(Z)V
.line 1268
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
return-void
.end method
.method public setChildDrawingOrderCallback(Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback;)V
.locals 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildDrawingOrderCallback:Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback;
if-ne p1, v0, :cond_0
return-void
: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 1820
: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 12374
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isComputingLayout()Z
move-result v0
if-eqz v0, :cond_0
.line 12375
iput p2, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPendingAccessibilityState:I
iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingAccessibilityImportanceChange:Ljava/util/List;
.line 12376
invoke-interface {p0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
const/4 p0, 0x0
return p0
.line 12379
:cond_0
iget-object p0, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
invoke-static {p0, p2}, Landroidx/core/view/ViewCompat;->setImportantForAccessibility(Landroid/view/View;I)V
const/4 p0, 0x1
return p0
.end method
.method public setClipToPadding(Z)V
.locals 1
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
if-eq p1, v0, :cond_0
.line 1181
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->invalidateGlows()V
:cond_0
iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
.line 1184
invoke-super {p0, p1}, Landroid/view/ViewGroup;->setClipToPadding(Z)V
iget-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z
if-eqz p1, :cond_1
.line 1186
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 3123
invoke-static {p1}, Landroidx/core/util/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;
.line 3125
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->invalidateGlows()V
return-void
.end method
.method public setHasFixedSize(Z)V
.locals 0
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
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
if-eqz v0, :cond_0
.line 4123
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->endAnimations()V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
const/4 v1, 0x0
.line 4124
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->setListener(Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemAnimatorListener;)V
:cond_0
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
if-eqz p1, :cond_1
iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimatorListener:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemAnimatorListener;
.line 4128
invoke-virtual {p1, p0}, 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 0
iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
.line 1665
invoke-virtual {p0, 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 2559
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 2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-ne p1, v0, :cond_0
return-void
.line 1452
:cond_0
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->stopScroll()V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v0, :cond_3
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
if-eqz v0, :cond_1
.line 1458
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->endAnimations()V
: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;
.line 1460
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->removeAndRecycleAllViews(Landroidx/recyclerview/widget/RecyclerView$Recycler;)V
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;
.line 1461
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->removeAndRecycleScrapInt(Landroidx/recyclerview/widget/RecyclerView$Recycler;)V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
.line 1462
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->clear()V
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mIsAttached:Z
if-eqz v0, :cond_2
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;
.line 1465
invoke-virtual {v0, p0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->dispatchDetachedFromWindow(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$Recycler;)V
:cond_2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
const/4 v1, 0x0
.line 1467
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setRecyclerView(Landroidx/recyclerview/widget/RecyclerView;)V
iput-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
goto :goto_0
:cond_3
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
.line 1470
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->clear()V
:goto_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
.line 1473
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->removeAllViewsUnfiltered()V
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz p1, :cond_5
.line 1476
iget-object v0, p1, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
if-nez v0, :cond_4
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
.line 1481
invoke-virtual {p1, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setRecyclerView(Landroidx/recyclerview/widget/RecyclerView;)V
iget-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mIsAttached:Z
if-eqz p1, :cond_5
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
.line 1483
invoke-virtual {p1, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->dispatchAttachedToWindow(Landroidx/recyclerview/widget/RecyclerView;)V
goto :goto_1
.line 1477
:cond_4
new-instance p0, Ljava/lang/IllegalArgumentException;
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "LayoutManager "
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, " is already attached to a RecyclerView:"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
iget-object p1, p1, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
.line 1479
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()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}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {p0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p0
:cond_5
:goto_1
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
.line 1486
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->updateViewCacheSize()V
.line 1487
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
return-void
.end method
.method public setLayoutTransition(Landroid/animation/LayoutTransition;)V
.locals 0
.annotation runtime Ljava/lang/Deprecated;
.end annotation
if-nez p1, :cond_0
const/4 p1, 0x0
.line 2598
invoke-super {p0, p1}, Landroid/view/ViewGroup;->setLayoutTransition(Landroid/animation/LayoutTransition;)V
return-void
.line 2600
:cond_0
new-instance p0, Ljava/lang/IllegalArgumentException;
const-string p1, "Providing a LayoutTransition into RecyclerView is not supported. Please use setItemAnimator() instead for animating changes to the items in this RecyclerView"
invoke-direct {p0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p0
.end method
.method public setNestedScrollingEnabled(Z)V
.locals 0
.line 12432
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
move-result-object p0
invoke-virtual {p0, p1}, Landroidx/core/view/NestedScrollingChildHelper;->setNestedScrollingEnabled(Z)V
return-void
.end method
.method public setOnFlingListener(Landroidx/recyclerview/widget/RecyclerView$OnFlingListener;)V
.locals 0
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
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
iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mPreserveFocusAfterLayout:Z
return-void
.end method
.method public setRecycledViewPool(Landroidx/recyclerview/widget/RecyclerView$RecycledViewPool;)V
.locals 0
iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
.line 1640
invoke-virtual {p0, 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
.annotation runtime Ljava/lang/Deprecated;
.end annotation
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecyclerListener:Landroidx/recyclerview/widget/RecyclerView$RecyclerListener;
return-void
.end method
.method setScrollState(I)V
.locals 3
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I
if-ne p1, v0, :cond_0
return-void
:cond_0
sget-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->sVerboseLoggingEnabled:Z
if-eqz v0, :cond_1
.line 1683
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "setting scroll state to "
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, " from "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
iget v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
new-instance v1, Ljava/lang/Exception;
invoke-direct {v1}, Ljava/lang/Exception;-><init>()V
const-string v2, "RecyclerView"
invoke-static {v2, v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
:cond_1
iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I
const/4 v0, 0x2
if-eq p1, v0, :cond_2
.line 1688
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->stopScrollersInternal()V
.line 1690
:cond_2
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->dispatchOnScrollStateChanged(I)V
return-void
.end method
.method public setScrollingTouchSlop(I)V
.locals 3
.line 1216
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 1219
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 1227
: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 1223
: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 0
iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
.line 1650
invoke-virtual {p0, 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 4202
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 4205
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
: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 p0, 0x1
return p0
:cond_2
return v1
.end method
.method public smoothScrollBy(II)V
.locals 1
const/4 v0, 0x0
.line 2613
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 2625
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 2644
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
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-nez v0, :cond_0
const-string p0, "RecyclerView"
const-string p1, "Cannot smooth scroll without a LayoutManager set. Call setLayoutManager with a non-null argument."
.line 2683
invoke-static {p0, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
return-void
:cond_0
iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
if-eqz v1, :cond_1
return-void
.line 2690
: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
:cond_2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
.line 2693
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 2711
: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 2707
:cond_8
invoke-virtual {p0, v1, p5}, Landroidx/recyclerview/widget/RecyclerView;->startNestedScroll(II)Z
:cond_9
iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;
.line 2709
invoke-virtual {p0, 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
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
if-eqz v0, :cond_0
return-void
:cond_0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-nez v0, :cond_1
const-string p0, "RecyclerView"
const-string p1, "Cannot smooth scroll without a LayoutManager set. Call setLayoutManager with a non-null argument."
.line 1926
invoke-static {p0, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
return-void
:cond_1
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
.line 1930
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
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
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
if-nez v0, :cond_0
const/4 v0, 0x0
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z
:cond_0
return-void
.end method
.method public startNestedScroll(I)Z
.locals 0
.line 12442
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
move-result-object p0
invoke-virtual {p0, p1}, Landroidx/core/view/NestedScrollingChildHelper;->startNestedScroll(I)Z
move-result p0
return p0
.end method
.method public startNestedScroll(II)Z
.locals 0
.line 12447
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
move-result-object p0
invoke-virtual {p0, p1, p2}, Landroidx/core/view/NestedScrollingChildHelper;->startNestedScroll(II)Z
move-result p0
return p0
.end method
.method stopInterceptRequestLayout(Z)V
.locals 3
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I
const/4 v1, 0x1
if-ge v0, v1, :cond_1
sget-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->sDebugAssertionsEnabled:Z
if-nez v0, :cond_0
iput v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I
goto :goto_0
.line 2446
:cond_0
new-instance p1, Ljava/lang/IllegalStateException;
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "stopInterceptRequestLayout was called more times than startInterceptRequestLayout."
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
.line 2448
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String;
move-result-object p0
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p0
invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-direct {p1, p0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
:cond_1
:goto_0
const/4 v0, 0x0
if-nez p1, :cond_2
iget-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
if-nez v2, :cond_2
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z
:cond_2
iget v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I
if-ne v2, v1, :cond_4
if-eqz p1, :cond_3
iget-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z
if-eqz p1, :cond_3
iget-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
if-nez p1, :cond_3
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz p1, :cond_3
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
if-eqz p1, :cond_3
.line 2467
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayout()V
:cond_3
iget-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
if-nez p1, :cond_4
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z
:cond_4
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 0
.line 12452
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
move-result-object p0
invoke-virtual {p0}, Landroidx/core/view/NestedScrollingChildHelper;->stopNestedScroll()V
return-void
.end method
.method public stopNestedScroll(I)V
.locals 0
.line 12457
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
move-result-object p0
invoke-virtual {p0, p1}, Landroidx/core/view/NestedScrollingChildHelper;->stopNestedScroll(I)V
return-void
.end method
.method public stopScroll()V
.locals 1
const/4 v0, 0x0
.line 2915
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V
.line 2916
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->stopScrollersInternal()V
return-void
.end method
.method public final suppressLayout(Z)V
.locals 9
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
if-eq p1, v0, :cond_2
const-string v0, "Do not suppressLayout in layout or scroll"
.line 2504
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->assertNotInLayoutOrScroll(Ljava/lang/String;)V
if-nez p1, :cond_1
const/4 p1, 0x0
iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
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 2508
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
:cond_0
iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z
goto :goto_0
.line 2512
:cond_1
invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
move-result-wide v3
const/4 v5, 0x3
const/4 v6, 0x0
const/4 v7, 0x0
const/4 v8, 0x0
move-wide v1, v3
.line 2513
invoke-static/range {v1 .. v8}, Landroid/view/MotionEvent;->obtain(JJIFFI)Landroid/view/MotionEvent;
move-result-object p1
.line 2515
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->onTouchEvent(Landroid/view/MotionEvent;)Z
const/4 p1, 0x1
iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mIgnoreMotionEventTillDown:Z
.line 2518
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 1248
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setLayoutFrozen(Z)V
const/4 v0, 0x1
.line 1249
invoke-direct {p0, p1, v0, p2}, Landroidx/recyclerview/widget/RecyclerView;->setAdapterInternal(Landroidx/recyclerview/widget/RecyclerView$Adapter;ZZ)V
.line 1250
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->processDataSetCompletelyChanged(Z)V
.line 1251
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
return-void
.end method
.method viewRangeUpdate(IILjava/lang/Object;)V
.locals 6
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
.line 5167
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
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
.line 5171
invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View;
move-result-object v3
.line 5172
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 5173
invoke-virtual {v4}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
move-result v5
if-eqz v5, :cond_0
goto :goto_1
.line 5176
: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 5179
invoke-virtual {v4, v5}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->addFlags(I)V
.line 5180
invoke-virtual {v4, p3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->addChangePayload(Ljava/lang/Object;)V
.line 5182
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
:cond_2
iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
.line 5185
invoke-virtual {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->viewRangeUpdate(II)V
return-void
.end method