RecyclerView.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;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback;,
Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;,
Landroidx/recyclerview/widget/RecyclerView$ItemAnimatorRestoreListener;,
Landroidx/recyclerview/widget/RecyclerView$OnFlingListener;,
Landroidx/recyclerview/widget/RecyclerView$State;,
Landroidx/recyclerview/widget/RecyclerView$SavedState;,
Landroidx/recyclerview/widget/RecyclerView$AdapterDataObservable;,
Landroidx/recyclerview/widget/RecyclerView$SmoothScroller;,
Landroidx/recyclerview/widget/RecyclerView$AdapterDataObserver;,
Landroidx/recyclerview/widget/RecyclerView$LayoutParams;,
Landroidx/recyclerview/widget/RecyclerView$ViewHolder;,
Landroidx/recyclerview/widget/RecyclerView$OnChildAttachStateChangeListener;,
Landroidx/recyclerview/widget/RecyclerView$RecyclerListener;,
Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;,
Landroidx/recyclerview/widget/RecyclerView$SimpleOnItemTouchListener;,
Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;,
Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;,
Landroidx/recyclerview/widget/RecyclerView$LayoutManager;,
Landroidx/recyclerview/widget/RecyclerView$Adapter;,
Landroidx/recyclerview/widget/RecyclerView$ViewCacheExtension;,
Landroidx/recyclerview/widget/RecyclerView$Recycler;,
Landroidx/recyclerview/widget/RecyclerView$RecycledViewPool;,
Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;,
Landroidx/recyclerview/widget/RecyclerView$RecyclerViewDataObserver;,
Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;,
Landroidx/recyclerview/widget/RecyclerView$Orientation;
}
.end annotation
# static fields
.field public static final ALLOW_SIZE_IN_UNSPECIFIED_SPEC:Z
.field public static final ALLOW_THREAD_GAP_WORK:Z
.field public static final CLIP_TO_PADDING_ATTR:[I
.field public static final DEBUG:Z = false
.field public static final DEFAULT_ORIENTATION:I = 0x1
.field public static final DISPATCH_TEMP_DETACH:Z = false
.field public static final FORCE_ABS_FOCUS_SEARCH_DIRECTION:Z
.field public static final FORCE_INVALIDATE_DISPLAY_LIST:Z
.field public static final FOREVER_NS:J = 0x7fffffffffffffffL
.field public static final HORIZONTAL:I = 0x0
.field public static final IGNORE_DETACHED_FOCUSED_CHILD:Z
.field public static final INVALID_POINTER:I = -0x1
.field public static final INVALID_TYPE:I = -0x1
.field public static final LAYOUT_MANAGER_CONSTRUCTOR_SIGNATURE:[Ljava/lang/Class;
.annotation system Ldalvik/annotation/Signature;
value = {
"[",
"Ljava/lang/Class<",
"*>;"
}
.end annotation
.end field
.field public static final MAX_SCROLL_DURATION:I = 0x7d0
.field public static final NESTED_SCROLLING_ATTRS:[I
.field public static final NO_ID:J = -0x1L
.field public static final NO_POSITION:I = -0x1
.field public static final POST_UPDATES_ON_ANIMATION:Z
.field public static final SCROLL_STATE_DRAGGING:I = 0x1
.field public static final SCROLL_STATE_IDLE:I = 0x0
.field public static final SCROLL_STATE_SETTLING:I = 0x2
.field public static final TAG:Ljava/lang/String; = "RecyclerView"
.field public static final TOUCH_SLOP_DEFAULT:I = 0x0
.field public static final TOUCH_SLOP_PAGING:I = 0x1
.field public static final TRACE_BIND_VIEW_TAG:Ljava/lang/String; = "RV OnBindView"
.field public static final TRACE_CREATE_VIEW_TAG:Ljava/lang/String; = "RV CreateView"
.field public static final TRACE_HANDLE_ADAPTER_UPDATES_TAG:Ljava/lang/String; = "RV PartialInvalidate"
.field public static final TRACE_NESTED_PREFETCH_TAG:Ljava/lang/String; = "RV Nested Prefetch"
.field public static final TRACE_ON_DATA_SET_CHANGE_LAYOUT_TAG:Ljava/lang/String; = "RV FullInvalidate"
.field public static final TRACE_ON_LAYOUT_TAG:Ljava/lang/String; = "RV OnLayout"
.field public static final TRACE_PREFETCH_TAG:Ljava/lang/String; = "RV Prefetch"
.field public static final TRACE_SCROLL_TAG:Ljava/lang/String; = "RV Scroll"
.field public static final VERBOSE_TRACING:Z = false
.field public static final VERTICAL:I = 0x1
.field public static final sQuinticInterpolator:Landroid/view/animation/Interpolator;
# instance fields
.field public mAccessibilityDelegate:Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate;
.field public final mAccessibilityManager:Landroid/view/accessibility/AccessibilityManager;
.field public mActiveOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;
.field public mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
.field public mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
.field public mAdapterUpdateDuringMeasure:Z
.field public mBottomGlow:Landroid/widget/EdgeEffect;
.field public mChildDrawingOrderCallback:Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback;
.field public mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
.field public mClipToPadding:Z
.field public mDataSetHasChangedAfterLayout:Z
.field public mDispatchItemsChangedEvent:Z
.field public mDispatchScrollCounter:I
.field public mEatenAccessibilityChangeFlags:I
.field public mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end field
.field public mEnableFastScroller:Z
.field public mFirstLayoutComplete:Z
.annotation build Landroidx/annotation/VisibleForTesting;
.end annotation
.end field
.field public mGapWorker:Landroidx/recyclerview/widget/GapWorker;
.field public mHasFixedSize:Z
.field public mIgnoreMotionEventTillDown:Z
.field public mInitialTouchX:I
.field public mInitialTouchY:I
.field public mInterceptRequestLayoutDepth:I
.field public mIsAttached:Z
.field public mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
.field public mItemAnimatorListener:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemAnimatorListener;
.field public mItemAnimatorRunner:Ljava/lang/Runnable;
.field public final mItemDecorations:Ljava/util/ArrayList;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/ArrayList<",
"Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;",
">;"
}
.end annotation
.end field
.field public mItemsAddedOrRemoved:Z
.field public mItemsChanged:Z
.field public mLastTouchX:I
.field public mLastTouchY:I
.field public mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
.annotation build Landroidx/annotation/VisibleForTesting;
.end annotation
.end field
.field public mLayoutFrozen:Z
.field public mLayoutOrScrollCounter:I
.field public mLayoutWasDefered:Z
.field public mLeftGlow:Landroid/widget/EdgeEffect;
.field public final mMaxFlingVelocity:I
.field public final mMinFlingVelocity:I
.field public final mMinMaxLayoutPositions:[I
.field public final mNestedOffsets:[I
.field public final mObserver:Landroidx/recyclerview/widget/RecyclerView$RecyclerViewDataObserver;
.field public mOnChildAttachStateListeners:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Landroidx/recyclerview/widget/RecyclerView$OnChildAttachStateChangeListener;",
">;"
}
.end annotation
.end field
.field public mOnFlingListener:Landroidx/recyclerview/widget/RecyclerView$OnFlingListener;
.field public final mOnItemTouchListeners:Ljava/util/ArrayList;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/ArrayList<",
"Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;",
">;"
}
.end annotation
.end field
.field public final mPendingAccessibilityImportanceChange:Ljava/util/List;
.annotation build Landroidx/annotation/VisibleForTesting;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Landroidx/recyclerview/widget/RecyclerView$ViewHolder;",
">;"
}
.end annotation
.end field
.field public mPendingSavedState:Landroidx/recyclerview/widget/RecyclerView$SavedState;
.field public mPostedAnimatorRunner:Z
.field public mPrefetchRegistry:Landroidx/recyclerview/widget/GapWorker$LayoutPrefetchRegistryImpl;
.field public mPreserveFocusAfterLayout:Z
.field public final mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
.field public mRecyclerListener:Landroidx/recyclerview/widget/RecyclerView$RecyclerListener;
.field public mRightGlow:Landroid/widget/EdgeEffect;
.field public mScaledHorizontalScrollFactor:F
.field public mScaledVerticalScrollFactor:F
.field public final mScrollConsumed:[I
.field public mScrollListener:Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;
.field public mScrollListeners:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;",
">;"
}
.end annotation
.end field
.field public final mScrollOffset:[I
.field public mScrollPointerId:I
.field public mScrollState:I
.field public final mScrollStepConsumed:[I
.field public mScrollingChildHelper:Landroidx/core/view/NestedScrollingChildHelper;
.field public final mState:Landroidx/recyclerview/widget/RecyclerView$State;
.field public final mTempRect:Landroid/graphics/Rect;
.field public final mTempRect2:Landroid/graphics/Rect;
.field public final mTempRectF:Landroid/graphics/RectF;
.field public mTopGlow:Landroid/widget/EdgeEffect;
.field public mTouchSlop:I
.field public final mUpdateChildViewsRunnable:Ljava/lang/Runnable;
.field public mVelocityTracker:Landroid/view/VelocityTracker;
.field public final mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;
.field public final mViewInfoProcessCallback:Landroidx/recyclerview/widget/ViewInfoStore$ProcessCallback;
.field public final mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
# direct methods
.method public static constructor <clinit>()V
.registers 4
const/4 v0, 0x1
new-array v1, v0, [I
const v2, 0x1010436
const/4 v3, 0x0
aput v2, v1, v3
sput-object v1, Landroidx/recyclerview/widget/RecyclerView;->NESTED_SCROLLING_ATTRS:[I
new-array v1, v0, [I
const v2, 0x10100eb
aput v2, v1, v3
sput-object v1, Landroidx/recyclerview/widget/RecyclerView;->CLIP_TO_PADDING_ATTR:[I
sget v1, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v2, 0x12
if-eq v1, v2, :cond_25
const/16 v2, 0x13
if-eq v1, v2, :cond_25
const/16 v2, 0x14
if-ne v1, v2, :cond_23
goto :goto_25
:cond_23
const/4 v1, 0x0
goto :goto_26
:cond_25
:goto_25
const/4 v1, 0x1
:goto_26
sput-boolean v1, Landroidx/recyclerview/widget/RecyclerView;->FORCE_INVALIDATE_DISPLAY_LIST:Z
sget v1, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v2, 0x17
if-lt v1, v2, :cond_30
const/4 v1, 0x1
goto :goto_31
:cond_30
const/4 v1, 0x0
:goto_31
sput-boolean v1, Landroidx/recyclerview/widget/RecyclerView;->ALLOW_SIZE_IN_UNSPECIFIED_SPEC:Z
sget v1, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v2, 0x10
if-lt v1, v2, :cond_3b
const/4 v1, 0x1
goto :goto_3c
:cond_3b
const/4 v1, 0x0
:goto_3c
sput-boolean v1, Landroidx/recyclerview/widget/RecyclerView;->POST_UPDATES_ON_ANIMATION:Z
sget v1, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v2, 0x15
if-lt v1, v2, :cond_46
const/4 v1, 0x1
goto :goto_47
:cond_46
const/4 v1, 0x0
:goto_47
sput-boolean v1, Landroidx/recyclerview/widget/RecyclerView;->ALLOW_THREAD_GAP_WORK:Z
sget v1, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v2, 0xf
if-gt v1, v2, :cond_51
const/4 v1, 0x1
goto :goto_52
:cond_51
const/4 v1, 0x0
:goto_52
sput-boolean v1, Landroidx/recyclerview/widget/RecyclerView;->FORCE_ABS_FOCUS_SEARCH_DIRECTION:Z
sget v1, Landroid/os/Build$VERSION;->SDK_INT:I
if-gt v1, v2, :cond_5a
const/4 v1, 0x1
goto :goto_5b
:cond_5a
const/4 v1, 0x0
:goto_5b
sput-boolean v1, Landroidx/recyclerview/widget/RecyclerView;->IGNORE_DETACHED_FOCUSED_CHILD:Z
const/4 v1, 0x4
new-array v1, v1, [Ljava/lang/Class;
const-class v2, Landroid/content/Context;
aput-object v2, v1, v3
const-class v2, Landroid/util/AttributeSet;
aput-object v2, v1, v0
const/4 v0, 0x2
sget-object v2, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
aput-object v2, v1, v0
const/4 v0, 0x3
aput-object v2, v1, v0
sput-object v1, Landroidx/recyclerview/widget/RecyclerView;->LAYOUT_MANAGER_CONSTRUCTOR_SIGNATURE:[Ljava/lang/Class;
new-instance v0, Landroidx/recyclerview/widget/RecyclerView$3;
invoke-direct {v0}, Landroidx/recyclerview/widget/RecyclerView$3;-><init>()V
sput-object v0, Landroidx/recyclerview/widget/RecyclerView;->sQuinticInterpolator:Landroid/view/animation/Interpolator;
return-void
.end method
.method public constructor <init>(Landroid/content/Context;)V
.registers 3
.param p1 # Landroid/content/Context;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
const/4 v0, 0x0
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
.registers 4
.param p1 # Landroid/content/Context;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Landroid/util/AttributeSet;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
const/4 v0, 0x0
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
.registers 16
.param p1 # Landroid/content/Context;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Landroid/util/AttributeSet;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
invoke-direct {p0, p1, p2, p3}, Landroid/view/ViewGroup;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
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, p0, Landroidx/recyclerview/widget/RecyclerView;->mObserver:Landroidx/recyclerview/widget/RecyclerView$RecyclerViewDataObserver;
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, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
new-instance v0, Landroidx/recyclerview/widget/ViewInfoStore;
invoke-direct {v0}, Landroidx/recyclerview/widget/ViewInfoStore;-><init>()V
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
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, p0, Landroidx/recyclerview/widget/RecyclerView;->mUpdateChildViewsRunnable:Ljava/lang/Runnable;
new-instance v0, Landroid/graphics/Rect;
invoke-direct {v0}, Landroid/graphics/Rect;-><init>()V
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
new-instance v0, Landroid/graphics/Rect;
invoke-direct {v0}, Landroid/graphics/Rect;-><init>()V
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect;
new-instance v0, Landroid/graphics/RectF;
invoke-direct {v0}, Landroid/graphics/RectF;-><init>()V
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRectF:Landroid/graphics/RectF;
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList;
const/4 v0, 0x0
iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchItemsChangedEvent:Z
iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I
iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchScrollCounter:I
new-instance v1, Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;
invoke-direct {v1}, Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;-><init>()V
iput-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;
new-instance v1, Landroidx/recyclerview/widget/DefaultItemAnimator;
invoke-direct {v1}, Landroidx/recyclerview/widget/DefaultItemAnimator;-><init>()V
iput-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I
const/4 v1, -0x1
iput v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
const/4 v2, 0x1
iput v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mScaledHorizontalScrollFactor:F
iput v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mScaledVerticalScrollFactor:F
const/4 v2, 0x1
iput-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mPreserveFocusAfterLayout:Z
new-instance v3, Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;
invoke-direct {v3, p0}, Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
iput-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;
sget-boolean v3, Landroidx/recyclerview/widget/RecyclerView;->ALLOW_THREAD_GAP_WORK:Z
if-eqz v3, :cond_79
new-instance v3, Landroidx/recyclerview/widget/GapWorker$LayoutPrefetchRegistryImpl;
invoke-direct {v3}, Landroidx/recyclerview/widget/GapWorker$LayoutPrefetchRegistryImpl;-><init>()V
goto :goto_7a
:cond_79
const/4 v3, 0x0
:goto_7a
iput-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mPrefetchRegistry:Landroidx/recyclerview/widget/GapWorker$LayoutPrefetchRegistryImpl;
new-instance v3, Landroidx/recyclerview/widget/RecyclerView$State;
invoke-direct {v3}, Landroidx/recyclerview/widget/RecyclerView$State;-><init>()V
iput-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemsAddedOrRemoved:Z
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemsChanged:Z
new-instance v3, Landroidx/recyclerview/widget/RecyclerView$ItemAnimatorRestoreListener;
invoke-direct {v3, p0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimatorRestoreListener;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
iput-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimatorListener:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemAnimatorListener;
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPostedAnimatorRunner:Z
const/4 v3, 0x2
new-array v4, v3, [I
iput-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinMaxLayoutPositions:[I
new-array v4, v3, [I
iput-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I
new-array v4, v3, [I
iput-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollConsumed:[I
new-array v4, v3, [I
iput-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I
new-array v4, v3, [I
iput-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollStepConsumed:[I
new-instance v4, Ljava/util/ArrayList;
invoke-direct {v4}, Ljava/util/ArrayList;-><init>()V
iput-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingAccessibilityImportanceChange:Ljava/util/List;
new-instance v4, Landroidx/recyclerview/widget/RecyclerView$2;
invoke-direct {v4, p0}, Landroidx/recyclerview/widget/RecyclerView$2;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
iput-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimatorRunner:Ljava/lang/Runnable;
new-instance v4, Landroidx/recyclerview/widget/RecyclerView$4;
invoke-direct {v4, p0}, Landroidx/recyclerview/widget/RecyclerView$4;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
iput-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoProcessCallback:Landroidx/recyclerview/widget/ViewInfoStore$ProcessCallback;
if-eqz p2, :cond_cc
sget-object v4, Landroidx/recyclerview/widget/RecyclerView;->CLIP_TO_PADDING_ATTR:[I
invoke-virtual {p1, p2, v4, p3, v0}, Landroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray;
move-result-object v4
invoke-virtual {v4, v0, v2}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z
move-result v5
iput-boolean v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
invoke-virtual {v4}, Landroid/content/res/TypedArray;->recycle()V
goto :goto_ce
:cond_cc
iput-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
:goto_ce
invoke-virtual {p0, v2}, Landroid/view/ViewGroup;->setScrollContainer(Z)V
invoke-virtual {p0, v2}, Landroid/view/ViewGroup;->setFocusableInTouchMode(Z)V
invoke-static {p1}, Landroid/view/ViewConfiguration;->get(Landroid/content/Context;)Landroid/view/ViewConfiguration;
move-result-object v4
invoke-virtual {v4}, Landroid/view/ViewConfiguration;->getScaledTouchSlop()I
move-result v5
iput v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I
invoke-static {v4, p1}, Landroidx/core/view/ViewConfigurationCompat;->getScaledHorizontalScrollFactor(Landroid/view/ViewConfiguration;Landroid/content/Context;)F
move-result v5
iput v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mScaledHorizontalScrollFactor:F
invoke-static {v4, p1}, Landroidx/core/view/ViewConfigurationCompat;->getScaledVerticalScrollFactor(Landroid/view/ViewConfiguration;Landroid/content/Context;)F
move-result v5
iput v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mScaledVerticalScrollFactor:F
invoke-virtual {v4}, Landroid/view/ViewConfiguration;->getScaledMinimumFlingVelocity()I
move-result v5
iput v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinFlingVelocity:I
invoke-virtual {v4}, Landroid/view/ViewConfiguration;->getScaledMaximumFlingVelocity()I
move-result v4
iput v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mMaxFlingVelocity:I
invoke-virtual {p0}, Landroid/view/ViewGroup;->getOverScrollMode()I
move-result v4
if-ne v4, v3, :cond_fe
const/4 v3, 0x1
goto :goto_ff
:cond_fe
const/4 v3, 0x0
:goto_ff
invoke-virtual {p0, v3}, Landroid/view/ViewGroup;->setWillNotDraw(Z)V
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimatorListener:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemAnimatorListener;
invoke-virtual {v3, v4}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->setListener(Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemAnimatorListener;)V
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->initAdapterManager()V
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->initChildrenHelper()V
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->initAutofill()V
invoke-static {p0}, Landroidx/core/view/ViewCompat;->getImportantForAccessibility(Landroid/view/View;)I
move-result v3
if-nez v3, :cond_11b
invoke-static {p0, v2}, Landroidx/core/view/ViewCompat;->setImportantForAccessibility(Landroid/view/View;I)V
:cond_11b
invoke-virtual {p0}, Landroid/view/ViewGroup;->getContext()Landroid/content/Context;
move-result-object v3
const-string v4, "accessibility"
invoke-virtual {v3, v4}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v3
check-cast v3, Landroid/view/accessibility/AccessibilityManager;
iput-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mAccessibilityManager:Landroid/view/accessibility/AccessibilityManager;
new-instance v3, Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate;
invoke-direct {v3, p0}, Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
invoke-virtual {p0, v3}, Landroidx/recyclerview/widget/RecyclerView;->setAccessibilityDelegateCompat(Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate;)V
const/high16 v3, 0x40000
if-eqz p2, :cond_195
sget-object v4, Landroidx/recyclerview/R$styleable;->RecyclerView:[I
invoke-virtual {p1, p2, v4, p3, v0}, Landroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray;
move-result-object v4
sget v5, Landroidx/recyclerview/R$styleable;->RecyclerView_layoutManager:I
invoke-virtual {v4, v5}, Landroid/content/res/TypedArray;->getString(I)Ljava/lang/String;
move-result-object v8
sget v5, Landroidx/recyclerview/R$styleable;->RecyclerView_android_descendantFocusability:I
invoke-virtual {v4, v5, v1}, Landroid/content/res/TypedArray;->getInt(II)I
move-result v5
if-ne v5, v1, :cond_14c
invoke-virtual {p0, v3}, Landroid/view/ViewGroup;->setDescendantFocusability(I)V
:cond_14c
sget v1, Landroidx/recyclerview/R$styleable;->RecyclerView_fastScrollEnabled:I
invoke-virtual {v4, v1, v0}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z
move-result v1
iput-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mEnableFastScroller:Z
if-eqz v1, :cond_175
sget v1, Landroidx/recyclerview/R$styleable;->RecyclerView_fastScrollVerticalThumbDrawable:I
invoke-virtual {v4, v1}, Landroid/content/res/TypedArray;->getDrawable(I)Landroid/graphics/drawable/Drawable;
move-result-object v1
check-cast v1, Landroid/graphics/drawable/StateListDrawable;
sget v3, Landroidx/recyclerview/R$styleable;->RecyclerView_fastScrollVerticalTrackDrawable:I
invoke-virtual {v4, v3}, Landroid/content/res/TypedArray;->getDrawable(I)Landroid/graphics/drawable/Drawable;
move-result-object v3
sget v5, Landroidx/recyclerview/R$styleable;->RecyclerView_fastScrollHorizontalThumbDrawable:I
invoke-virtual {v4, v5}, Landroid/content/res/TypedArray;->getDrawable(I)Landroid/graphics/drawable/Drawable;
move-result-object v5
check-cast v5, Landroid/graphics/drawable/StateListDrawable;
sget v6, Landroidx/recyclerview/R$styleable;->RecyclerView_fastScrollHorizontalTrackDrawable:I
invoke-virtual {v4, v6}, Landroid/content/res/TypedArray;->getDrawable(I)Landroid/graphics/drawable/Drawable;
move-result-object v6
invoke-virtual {p0, v1, v3, v5, v6}, Landroidx/recyclerview/widget/RecyclerView;->initFastScroller(Landroid/graphics/drawable/StateListDrawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/StateListDrawable;Landroid/graphics/drawable/Drawable;)V
:cond_175
invoke-virtual {v4}, Landroid/content/res/TypedArray;->recycle()V
const/4 v11, 0x0
move-object v6, p0
move-object v7, p1
move-object v9, p2
move v10, p3
invoke-direct/range {v6 .. v11}, Landroidx/recyclerview/widget/RecyclerView;->createLayoutManager(Landroid/content/Context;Ljava/lang/String;Landroid/util/AttributeSet;II)V
sget v1, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v3, 0x15
if-lt v1, v3, :cond_198
sget-object v1, Landroidx/recyclerview/widget/RecyclerView;->NESTED_SCROLLING_ATTRS:[I
invoke-virtual {p1, p2, v1, p3, v0}, Landroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray;
move-result-object p1
invoke-virtual {p1, v0, v2}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z
move-result p2
invoke-virtual {p1}, Landroid/content/res/TypedArray;->recycle()V
move v2, p2
goto :goto_198
:cond_195
invoke-virtual {p0, v3}, Landroid/view/ViewGroup;->setDescendantFocusability(I)V
:cond_198
:goto_198
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->setNestedScrollingEnabled(Z)V
return-void
.end method
.method public static synthetic access$000(Landroidx/recyclerview/widget/RecyclerView;Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V
.registers 4
invoke-virtual {p0, p1, p2, p3}, Landroid/view/ViewGroup;->attachViewToParent(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V
return-void
.end method
.method public static synthetic access$100(Landroidx/recyclerview/widget/RecyclerView;I)V
.registers 2
invoke-virtual {p0, p1}, Landroid/view/ViewGroup;->detachViewFromParent(I)V
return-void
.end method
.method public static synthetic access$200(Landroidx/recyclerview/widget/RecyclerView;)Z
.registers 1
invoke-virtual {p0}, Landroid/view/ViewGroup;->awakenScrollBars()Z
move-result p0
return p0
.end method
.method public static synthetic access$300(Landroidx/recyclerview/widget/RecyclerView;II)V
.registers 3
invoke-virtual {p0, p1, p2}, Landroid/view/ViewGroup;->setMeasuredDimension(II)V
return-void
.end method
.method private addAnimatingView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
.registers 7
iget-object v0, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
invoke-virtual {v0}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
move-result-object v1
const/4 v2, 0x1
if-ne v1, p0, :cond_b
const/4 v1, 0x1
goto :goto_c
:cond_b
const/4 v1, 0x0
:goto_c
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolder(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v4
invoke-virtual {v3, v4}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->unscrapView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isTmpDetached()Z
move-result p1
if-eqz p1, :cond_26
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
const/4 v1, -0x1
invoke-virtual {v0}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
move-result-object v3
invoke-virtual {p1, v0, v1, v3, v2}, Landroidx/recyclerview/widget/ChildHelper;->attachViewToParent(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;Z)V
goto :goto_33
:cond_26
if-nez v1, :cond_2e
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {p1, v0, v2}, Landroidx/recyclerview/widget/ChildHelper;->addView(Landroid/view/View;Z)V
goto :goto_33
:cond_2e
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/ChildHelper;->hide(Landroid/view/View;)V
:goto_33
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
.registers 8
.param p1 # Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p3 # Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p4 # Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
const/4 v0, 0x0
invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->setIsRecyclable(Z)V
if-eqz p5, :cond_9
invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->addAnimatingView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
:cond_9
if-eq p1, p2, :cond_1f
if-eqz p6, :cond_10
invoke-direct {p0, p2}, Landroidx/recyclerview/widget/RecyclerView;->addAnimatingView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
:cond_10
iput-object p2, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mShadowedHolder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
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;
invoke-virtual {p5, p1}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->unscrapView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
invoke-virtual {p2, v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->setIsRecyclable(Z)V
iput-object p1, p2, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mShadowingHolder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
:cond_1f
iget-object p5, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
invoke-virtual {p5, p1, p2, p3, p4}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->animateChange(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)Z
move-result p1
if-eqz p1, :cond_2a
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->postAnimationRunner()V
:cond_2a
return-void
.end method
.method private cancelTouch()V
.registers 2
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->resetTouch()V
const/4 v0, 0x0
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V
return-void
.end method
.method public static clearNestedRecyclerViewIfNotNested(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
.registers 4
.param p0 # Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mNestedRecyclerView:Ljava/lang/ref/WeakReference;
if-eqz v0, :cond_21
invoke-virtual {v0}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/view/View;
:goto_a
const/4 v1, 0x0
if-eqz v0, :cond_1f
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
if-ne v0, v2, :cond_12
return-void
:cond_12
invoke-virtual {v0}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
move-result-object v0
instance-of v2, v0, Landroid/view/View;
if-eqz v2, :cond_1d
check-cast v0, Landroid/view/View;
goto :goto_a
:cond_1d
move-object v0, v1
goto :goto_a
:cond_1f
iput-object v1, p0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mNestedRecyclerView:Ljava/lang/ref/WeakReference;
:cond_21
return-void
.end method
.method private createLayoutManager(Landroid/content/Context;Ljava/lang/String;Landroid/util/AttributeSet;II)V
.registers 13
const-string v0, ": Could not instantiate the LayoutManager: "
if-eqz p2, :cond_11d
invoke-virtual {p2}, Ljava/lang/String;->trim()Ljava/lang/String;
move-result-object p2
invoke-virtual {p2}, Ljava/lang/String;->isEmpty()Z
move-result v1
if-nez v1, :cond_11d
invoke-direct {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->getFullClassName(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
move-result-object p2
:try_start_12
invoke-virtual {p0}, Landroid/view/ViewGroup;->isInEditMode()Z
move-result v1
if-eqz v1, :cond_21
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_25
:cond_21
invoke-virtual {p1}, Landroid/content/Context;->getClassLoader()Ljava/lang/ClassLoader;
move-result-object v1
:goto_25
invoke-virtual {v1, p2}, Ljava/lang/ClassLoader;->loadClass(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v1
const-class v2, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v1, v2}, Ljava/lang/Class;->asSubclass(Ljava/lang/Class;)Ljava/lang/Class;
move-result-object v1
:try_end_2f
.catch Ljava/lang/ClassNotFoundException; {:try_start_12 .. :try_end_2f} :catch_fe
.catch Ljava/lang/reflect/InvocationTargetException; {:try_start_12 .. :try_end_2f} :catch_e1
.catch Ljava/lang/InstantiationException; {:try_start_12 .. :try_end_2f} :catch_c4
.catch Ljava/lang/IllegalAccessException; {:try_start_12 .. :try_end_2f} :catch_a5
.catch Ljava/lang/ClassCastException; {:try_start_12 .. :try_end_2f} :catch_86
const/4 v2, 0x0
const/4 v3, 0x1
const/4 v4, 0x0
:try_start_32
sget-object v5, Landroidx/recyclerview/widget/RecyclerView;->LAYOUT_MANAGER_CONSTRUCTOR_SIGNATURE:[Ljava/lang/Class;
invoke-virtual {v1, v5}, Ljava/lang/Class;->getConstructor([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
move-result-object v5
const/4 v6, 0x4
new-array v6, v6, [Ljava/lang/Object;
aput-object p1, v6, v4
aput-object p3, v6, v3
const/4 p1, 0x2
invoke-static {p4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p4
aput-object p4, v6, p1
const/4 p1, 0x3
invoke-static {p5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p4
aput-object p4, v6, p1
:try_end_4d
.catch Ljava/lang/NoSuchMethodException; {:try_start_32 .. :try_end_4d} :catch_4f
.catch Ljava/lang/ClassNotFoundException; {:try_start_32 .. :try_end_4d} :catch_fe
.catch Ljava/lang/reflect/InvocationTargetException; {:try_start_32 .. :try_end_4d} :catch_e1
.catch Ljava/lang/InstantiationException; {:try_start_32 .. :try_end_4d} :catch_c4
.catch Ljava/lang/IllegalAccessException; {:try_start_32 .. :try_end_4d} :catch_a5
.catch Ljava/lang/ClassCastException; {:try_start_32 .. :try_end_4d} :catch_86
move-object v2, v6
goto :goto_56
:catch_4f
move-exception p1
:try_start_50
new-array p4, v4, [Ljava/lang/Class;
invoke-virtual {v1, p4}, Ljava/lang/Class;->getConstructor([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
move-result-object v5
:try_end_56
.catch Ljava/lang/NoSuchMethodException; {:try_start_50 .. :try_end_56} :catch_64
.catch Ljava/lang/ClassNotFoundException; {:try_start_50 .. :try_end_56} :catch_fe
.catch Ljava/lang/reflect/InvocationTargetException; {:try_start_50 .. :try_end_56} :catch_e1
.catch Ljava/lang/InstantiationException; {:try_start_50 .. :try_end_56} :catch_c4
.catch Ljava/lang/IllegalAccessException; {:try_start_50 .. :try_end_56} :catch_a5
.catch Ljava/lang/ClassCastException; {:try_start_50 .. :try_end_56} :catch_86
:goto_56
:try_start_56
invoke-virtual {v5, v3}, Ljava/lang/reflect/Constructor;->setAccessible(Z)V
invoke-virtual {v5, v2}, 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_11d
:catch_64
move-exception p4
invoke-virtual {p4, p1}, Ljava/lang/NoSuchMethodException;->initCause(Ljava/lang/Throwable;)Ljava/lang/Throwable;
new-instance p1, Ljava/lang/IllegalStateException;
new-instance p5, Ljava/lang/StringBuilder;
invoke-direct {p5}, Ljava/lang/StringBuilder;-><init>()V
invoke-interface {p3}, Landroid/util/AttributeSet;->getPositionDescription()Ljava/lang/String;
move-result-object v1
invoke-virtual {p5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, ": Error creating LayoutManager "
invoke-virtual {p5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p5, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p5
invoke-direct {p1, p5, p4}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw p1
:try_end_86
.catch Ljava/lang/ClassNotFoundException; {:try_start_56 .. :try_end_86} :catch_fe
.catch Ljava/lang/reflect/InvocationTargetException; {:try_start_56 .. :try_end_86} :catch_e1
.catch Ljava/lang/InstantiationException; {:try_start_56 .. :try_end_86} :catch_c4
.catch Ljava/lang/IllegalAccessException; {:try_start_56 .. :try_end_86} :catch_a5
.catch Ljava/lang/ClassCastException; {:try_start_56 .. :try_end_86} :catch_86
:catch_86
move-exception p1
new-instance p4, Ljava/lang/IllegalStateException;
new-instance p5, Ljava/lang/StringBuilder;
invoke-direct {p5}, Ljava/lang/StringBuilder;-><init>()V
invoke-interface {p3}, Landroid/util/AttributeSet;->getPositionDescription()Ljava/lang/String;
move-result-object p3
invoke-virtual {p5, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p3, ": Class is not a LayoutManager "
invoke-virtual {p5, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p5, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-direct {p4, p2, p1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw p4
:catch_a5
move-exception p1
new-instance p4, Ljava/lang/IllegalStateException;
new-instance p5, Ljava/lang/StringBuilder;
invoke-direct {p5}, Ljava/lang/StringBuilder;-><init>()V
invoke-interface {p3}, Landroid/util/AttributeSet;->getPositionDescription()Ljava/lang/String;
move-result-object p3
invoke-virtual {p5, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p3, ": Cannot access non-public constructor "
invoke-virtual {p5, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p5, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-direct {p4, p2, p1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw p4
:catch_c4
move-exception p1
new-instance p4, Ljava/lang/IllegalStateException;
new-instance p5, Ljava/lang/StringBuilder;
invoke-direct {p5}, Ljava/lang/StringBuilder;-><init>()V
invoke-interface {p3}, Landroid/util/AttributeSet;->getPositionDescription()Ljava/lang/String;
move-result-object p3
invoke-virtual {p5, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p5, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p5, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-direct {p4, p2, p1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw p4
:catch_e1
move-exception p1
new-instance p4, Ljava/lang/IllegalStateException;
new-instance p5, Ljava/lang/StringBuilder;
invoke-direct {p5}, Ljava/lang/StringBuilder;-><init>()V
invoke-interface {p3}, Landroid/util/AttributeSet;->getPositionDescription()Ljava/lang/String;
move-result-object p3
invoke-virtual {p5, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p5, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p5, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-direct {p4, p2, p1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw p4
:catch_fe
move-exception p1
new-instance p4, Ljava/lang/IllegalStateException;
new-instance p5, Ljava/lang/StringBuilder;
invoke-direct {p5}, Ljava/lang/StringBuilder;-><init>()V
invoke-interface {p3}, Landroid/util/AttributeSet;->getPositionDescription()Ljava/lang/String;
move-result-object p3
invoke-virtual {p5, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p3, ": Unable to find LayoutManager "
invoke-virtual {p5, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p5, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-direct {p4, p2, p1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw p4
:cond_11d
:goto_11d
return-void
.end method
.method private didChildRangeChange(II)Z
.registers 7
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinMaxLayoutPositions:[I
invoke-direct {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->findMinMaxChildLayoutPositions([I)V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinMaxLayoutPositions:[I
const/4 v1, 0x0
aget v2, v0, v1
const/4 v3, 0x1
if-ne v2, p1, :cond_11
aget p1, v0, v3
if-eq p1, p2, :cond_12
:cond_11
const/4 v1, 0x1
:cond_12
return v1
.end method
.method private dispatchContentChangedIfNecessary()V
.registers 4
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_1c
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isAccessibilityEnabled()Z
move-result v1
if-eqz v1, :cond_1c
invoke-static {}, Landroid/view/accessibility/AccessibilityEvent;->obtain()Landroid/view/accessibility/AccessibilityEvent;
move-result-object v1
const/16 v2, 0x800
invoke-virtual {v1, v2}, Landroid/view/accessibility/AccessibilityEvent;->setEventType(I)V
invoke-static {v1, v0}, Landroidx/core/view/accessibility/AccessibilityEventCompat;->setContentChangeTypes(Landroid/view/accessibility/AccessibilityEvent;I)V
invoke-virtual {p0, v1}, Landroidx/recyclerview/widget/RecyclerView;->sendAccessibilityEventUnchecked(Landroid/view/accessibility/AccessibilityEvent;)V
:cond_1c
return-void
.end method
.method private dispatchLayoutStep1()V
.registers 9
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
const/4 v1, 0x1
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$State;->assertLayoutStep(I)V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->fillRemainingScrollValues(Landroidx/recyclerview/widget/RecyclerView$State;)V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
const/4 v2, 0x0
iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mIsMeasuring:Z
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
invoke-virtual {v0}, Landroidx/recyclerview/widget/ViewInfoStore;->clear()V
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->processAdapterUpdatesAndSetAnimationFlags()V
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->saveFocusInfo()V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iget-boolean v3, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunSimpleAnimations:Z
if-eqz v3, :cond_2c
iget-boolean v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemsChanged:Z
if-eqz v3, :cond_2c
goto :goto_2d
:cond_2c
const/4 v1, 0x0
:goto_2d
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;
iget-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunPredictiveAnimations:Z
iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mInPreLayout:Z
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->getItemCount()I
move-result v1
iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mItemCount:I
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinMaxLayoutPositions:[I
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;
iget-boolean v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunSimpleAnimations:Z
if-eqz v0, :cond_b3
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I
move-result v0
const/4 v1, 0x0
:goto_53
if-ge v1, v0, :cond_b3
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v3, v1}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View;
move-result-object v3
invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v3
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
move-result v4
if-nez v4, :cond_b0
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isInvalid()Z
move-result v4
if-eqz v4, :cond_74
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_74
goto :goto_b0
:cond_74
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;
invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->buildAdapterChangeFlagsForAnimations(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)I
move-result v6
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getUnmodifiedPayloads()Ljava/util/List;
move-result-object v7
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;
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;
iget-boolean v4, v4, Landroidx/recyclerview/widget/RecyclerView$State;->mTrackOldChangeHolders:Z
if-eqz v4, :cond_b0
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isUpdated()Z
move-result v4
if-eqz v4, :cond_b0
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isRemoved()Z
move-result v4
if-nez v4, :cond_b0
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
move-result v4
if-nez v4, :cond_b0
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isInvalid()Z
move-result v4
if-nez v4, :cond_b0
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;
invoke-virtual {v6, v4, v5, v3}, Landroidx/recyclerview/widget/ViewInfoStore;->addToOldChangeHolders(JLandroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
:cond_b0
:goto_b0
add-int/lit8 v1, v1, 0x1
goto :goto_53
:cond_b3
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iget-boolean v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunPredictiveAnimations:Z
if-eqz v0, :cond_11b
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->saveOldPositions()V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iget-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z
iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v3, v4, v0}, 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;
iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z
const/4 v0, 0x0
:goto_ce
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v1}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I
move-result v1
if-ge v0, v1, :cond_117
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v1, v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View;
move-result-object v1
invoke-static {v1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v1
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
move-result v3
if-eqz v3, :cond_e7
goto :goto_114
:cond_e7
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
invoke-virtual {v3, v1}, Landroidx/recyclerview/widget/ViewInfoStore;->isInPreLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Z
move-result v3
if-nez v3, :cond_114
invoke-static {v1}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->buildAdapterChangeFlagsForAnimations(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)I
move-result v3
const/16 v4, 0x2000
invoke-virtual {v1, v4}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->hasAnyOfTheFlags(I)Z
move-result v4
if-nez v4, :cond_fd
or-int/lit16 v3, v3, 0x1000
:cond_fd
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;
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getUnmodifiedPayloads()Ljava/util/List;
move-result-object v7
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_10f
invoke-virtual {p0, v1, v3}, Landroidx/recyclerview/widget/RecyclerView;->recordAnimationInfoIfBouncedHiddenView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V
goto :goto_114
:cond_10f
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
invoke-virtual {v4, v1, v3}, Landroidx/recyclerview/widget/ViewInfoStore;->addToAppearedInPreLayoutHolders(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V
:cond_114
:goto_114
add-int/lit8 v0, v0, 0x1
goto :goto_ce
:cond_117
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->clearOldPositions()V
goto :goto_11e
:cond_11b
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->clearOldPositions()V
:goto_11e
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
const/4 v1, 0x2
iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mLayoutStep:I
return-void
.end method
.method private dispatchLayoutStep2()V
.registers 5
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
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
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;
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;
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
iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mDeletedInvisibleItemCountSincePreviousLayout:I
iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mInPreLayout:Z
iget-object v2, 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;
invoke-virtual {v2, v3, v0}, 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;
iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z
const/4 v2, 0x0
iput-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingSavedState:Landroidx/recyclerview/widget/RecyclerView$SavedState;
iget-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunSimpleAnimations:Z
if-eqz v2, :cond_3a
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
if-eqz v2, :cond_3a
const/4 v2, 0x1
goto :goto_3b
:cond_3a
const/4 v2, 0x0
:goto_3b
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
iput v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mLayoutStep:I
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V
invoke-virtual {p0, v1}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
return-void
.end method
.method private dispatchLayoutStep3()V
.registers 12
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
const/4 v1, 0x4
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$State;->assertLayoutStep(I)V
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
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
iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mLayoutStep:I
iget-boolean v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunSimpleAnimations:Z
if-eqz v0, :cond_8d
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I
move-result v0
sub-int/2addr v0, v1
:goto_1c
if-ltz v0, :cond_86
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v2, v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View;
move-result-object v2
invoke-static {v2}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v5
invoke-virtual {v5}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
move-result v2
if-eqz v2, :cond_2f
goto :goto_83
:cond_2f
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;
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;
invoke-virtual {v6, v2, v3}, Landroidx/recyclerview/widget/ViewInfoStore;->getFromOldChangeHolders(J)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v6
if-eqz v6, :cond_7e
invoke-virtual {v6}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
move-result v7
if-nez v7, :cond_7e
iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
invoke-virtual {v7, v6}, Landroidx/recyclerview/widget/ViewInfoStore;->isDisappearing(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Z
move-result v8
iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
invoke-virtual {v7, v5}, Landroidx/recyclerview/widget/ViewInfoStore;->isDisappearing(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Z
move-result v9
if-eqz v8, :cond_5f
if-ne v6, v5, :cond_5f
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
invoke-virtual {v2, v5, v4}, Landroidx/recyclerview/widget/ViewInfoStore;->addToPostLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V
goto :goto_83
:cond_5f
iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
invoke-virtual {v7, v6}, Landroidx/recyclerview/widget/ViewInfoStore;->popFromPreLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;
move-result-object v7
iget-object v10, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
invoke-virtual {v10, v5, v4}, Landroidx/recyclerview/widget/ViewInfoStore;->addToPostLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
invoke-virtual {v4, v5}, Landroidx/recyclerview/widget/ViewInfoStore;->popFromPostLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;
move-result-object v10
if-nez v7, :cond_76
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_83
:cond_76
move-object v3, p0
move-object v4, v6
move-object v6, v7
move-object v7, v10
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_83
:cond_7e
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
invoke-virtual {v2, v5, v4}, Landroidx/recyclerview/widget/ViewInfoStore;->addToPostLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V
:goto_83
add-int/lit8 v0, v0, -0x1
goto :goto_1c
:cond_86
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoProcessCallback:Landroidx/recyclerview/widget/ViewInfoStore$ProcessCallback;
invoke-virtual {v0, v2}, Landroidx/recyclerview/widget/ViewInfoStore;->process(Landroidx/recyclerview/widget/ViewInfoStore$ProcessCallback;)V
:cond_8d
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v0, v2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->removeAndRecycleScrapInt(Landroidx/recyclerview/widget/RecyclerView$Recycler;)V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iget v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mItemCount:I
iput v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mPreviousLayoutItemCount:I
const/4 v2, 0x0
iput-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z
iput-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchItemsChangedEvent:Z
iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunSimpleAnimations:Z
iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunPredictiveAnimations:Z
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mRequestedSimpleAnimations:Z
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
iget-object v0, v0, Landroidx/recyclerview/widget/RecyclerView$Recycler;->mChangedScrap:Ljava/util/ArrayList;
if-eqz v0, :cond_b0
invoke-virtual {v0}, Ljava/util/ArrayList;->clear()V
:cond_b0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget-boolean v3, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mPrefetchMaxObservedInInitialPrefetch:Z
if-eqz v3, :cond_bf
iput v2, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mPrefetchMaxCountObserved:I
iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mPrefetchMaxObservedInInitialPrefetch:Z
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->updateViewCacheSize()V
:cond_bf
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {v0, v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onLayoutCompleted(Landroidx/recyclerview/widget/RecyclerView$State;)V
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
invoke-virtual {v0}, Landroidx/recyclerview/widget/ViewInfoStore;->clear()V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinMaxLayoutPositions:[I
aget v3, v0, v2
aget v0, v0, v1
invoke-direct {p0, v3, v0}, Landroidx/recyclerview/widget/RecyclerView;->didChildRangeChange(II)Z
move-result v0
if-eqz v0, :cond_e0
invoke-virtual {p0, v2, v2}, Landroidx/recyclerview/widget/RecyclerView;->dispatchOnScrolled(II)V
:cond_e0
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->recoverFocusFromState()V
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->resetFocusInfo()V
return-void
.end method
.method private dispatchOnItemTouch(Landroid/view/MotionEvent;)Z
.registers 8
invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I
move-result v0
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mActiveOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;
const/4 v2, 0x1
if-eqz v1, :cond_1a
const/4 v3, 0x0
if-nez v0, :cond_f
iput-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mActiveOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;
goto :goto_1a
:cond_f
invoke-interface {v1, p0, p1}, Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;->onTouchEvent(Landroidx/recyclerview/widget/RecyclerView;Landroid/view/MotionEvent;)V
const/4 p1, 0x3
if-eq v0, p1, :cond_17
if-ne v0, v2, :cond_19
:cond_17
iput-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mActiveOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;
:cond_19
return v2
:cond_1a
:goto_1a
const/4 v1, 0x0
if-eqz v0, :cond_3a
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
move-result v0
const/4 v3, 0x0
:goto_24
if-ge v3, v0, :cond_3a
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList;
invoke-virtual {v4, v3}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v4
check-cast v4, Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;
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_37
iput-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mActiveOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;
return v2
:cond_37
add-int/lit8 v3, v3, 0x1
goto :goto_24
:cond_3a
return v1
.end method
.method private dispatchOnItemTouchIntercept(Landroid/view/MotionEvent;)Z
.registers 9
invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I
move-result v0
const/4 v1, 0x3
if-eq v0, v1, :cond_9
if-nez v0, :cond_c
:cond_9
const/4 v2, 0x0
iput-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mActiveOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;
:cond_c
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList;
invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
move-result v2
const/4 v3, 0x0
const/4 v4, 0x0
:goto_14
if-ge v4, v2, :cond_2d
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList;
invoke-virtual {v5, v4}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v5
check-cast v5, Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;
invoke-interface {v5, p0, p1}, Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;->onInterceptTouchEvent(Landroidx/recyclerview/widget/RecyclerView;Landroid/view/MotionEvent;)Z
move-result v6
if-eqz v6, :cond_2a
if-eq v0, v1, :cond_2a
iput-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mActiveOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;
const/4 p1, 0x1
return p1
:cond_2a
add-int/lit8 v4, v4, 0x1
goto :goto_14
:cond_2d
return v3
.end method
.method private findMinMaxChildLayoutPositions([I)V
.registers 10
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I
move-result v0
const/4 v1, 0x1
const/4 v2, 0x0
if-nez v0, :cond_10
const/4 v0, -0x1
aput v0, p1, v2
aput v0, p1, v1
return-void
:cond_10
const v3, 0x7fffffff
const/high16 v4, -0x80000000
const/4 v5, 0x0
:goto_16
if-ge v5, v0, :cond_36
iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v6, v5}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View;
move-result-object v6
invoke-static {v6}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v6
invoke-virtual {v6}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
move-result v7
if-eqz v7, :cond_29
goto :goto_33
:cond_29
invoke-virtual {v6}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getLayoutPosition()I
move-result v6
if-ge v6, v3, :cond_30
move v3, v6
:cond_30
if-le v6, v4, :cond_33
move v4, v6
:cond_33
:goto_33
add-int/lit8 v5, v5, 0x1
goto :goto_16
:cond_36
aput v3, p1, v2
aput v4, p1, v1
return-void
.end method
.method public static findNestedRecyclerView(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView;
.registers 5
.param p0 # Landroid/view/View;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/Nullable;
.end annotation
instance-of v0, p0, Landroid/view/ViewGroup;
const/4 v1, 0x0
if-nez v0, :cond_6
return-object v1
:cond_6
instance-of v0, p0, Landroidx/recyclerview/widget/RecyclerView;
if-eqz v0, :cond_d
check-cast p0, Landroidx/recyclerview/widget/RecyclerView;
return-object p0
:cond_d
check-cast p0, Landroid/view/ViewGroup;
invoke-virtual {p0}, Landroid/view/ViewGroup;->getChildCount()I
move-result v0
const/4 v2, 0x0
:goto_14
if-ge v2, v0, :cond_24
invoke-virtual {p0, v2}, Landroid/view/ViewGroup;->getChildAt(I)Landroid/view/View;
move-result-object v3
invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->findNestedRecyclerView(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView;
move-result-object v3
if-eqz v3, :cond_21
return-object v3
:cond_21
add-int/lit8 v2, v2, 0x1
goto :goto_14
:cond_24
return-object v1
.end method
.method private findNextViewToFocus()Landroid/view/View;
.registers 6
.annotation build Landroidx/annotation/Nullable;
.end annotation
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iget v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemPosition:I
const/4 v1, -0x1
if-eq v0, v1, :cond_8
goto :goto_9
:cond_8
const/4 v0, 0x0
:goto_9
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$State;->getItemCount()I
move-result v1
move v2, v0
:goto_10
if-ge v2, v1, :cond_27
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->findViewHolderForAdapterPosition(I)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v3
if-nez v3, :cond_19
goto :goto_27
:cond_19
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_24
iget-object v0, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
return-object v0
:cond_24
add-int/lit8 v2, v2, 0x1
goto :goto_10
:cond_27
:goto_27
invoke-static {v1, v0}, Ljava/lang/Math;->min(II)I
move-result v0
add-int/lit8 v0, v0, -0x1
:goto_2d
const/4 v1, 0x0
if-ltz v0, :cond_45
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->findViewHolderForAdapterPosition(I)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v2
if-nez v2, :cond_37
return-object v1
:cond_37
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_42
iget-object v0, v2, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
return-object v0
:cond_42
add-int/lit8 v0, v0, -0x1
goto :goto_2d
:cond_45
return-object v1
.end method
.method public static getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.registers 1
if-nez p0, :cond_4
const/4 p0, 0x0
return-object p0
:cond_4
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 public static getDecoratedBoundsWithMarginsInt(Landroid/view/View;Landroid/graphics/Rect;)V
.registers 8
invoke-virtual {p0}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
move-result-object v0
check-cast v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
iget-object v1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mDecorInsets:Landroid/graphics/Rect;
invoke-virtual {p0}, Landroid/view/View;->getLeft()I
move-result v2
iget v3, v1, Landroid/graphics/Rect;->left:I
sub-int/2addr v2, v3
iget v3, v0, Landroid/view/ViewGroup$MarginLayoutParams;->leftMargin:I
sub-int/2addr v2, v3
invoke-virtual {p0}, Landroid/view/View;->getTop()I
move-result v3
iget v4, v1, Landroid/graphics/Rect;->top:I
sub-int/2addr v3, v4
iget v4, v0, Landroid/view/ViewGroup$MarginLayoutParams;->topMargin:I
sub-int/2addr v3, v4
invoke-virtual {p0}, Landroid/view/View;->getRight()I
move-result v4
iget v5, v1, Landroid/graphics/Rect;->right:I
add-int/2addr v4, v5
iget v5, v0, Landroid/view/ViewGroup$MarginLayoutParams;->rightMargin:I
add-int/2addr v4, v5
invoke-virtual {p0}, Landroid/view/View;->getBottom()I
move-result p0
iget v1, v1, Landroid/graphics/Rect;->bottom:I
add-int/2addr p0, v1
iget v0, v0, Landroid/view/ViewGroup$MarginLayoutParams;->bottomMargin:I
add-int/2addr p0, v0
invoke-virtual {p1, v2, v3, v4, p0}, Landroid/graphics/Rect;->set(IIII)V
return-void
.end method
.method private getDeepestFocusedViewWithId(Landroid/view/View;)I
.registers 5
invoke-virtual {p1}, Landroid/view/View;->getId()I
move-result v0
:cond_4
:goto_4
invoke-virtual {p1}, Landroid/view/View;->isFocused()Z
move-result v1
if-nez v1, :cond_26
instance-of v1, p1, Landroid/view/ViewGroup;
if-eqz v1, :cond_26
invoke-virtual {p1}, Landroid/view/View;->hasFocus()Z
move-result v1
if-eqz v1, :cond_26
check-cast p1, Landroid/view/ViewGroup;
invoke-virtual {p1}, Landroid/view/ViewGroup;->getFocusedChild()Landroid/view/View;
move-result-object p1
invoke-virtual {p1}, Landroid/view/View;->getId()I
move-result v1
const/4 v2, -0x1
if-eq v1, v2, :cond_4
invoke-virtual {p1}, Landroid/view/View;->getId()I
move-result v0
goto :goto_4
:cond_26
return v0
.end method
.method private getFullClassName(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
.registers 5
const/4 v0, 0x0
invoke-virtual {p2, v0}, Ljava/lang/String;->charAt(I)C
move-result v0
const/16 v1, 0x2e
if-ne v0, v1, :cond_1d
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object p1
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
return-object p1
:cond_1d
const-string p1, "."
invoke-virtual {p2, p1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result p1
if-eqz p1, :cond_26
return-object p2
:cond_26
new-instance p1, Ljava/lang/StringBuilder;
invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V
const-class v0, Landroidx/recyclerview/widget/RecyclerView;
invoke-virtual {v0}, Ljava/lang/Class;->getPackage()Ljava/lang/Package;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Package;->getName()Ljava/lang/String;
move-result-object v0
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
return-object p1
.end method
.method private getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
.registers 2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollingChildHelper:Landroidx/core/view/NestedScrollingChildHelper;
if-nez v0, :cond_b
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_b
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollingChildHelper:Landroidx/core/view/NestedScrollingChildHelper;
return-object v0
.end method
.method private handleMissingPreInfoForChangeError(JLandroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
.registers 11
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I
move-result v0
const/4 v1, 0x0
:goto_7
if-ge v1, v0, :cond_75
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View;
move-result-object v2
invoke-static {v2}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v2
if-ne v2, p3, :cond_16
goto :goto_72
:cond_16
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->getChangedHolderKey(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)J
move-result-wide v3
cmp-long v5, v3, p1
if-nez v5, :cond_72
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_4e
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z
move-result p1
if-eqz p1, :cond_4e
new-instance p1, Ljava/lang/IllegalStateException;
new-instance p4, Ljava/lang/StringBuilder;
invoke-direct {p4}, Ljava/lang/StringBuilder;-><init>()V
const-string v0, "Two different ViewHolders have the same stable ID. Stable IDs in your adapter MUST BE unique and SHOULD NOT change.\n ViewHolder 1:"
invoke-virtual {p4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {p4, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p4, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String;
move-result-object p2
invoke-virtual {p4, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
:cond_4e
new-instance p1, Ljava/lang/IllegalStateException;
new-instance p4, Ljava/lang/StringBuilder;
invoke-direct {p4}, Ljava/lang/StringBuilder;-><init>()V
const-string v0, "Two different ViewHolders have the same change ID. This might happen due to inconsistent Adapter update events or if the LayoutManager lays out the same View multiple times.\n ViewHolder 1:"
invoke-virtual {p4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {p4, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p4, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String;
move-result-object p2
invoke-virtual {p4, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
:cond_72
:goto_72
add-int/lit8 v1, v1, 0x1
goto :goto_7
:cond_75
new-instance p1, Ljava/lang/StringBuilder;
invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V
const-string p2, "Problem while matching changed view holders with the newones. The pre-layout information for the change holder "
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string p2, " cannot be found but it is necessary for "
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String;
move-result-object p2
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
const-string p2, "RecyclerView"
invoke-static {p2, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
return-void
.end method
.method private hasUpdatedView()Z
.registers 6
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I
move-result v0
const/4 v1, 0x0
const/4 v2, 0x0
:goto_8
if-ge v2, v0, :cond_28
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View;
move-result-object v3
invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v3
if-eqz v3, :cond_25
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
move-result v4
if-eqz v4, :cond_1d
goto :goto_25
:cond_1d
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isUpdated()Z
move-result v3
if-eqz v3, :cond_25
const/4 v0, 0x1
return v0
:cond_25
:goto_25
add-int/lit8 v2, v2, 0x1
goto :goto_8
:cond_28
return v1
.end method
.method private initAutofill()V
.registers 2
.annotation build Landroid/annotation/SuppressLint;
value = {
"InlinedApi"
}
.end annotation
invoke-static {p0}, Landroidx/core/view/ViewCompat;->getImportantForAutofill(Landroid/view/View;)I
move-result v0
if-nez v0, :cond_b
const/16 v0, 0x8
invoke-static {p0, v0}, Landroidx/core/view/ViewCompat;->setImportantForAutofill(Landroid/view/View;I)V
:cond_b
return-void
.end method
.method private initChildrenHelper()V
.registers 3
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
.registers 10
const/4 v0, 0x0
if-eqz p2, :cond_108
if-ne p2, p0, :cond_7
goto/16 :goto_108
:cond_7
invoke-virtual {p0, p2}, Landroidx/recyclerview/widget/RecyclerView;->findContainingItemView(Landroid/view/View;)Landroid/view/View;
move-result-object v1
if-nez v1, :cond_e
return v0
:cond_e
const/4 v1, 0x1
if-nez p1, :cond_12
return v1
:cond_12
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->findContainingItemView(Landroid/view/View;)Landroid/view/View;
move-result-object v2
if-nez v2, :cond_19
return v1
:cond_19
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
invoke-virtual {p1}, Landroid/view/View;->getWidth()I
move-result v3
invoke-virtual {p1}, Landroid/view/View;->getHeight()I
move-result v4
invoke-virtual {v2, v0, v0, v3, v4}, Landroid/graphics/Rect;->set(IIII)V
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect;
invoke-virtual {p2}, Landroid/view/View;->getWidth()I
move-result v3
invoke-virtual {p2}, Landroid/view/View;->getHeight()I
move-result v4
invoke-virtual {v2, v0, v0, v3, v4}, Landroid/graphics/Rect;->set(IIII)V
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
invoke-virtual {p0, p1, v2}, Landroid/view/ViewGroup;->offsetDescendantRectToMyCoords(Landroid/view/View;Landroid/graphics/Rect;)V
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect;
invoke-virtual {p0, p2, p1}, Landroid/view/ViewGroup;->offsetDescendantRectToMyCoords(Landroid/view/View;Landroid/graphics/Rect;)V
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->getLayoutDirection()I
move-result p1
const/4 p2, -0x1
if-ne p1, v1, :cond_48
const/4 p1, -0x1
goto :goto_49
:cond_48
const/4 p1, 0x1
:goto_49
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
iget v3, v2, Landroid/graphics/Rect;->left:I
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect;
iget v4, v4, Landroid/graphics/Rect;->left:I
if-lt v3, v4, :cond_57
iget v2, v2, Landroid/graphics/Rect;->right:I
if-gt v2, v4, :cond_63
:cond_57
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_63
const/4 v2, 0x1
goto :goto_7e
:cond_63
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
iget v3, v2, Landroid/graphics/Rect;->right:I
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect;
iget v4, v4, Landroid/graphics/Rect;->right:I
if-gt v3, v4, :cond_71
iget v2, v2, Landroid/graphics/Rect;->left:I
if-lt v2, v4, :cond_7d
:cond_71
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_7d
const/4 v2, -0x1
goto :goto_7e
:cond_7d
const/4 v2, 0x0
:goto_7e
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
iget v4, v3, Landroid/graphics/Rect;->top:I
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect;
iget v5, v5, Landroid/graphics/Rect;->top:I
if-lt v4, v5, :cond_8c
iget v3, v3, Landroid/graphics/Rect;->bottom:I
if-gt v3, v5, :cond_98
:cond_8c
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_98
const/4 p2, 0x1
goto :goto_b2
:cond_98
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
iget v4, v3, Landroid/graphics/Rect;->bottom:I
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect;
iget v5, v5, Landroid/graphics/Rect;->bottom:I
if-gt v4, v5, :cond_a6
iget v3, v3, Landroid/graphics/Rect;->top:I
if-lt v3, v5, :cond_b1
:cond_a6
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_b1
goto :goto_b2
:cond_b1
const/4 p2, 0x0
:goto_b2
if-eq p3, v1, :cond_ff
const/4 v3, 0x2
if-eq p3, v3, :cond_f5
const/16 p1, 0x11
if-eq p3, p1, :cond_f1
const/16 p1, 0x21
if-eq p3, p1, :cond_ed
const/16 p1, 0x42
if-eq p3, p1, :cond_e9
const/16 p1, 0x82
if-ne p3, p1, :cond_cb
if-lez p2, :cond_ca
const/4 v0, 0x1
:cond_ca
return v0
:cond_cb
new-instance p1, Ljava/lang/IllegalArgumentException;
new-instance p2, Ljava/lang/StringBuilder;
invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
const-string v0, "Invalid direction: "
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String;
move-result-object p3
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
:cond_e9
if-lez v2, :cond_ec
const/4 v0, 0x1
:cond_ec
return v0
:cond_ed
if-gez p2, :cond_f0
const/4 v0, 0x1
:cond_f0
return v0
:cond_f1
if-gez v2, :cond_f4
const/4 v0, 0x1
:cond_f4
return v0
:cond_f5
if-gtz p2, :cond_fd
if-nez p2, :cond_fe
mul-int v2, v2, p1
if-ltz v2, :cond_fe
:cond_fd
const/4 v0, 0x1
:cond_fe
return v0
:cond_ff
if-ltz p2, :cond_107
if-nez p2, :cond_108
mul-int v2, v2, p1
if-gtz v2, :cond_108
:cond_107
const/4 v0, 0x1
:cond_108
:goto_108
return v0
.end method
.method private onPointerUp(Landroid/view/MotionEvent;)V
.registers 5
invoke-virtual {p1}, Landroid/view/MotionEvent;->getActionIndex()I
move-result v0
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_2d
if-nez v0, :cond_10
const/4 v0, 0x1
goto :goto_11
:cond_10
const/4 v0, 0x0
:goto_11
invoke-virtual {p1, v0}, Landroid/view/MotionEvent;->getPointerId(I)I
move-result v1
iput v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
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
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_2d
return-void
.end method
.method private predictiveItemAnimationsEnabled()Z
.registers 2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
if-eqz v0, :cond_e
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->supportsPredictiveItemAnimations()Z
move-result v0
if-eqz v0, :cond_e
const/4 v0, 0x1
goto :goto_f
:cond_e
const/4 v0, 0x0
:goto_f
return v0
.end method
.method private processAdapterUpdatesAndSetAnimationFlags()V
.registers 6
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z
if-eqz v0, :cond_12
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->reset()V
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchItemsChangedEvent:Z
if-eqz v0, :cond_12
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onItemsChanged(Landroidx/recyclerview/widget/RecyclerView;)V
:cond_12
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->predictiveItemAnimationsEnabled()Z
move-result v0
if-eqz v0, :cond_1e
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->preProcess()V
goto :goto_23
:cond_1e
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->consumeUpdatesInOnePass()V
:goto_23
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemsAddedOrRemoved:Z
const/4 v1, 0x0
const/4 v2, 0x1
if-nez v0, :cond_30
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemsChanged:Z
if-eqz v0, :cond_2e
goto :goto_30
:cond_2e
const/4 v0, 0x0
goto :goto_31
:cond_30
:goto_30
const/4 v0, 0x1
:goto_31
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_55
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
if-eqz v4, :cond_55
iget-boolean v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z
if-nez v4, :cond_47
if-nez v0, :cond_47
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget-boolean v4, v4, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mRequestedSimpleAnimations:Z
if-eqz v4, :cond_55
:cond_47
iget-boolean v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z
if-eqz v4, :cond_53
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-eqz v4, :cond_55
:cond_53
const/4 v4, 0x1
goto :goto_56
:cond_55
const/4 v4, 0x0
:goto_56
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;
iget-boolean v4, v3, Landroidx/recyclerview/widget/RecyclerView$State;->mRunSimpleAnimations:Z
if-eqz v4, :cond_6b
if-eqz v0, :cond_6b
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z
if-nez v0, :cond_6b
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->predictiveItemAnimationsEnabled()Z
move-result v0
if-eqz v0, :cond_6b
const/4 v1, 0x1
:cond_6b
iput-boolean v1, v3, Landroidx/recyclerview/widget/RecyclerView$State;->mRunPredictiveAnimations:Z
return-void
.end method
.method private pullGlows(FFFF)V
.registers 11
const/high16 v0, 0x3f800000 # 1.0f
const/4 v1, 0x1
const/4 v2, 0x0
cmpg-float v3, p2, v2
if-gez v3, :cond_21
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureLeftGlow()V
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
neg-float v4, p2
invoke-virtual {p0}, Landroid/view/ViewGroup;->getWidth()I
move-result v5
int-to-float v5, v5
div-float/2addr v4, v5
invoke-virtual {p0}, Landroid/view/ViewGroup;->getHeight()I
move-result v5
int-to-float v5, v5
div-float/2addr p3, v5
sub-float p3, v0, p3
invoke-static {v3, v4, p3}, Landroidx/core/widget/EdgeEffectCompat;->onPull(Landroid/widget/EdgeEffect;FF)V
:goto_1f
const/4 p3, 0x1
goto :goto_3c
:cond_21
cmpl-float v3, p2, v2
if-lez v3, :cond_3b
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureRightGlow()V
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
invoke-virtual {p0}, Landroid/view/ViewGroup;->getWidth()I
move-result v4
int-to-float v4, v4
div-float v4, p2, v4
invoke-virtual {p0}, Landroid/view/ViewGroup;->getHeight()I
move-result v5
int-to-float v5, v5
div-float/2addr p3, v5
invoke-static {v3, v4, p3}, Landroidx/core/widget/EdgeEffectCompat;->onPull(Landroid/widget/EdgeEffect;FF)V
goto :goto_1f
:cond_3b
const/4 p3, 0x0
:goto_3c
cmpg-float v3, p4, v2
if-gez v3, :cond_56
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureTopGlow()V
iget-object p3, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
neg-float v0, p4
invoke-virtual {p0}, Landroid/view/ViewGroup;->getHeight()I
move-result v3
int-to-float v3, v3
div-float/2addr v0, v3
invoke-virtual {p0}, Landroid/view/ViewGroup;->getWidth()I
move-result v3
int-to-float v3, v3
div-float/2addr p1, v3
invoke-static {p3, v0, p1}, Landroidx/core/widget/EdgeEffectCompat;->onPull(Landroid/widget/EdgeEffect;FF)V
goto :goto_72
:cond_56
cmpl-float v3, p4, v2
if-lez v3, :cond_71
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureBottomGlow()V
iget-object p3, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
invoke-virtual {p0}, Landroid/view/ViewGroup;->getHeight()I
move-result v3
int-to-float v3, v3
div-float v3, p4, v3
invoke-virtual {p0}, Landroid/view/ViewGroup;->getWidth()I
move-result v4
int-to-float v4, v4
div-float/2addr p1, v4
sub-float/2addr v0, p1
invoke-static {p3, v3, v0}, Landroidx/core/widget/EdgeEffectCompat;->onPull(Landroid/widget/EdgeEffect;FF)V
goto :goto_72
:cond_71
move v1, p3
:goto_72
if-nez v1, :cond_7c
cmpl-float p1, p2, v2
if-nez p1, :cond_7c
cmpl-float p1, p4, v2
if-eqz p1, :cond_7f
:cond_7c
invoke-static {p0}, Landroidx/core/view/ViewCompat;->postInvalidateOnAnimation(Landroid/view/View;)V
:cond_7f
return-void
.end method
.method private recoverFocusFromState()V
.registers 8
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPreserveFocusAfterLayout:Z
if-eqz v0, :cond_b1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
if-eqz v0, :cond_b1
invoke-virtual {p0}, Landroid/view/ViewGroup;->hasFocus()Z
move-result v0
if-eqz v0, :cond_b1
invoke-virtual {p0}, Landroid/view/ViewGroup;->getDescendantFocusability()I
move-result v0
const/high16 v1, 0x60000
if-eq v0, v1, :cond_b1
invoke-virtual {p0}, Landroid/view/ViewGroup;->getDescendantFocusability()I
move-result v0
const/high16 v1, 0x20000
if-ne v0, v1, :cond_26
invoke-virtual {p0}, Landroid/view/ViewGroup;->isFocused()Z
move-result v0
if-eqz v0, :cond_26
goto/16 :goto_b1
:cond_26
invoke-virtual {p0}, Landroid/view/ViewGroup;->isFocused()Z
move-result v0
if-nez v0, :cond_55
invoke-virtual {p0}, Landroid/view/ViewGroup;->getFocusedChild()Landroid/view/View;
move-result-object v0
sget-boolean v1, Landroidx/recyclerview/widget/RecyclerView;->IGNORE_DETACHED_FOCUSED_CHILD:Z
if-eqz v1, :cond_4c
invoke-virtual {v0}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
move-result-object v1
if-eqz v1, :cond_40
invoke-virtual {v0}, Landroid/view/View;->hasFocus()Z
move-result v1
if-nez v1, :cond_4c
:cond_40
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I
move-result v0
if-nez v0, :cond_55
invoke-virtual {p0}, Landroid/view/ViewGroup;->requestFocus()Z
return-void
:cond_4c
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v1, v0}, Landroidx/recyclerview/widget/ChildHelper;->isHidden(Landroid/view/View;)Z
move-result v0
if-nez v0, :cond_55
return-void
:cond_55
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iget-wide v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemId:J
const-wide/16 v2, -0x1
const/4 v4, 0x0
cmp-long v5, v0, v2
if-eqz v5, :cond_71
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_71
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iget-wide v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemId:J
invoke-virtual {p0, v0, v1}, Landroidx/recyclerview/widget/RecyclerView;->findViewHolderForItemId(J)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v0
goto :goto_72
:cond_71
move-object v0, v4
:goto_72
if-eqz v0, :cond_8a
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
iget-object v5, v0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
invoke-virtual {v1, v5}, Landroidx/recyclerview/widget/ChildHelper;->isHidden(Landroid/view/View;)Z
move-result v1
if-nez v1, :cond_8a
iget-object v1, v0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
invoke-virtual {v1}, Landroid/view/View;->hasFocusable()Z
move-result v1
if-nez v1, :cond_87
goto :goto_8a
:cond_87
iget-object v4, v0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
goto :goto_96
:cond_8a
:goto_8a
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I
move-result v0
if-lez v0, :cond_96
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->findNextViewToFocus()Landroid/view/View;
move-result-object v4
:cond_96
:goto_96
if-eqz v4, :cond_b1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iget v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedSubChildId:I
int-to-long v5, v0
cmp-long v1, v5, v2
if-eqz v1, :cond_ae
invoke-virtual {v4, v0}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v0
if-eqz v0, :cond_ae
invoke-virtual {v0}, Landroid/view/View;->isFocusable()Z
move-result v1
if-eqz v1, :cond_ae
move-object v4, v0
:cond_ae
invoke-virtual {v4}, Landroid/view/View;->requestFocus()Z
:cond_b1
:goto_b1
return-void
.end method
.method private releaseGlows()V
.registers 3
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
if-eqz v0, :cond_e
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->onRelease()V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result v0
goto :goto_f
:cond_e
const/4 v0, 0x0
:goto_f
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
if-eqz v1, :cond_1d
invoke-virtual {v1}, Landroid/widget/EdgeEffect;->onRelease()V
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
invoke-virtual {v1}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result v1
or-int/2addr v0, v1
:cond_1d
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
if-eqz v1, :cond_2b
invoke-virtual {v1}, Landroid/widget/EdgeEffect;->onRelease()V
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
invoke-virtual {v1}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result v1
or-int/2addr v0, v1
:cond_2b
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
if-eqz v1, :cond_39
invoke-virtual {v1}, Landroid/widget/EdgeEffect;->onRelease()V
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
invoke-virtual {v1}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result v1
or-int/2addr v0, v1
:cond_39
if-eqz v0, :cond_3e
invoke-static {p0}, Landroidx/core/view/ViewCompat;->postInvalidateOnAnimation(Landroid/view/View;)V
:cond_3e
return-void
.end method
.method private requestChildOnScreen(Landroid/view/View;Landroid/view/View;)V
.registers 14
.param p1 # Landroid/view/View;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Landroid/view/View;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
if-eqz p2, :cond_4
move-object v0, p2
goto :goto_5
:cond_4
move-object v0, p1
:goto_5
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
invoke-virtual {v0}, Landroid/view/View;->getWidth()I
move-result v2
invoke-virtual {v0}, Landroid/view/View;->getHeight()I
move-result v3
const/4 v4, 0x0
invoke-virtual {v1, v4, v4, v2, v3}, Landroid/graphics/Rect;->set(IIII)V
invoke-virtual {v0}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
move-result-object v0
instance-of v1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
if-eqz v1, :cond_41
check-cast v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
iget-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mInsetsDirty:Z
if-nez v1, :cond_41
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;
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 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 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 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_41
if-eqz p2, :cond_4d
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
invoke-virtual {p0, p2, v0}, Landroid/view/ViewGroup;->offsetDescendantRectToMyCoords(Landroid/view/View;Landroid/graphics/Rect;)V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
invoke-virtual {p0, p1, v0}, Landroid/view/ViewGroup;->offsetRectIntoDescendantCoords(Landroid/view/View;Landroid/graphics/Rect;)V
:cond_4d
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_5a
const/4 v10, 0x1
goto :goto_5b
:cond_5a
const/4 v10, 0x0
:goto_5b
move-object v6, p0
move-object v7, p1
invoke-virtual/range {v5 .. v10}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->requestChildRectangleOnScreen(Landroidx/recyclerview/widget/RecyclerView;Landroid/view/View;Landroid/graphics/Rect;ZZ)Z
return-void
.end method
.method private resetFocusInfo()V
.registers 4
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
const-wide/16 v1, -0x1
iput-wide v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemId:J
const/4 v1, -0x1
iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemPosition:I
iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedSubChildId:I
return-void
.end method
.method private resetTouch()V
.registers 2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
if-eqz v0, :cond_7
invoke-virtual {v0}, Landroid/view/VelocityTracker;->clear()V
:cond_7
const/4 v0, 0x0
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->stopNestedScroll(I)V
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->releaseGlows()V
return-void
.end method
.method private saveFocusInfo()V
.registers 5
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPreserveFocusAfterLayout:Z
const/4 v1, 0x0
if-eqz v0, :cond_14
invoke-virtual {p0}, Landroid/view/ViewGroup;->hasFocus()Z
move-result v0
if-eqz v0, :cond_14
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
if-eqz v0, :cond_14
invoke-virtual {p0}, Landroid/view/ViewGroup;->getFocusedChild()Landroid/view/View;
move-result-object v0
goto :goto_15
:cond_14
move-object v0, v1
:goto_15
if-nez v0, :cond_18
goto :goto_1c
:cond_18
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->findContainingViewHolder(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v1
:goto_1c
if-nez v1, :cond_22
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->resetFocusInfo()V
goto :goto_56
:cond_22
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z
move-result v2
if-eqz v2, :cond_31
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getItemId()J
move-result-wide v2
goto :goto_33
:cond_31
const-wide/16 v2, -0x1
:goto_33
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_3d
const/4 v2, -0x1
goto :goto_4a
:cond_3d
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isRemoved()Z
move-result v2
if-eqz v2, :cond_46
iget v2, v1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mOldPosition:I
goto :goto_4a
:cond_46
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getAdapterPosition()I
move-result v2
:goto_4a
iput v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemPosition:I
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iget-object v1, v1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
invoke-direct {p0, v1}, Landroidx/recyclerview/widget/RecyclerView;->getDeepestFocusedViewWithId(Landroid/view/View;)I
move-result v1
iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedSubChildId:I
:goto_56
return-void
.end method
.method private setAdapterInternal(Landroidx/recyclerview/widget/RecyclerView$Adapter;ZZ)V
.registers 6
.param p1 # Landroidx/recyclerview/widget/RecyclerView$Adapter;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
if-eqz v0, :cond_e
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mObserver:Landroidx/recyclerview/widget/RecyclerView$RecyclerViewDataObserver;
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->unregisterAdapterDataObserver(Landroidx/recyclerview/widget/RecyclerView$AdapterDataObserver;)V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->onDetachedFromRecyclerView(Landroidx/recyclerview/widget/RecyclerView;)V
:cond_e
if-eqz p2, :cond_12
if-eqz p3, :cond_15
:cond_12
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->removeAndRecycleViews()V
:cond_15
iget-object p3, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
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_28
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mObserver:Landroidx/recyclerview/widget/RecyclerView$RecyclerViewDataObserver;
invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->registerAdapterDataObserver(Landroidx/recyclerview/widget/RecyclerView$AdapterDataObserver;)V
invoke-virtual {p1, p0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->onAttachedToRecyclerView(Landroidx/recyclerview/widget/RecyclerView;)V
:cond_28
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz p1, :cond_31
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
invoke-virtual {p1, p3, v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onAdapterChanged(Landroidx/recyclerview/widget/RecyclerView$Adapter;Landroidx/recyclerview/widget/RecyclerView$Adapter;)V
:cond_31
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
invoke-virtual {p1, p3, v0, p2}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->onAdapterChanged(Landroidx/recyclerview/widget/RecyclerView$Adapter;Landroidx/recyclerview/widget/RecyclerView$Adapter;Z)V
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
const/4 p2, 0x1
iput-boolean p2, p1, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z
return-void
.end method
.method private stopScrollersInternal()V
.registers 2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;->stop()V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v0, :cond_c
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->stopSmoothScroller()V
:cond_c
return-void
.end method
# virtual methods
.method public absorbGlows(II)V
.registers 5
if-gez p1, :cond_c
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureLeftGlow()V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
neg-int v1, p1
invoke-virtual {v0, v1}, Landroid/widget/EdgeEffect;->onAbsorb(I)V
goto :goto_16
:cond_c
if-lez p1, :cond_16
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureRightGlow()V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
invoke-virtual {v0, p1}, Landroid/widget/EdgeEffect;->onAbsorb(I)V
:cond_16
:goto_16
if-gez p2, :cond_22
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureTopGlow()V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
neg-int v1, p2
invoke-virtual {v0, v1}, Landroid/widget/EdgeEffect;->onAbsorb(I)V
goto :goto_2c
:cond_22
if-lez p2, :cond_2c
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureBottomGlow()V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
invoke-virtual {v0, p2}, Landroid/widget/EdgeEffect;->onAbsorb(I)V
:cond_2c
:goto_2c
if-nez p1, :cond_30
if-eqz p2, :cond_33
:cond_30
invoke-static {p0}, Landroidx/core/view/ViewCompat;->postInvalidateOnAnimation(Landroid/view/View;)V
:cond_33
return-void
.end method
.method public addFocusables(Ljava/util/ArrayList;II)V
.registers 5
.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_a
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_d
:cond_a
invoke-super {p0, p1, p2, p3}, Landroid/view/ViewGroup;->addFocusables(Ljava/util/ArrayList;II)V
:cond_d
return-void
.end method
.method public addItemDecoration(Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;)V
.registers 3
.param p1 # Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
const/4 v0, -0x1
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
.registers 5
.param p1 # Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v0, :cond_9
const-string v1, "Cannot add item decoration during a scroll or layout"
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->assertNotInLayoutOrScroll(Ljava/lang/String;)V
:cond_9
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->isEmpty()Z
move-result v0
if-eqz v0, :cond_15
const/4 v0, 0x0
invoke-virtual {p0, v0}, Landroid/view/ViewGroup;->setWillNotDraw(Z)V
:cond_15
if-gez p2, :cond_1d
iget-object p2, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
invoke-virtual {p2, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
goto :goto_22
:cond_1d
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
invoke-virtual {v0, p2, p1}, Ljava/util/ArrayList;->add(ILjava/lang/Object;)V
:goto_22
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->markItemDecorInsetsDirty()V
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
return-void
.end method
.method public addOnChildAttachStateChangeListener(Landroidx/recyclerview/widget/RecyclerView$OnChildAttachStateChangeListener;)V
.registers 3
.param p1 # Landroidx/recyclerview/widget/RecyclerView$OnChildAttachStateChangeListener;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List;
if-nez v0, :cond_b
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_b
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List;
invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
return-void
.end method
.method public addOnItemTouchListener(Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;)V
.registers 3
.param p1 # Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList;
invoke-virtual {v0, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
return-void
.end method
.method public addOnScrollListener(Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;)V
.registers 3
.param p1 # Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List;
if-nez v0, :cond_b
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_b
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List;
invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
return-void
.end method
.method public animateAppearance(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V
.registers 5
.param p1 # Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.param p3 # Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
const/4 v0, 0x0
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;
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_f
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->postAnimationRunner()V
:cond_f
return-void
.end method
.method public animateDisappearance(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V
.registers 5
.param p1 # Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p3 # Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->addAnimatingView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
const/4 v0, 0x0
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;
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_12
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->postAnimationRunner()V
:cond_12
return-void
.end method
.method public assertInLayoutOrScroll(Ljava/lang/String;)V
.registers 4
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isComputingLayout()Z
move-result v0
if-nez v0, :cond_3c
if-nez p1, :cond_23
new-instance p1, Ljava/lang/IllegalStateException;
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "Cannot call this method unless RecyclerView is computing a layout or scrolling"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
:cond_23
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;
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String;
move-result-object p1
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {v0, p1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
:cond_3c
return-void
.end method
.method public assertNotInLayoutOrScroll(Ljava/lang/String;)V
.registers 4
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isComputingLayout()Z
move-result v0
if-eqz v0, :cond_29
if-nez p1, :cond_23
new-instance p1, Ljava/lang/IllegalStateException;
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "Cannot call this method while RecyclerView is computing a layout or scrolling"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
:cond_23
new-instance v0, Ljava/lang/IllegalStateException;
invoke-direct {v0, p1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
:cond_29
iget p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchScrollCounter:I
if-lez p1, :cond_4e
new-instance p1, Ljava/lang/IllegalStateException;
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, ""
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
const-string v0, "RecyclerView"
const-string v1, "Cannot call this method in a scroll callback. Scroll callbacks mightbe run during a measure & layout pass where you cannot change theRecyclerView data. Any method call that might change the structureof the RecyclerView or the adapter contents should be postponed tothe next frame."
invoke-static {v0, v1, p1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
:cond_4e
return-void
.end method
.method public canReuseUpdatedViewHolder(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Z
.registers 4
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
if-eqz v0, :cond_11
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getUnmodifiedPayloads()Ljava/util/List;
move-result-object v1
invoke-virtual {v0, p1, v1}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->canReuseUpdatedViewHolder(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Ljava/util/List;)Z
move-result p1
if-eqz p1, :cond_f
goto :goto_11
:cond_f
const/4 p1, 0x0
goto :goto_12
:cond_11
:goto_11
const/4 p1, 0x1
:goto_12
return p1
.end method
.method public checkLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Z
.registers 3
instance-of v0, p1, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
if-eqz v0, :cond_10
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
check-cast p1, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->checkLayoutParams(Landroidx/recyclerview/widget/RecyclerView$LayoutParams;)Z
move-result p1
if-eqz p1, :cond_10
const/4 p1, 0x1
goto :goto_11
:cond_10
const/4 p1, 0x0
:goto_11
return p1
.end method
.method public clearOldPositions()V
.registers 5
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I
move-result v0
const/4 v1, 0x0
:goto_7
if-ge v1, v0, :cond_1f
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View;
move-result-object v2
invoke-static {v2}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v2
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
move-result v3
if-nez v3, :cond_1c
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->clearOldPosition()V
:cond_1c
add-int/lit8 v1, v1, 0x1
goto :goto_7
:cond_1f
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->clearOldPositions()V
return-void
.end method
.method public clearOnChildAttachStateChangeListeners()V
.registers 2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List;
if-eqz v0, :cond_7
invoke-interface {v0}, Ljava/util/List;->clear()V
:cond_7
return-void
.end method
.method public clearOnScrollListeners()V
.registers 2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List;
if-eqz v0, :cond_7
invoke-interface {v0}, Ljava/util/List;->clear()V
:cond_7
return-void
.end method
.method public computeHorizontalScrollExtent()I
.registers 3
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
const/4 v1, 0x0
if-nez v0, :cond_6
return v1
:cond_6
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z
move-result v0
if-eqz v0, :cond_14
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->computeHorizontalScrollExtent(Landroidx/recyclerview/widget/RecyclerView$State;)I
move-result v1
:cond_14
return v1
.end method
.method public computeHorizontalScrollOffset()I
.registers 3
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
const/4 v1, 0x0
if-nez v0, :cond_6
return v1
:cond_6
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z
move-result v0
if-eqz v0, :cond_14
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->computeHorizontalScrollOffset(Landroidx/recyclerview/widget/RecyclerView$State;)I
move-result v1
:cond_14
return v1
.end method
.method public computeHorizontalScrollRange()I
.registers 3
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
const/4 v1, 0x0
if-nez v0, :cond_6
return v1
:cond_6
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z
move-result v0
if-eqz v0, :cond_14
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->computeHorizontalScrollRange(Landroidx/recyclerview/widget/RecyclerView$State;)I
move-result v1
:cond_14
return v1
.end method
.method public computeVerticalScrollExtent()I
.registers 3
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
const/4 v1, 0x0
if-nez v0, :cond_6
return v1
:cond_6
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z
move-result v0
if-eqz v0, :cond_14
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->computeVerticalScrollExtent(Landroidx/recyclerview/widget/RecyclerView$State;)I
move-result v1
:cond_14
return v1
.end method
.method public computeVerticalScrollOffset()I
.registers 3
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
const/4 v1, 0x0
if-nez v0, :cond_6
return v1
:cond_6
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z
move-result v0
if-eqz v0, :cond_14
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->computeVerticalScrollOffset(Landroidx/recyclerview/widget/RecyclerView$State;)I
move-result v1
:cond_14
return v1
.end method
.method public computeVerticalScrollRange()I
.registers 3
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
const/4 v1, 0x0
if-nez v0, :cond_6
return v1
:cond_6
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z
move-result v0
if-eqz v0, :cond_14
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->computeVerticalScrollRange(Landroidx/recyclerview/widget/RecyclerView$State;)I
move-result v1
:cond_14
return v1
.end method
.method public considerReleasingGlowsOnScroll(II)V
.registers 5
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
if-eqz v0, :cond_18
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result v0
if-nez v0, :cond_18
if-lez p1, :cond_18
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->onRelease()V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result v0
goto :goto_19
:cond_18
const/4 v0, 0x0
:goto_19
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
if-eqz v1, :cond_31
invoke-virtual {v1}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result v1
if-nez v1, :cond_31
if-gez p1, :cond_31
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
invoke-virtual {p1}, Landroid/widget/EdgeEffect;->onRelease()V
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
invoke-virtual {p1}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result p1
or-int/2addr v0, p1
:cond_31
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
if-eqz p1, :cond_49
invoke-virtual {p1}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result p1
if-nez p1, :cond_49
if-lez p2, :cond_49
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
invoke-virtual {p1}, Landroid/widget/EdgeEffect;->onRelease()V
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
invoke-virtual {p1}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result p1
or-int/2addr v0, p1
:cond_49
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
if-eqz p1, :cond_61
invoke-virtual {p1}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result p1
if-nez p1, :cond_61
if-gez p2, :cond_61
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
invoke-virtual {p1}, Landroid/widget/EdgeEffect;->onRelease()V
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
invoke-virtual {p1}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result p1
or-int/2addr v0, p1
:cond_61
if-eqz v0, :cond_66
invoke-static {p0}, Landroidx/core/view/ViewCompat;->postInvalidateOnAnimation(Landroid/view/View;)V
:cond_66
return-void
.end method
.method public consumePendingUpdateOperations()V
.registers 4
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z
const-string v1, "RV FullInvalidate"
if-eqz v0, :cond_67
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z
if-eqz v0, :cond_b
goto :goto_67
:cond_b
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->hasPendingUpdates()Z
move-result v0
if-nez v0, :cond_14
return-void
:cond_14
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
const/4 v2, 0x4
invoke-virtual {v0, v2}, Landroidx/recyclerview/widget/AdapterHelper;->hasAnyUpdateTypes(I)Z
move-result v0
if-eqz v0, :cond_55
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
const/16 v2, 0xb
invoke-virtual {v0, v2}, Landroidx/recyclerview/widget/AdapterHelper;->hasAnyUpdateTypes(I)Z
move-result v0
if-nez v0, :cond_55
const-string v0, "RV PartialInvalidate"
invoke-static {v0}, Landroidx/core/os/TraceCompat;->beginSection(Ljava/lang/String;)V
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->preProcess()V
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z
if-nez v0, :cond_4a
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->hasUpdatedView()Z
move-result v0
if-eqz v0, :cond_45
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayout()V
goto :goto_4a
:cond_45
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->consumePostponedUpdates()V
:cond_4a
:goto_4a
const/4 v0, 0x1
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V
invoke-static {}, Landroidx/core/os/TraceCompat;->endSection()V
goto :goto_66
:cond_55
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->hasPendingUpdates()Z
move-result v0
if-eqz v0, :cond_66
invoke-static {v1}, Landroidx/core/os/TraceCompat;->beginSection(Ljava/lang/String;)V
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayout()V
invoke-static {}, Landroidx/core/os/TraceCompat;->endSection()V
:cond_66
:goto_66
return-void
:cond_67
:goto_67
invoke-static {v1}, Landroidx/core/os/TraceCompat;->beginSection(Ljava/lang/String;)V
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayout()V
invoke-static {}, Landroidx/core/os/TraceCompat;->endSection()V
return-void
.end method
.method public defaultOnMeasure(II)V
.registers 5
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingLeft()I
move-result v0
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingRight()I
move-result v1
add-int/2addr v0, v1
invoke-static {p0}, Landroidx/core/view/ViewCompat;->getMinimumWidth(Landroid/view/View;)I
move-result v1
invoke-static {p1, v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->chooseSize(III)I
move-result p1
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingTop()I
move-result v0
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingBottom()I
move-result v1
add-int/2addr v0, v1
invoke-static {p0}, Landroidx/core/view/ViewCompat;->getMinimumHeight(Landroid/view/View;)I
move-result v1
invoke-static {p2, v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->chooseSize(III)I
move-result p2
invoke-virtual {p0, p1, p2}, Landroid/view/ViewGroup;->setMeasuredDimension(II)V
return-void
.end method
.method public dispatchChildAttached(Landroid/view/View;)V
.registers 4
invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v0
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_10
if-eqz v0, :cond_10
invoke-virtual {v1, v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->onViewAttachedToWindow(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
:cond_10
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List;
if-eqz v0, :cond_2a
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v0
add-int/lit8 v0, v0, -0x1
:goto_1a
if-ltz v0, :cond_2a
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List;
invoke-interface {v1, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroidx/recyclerview/widget/RecyclerView$OnChildAttachStateChangeListener;
invoke-interface {v1, p1}, Landroidx/recyclerview/widget/RecyclerView$OnChildAttachStateChangeListener;->onChildViewAttachedToWindow(Landroid/view/View;)V
add-int/lit8 v0, v0, -0x1
goto :goto_1a
:cond_2a
return-void
.end method
.method public dispatchChildDetached(Landroid/view/View;)V
.registers 4
invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v0
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_10
if-eqz v0, :cond_10
invoke-virtual {v1, v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->onViewDetachedFromWindow(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
:cond_10
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List;
if-eqz v0, :cond_2a
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v0
add-int/lit8 v0, v0, -0x1
:goto_1a
if-ltz v0, :cond_2a
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List;
invoke-interface {v1, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroidx/recyclerview/widget/RecyclerView$OnChildAttachStateChangeListener;
invoke-interface {v1, p1}, Landroidx/recyclerview/widget/RecyclerView$OnChildAttachStateChangeListener;->onChildViewDetachedFromWindow(Landroid/view/View;)V
add-int/lit8 v0, v0, -0x1
goto :goto_1a
:cond_2a
return-void
.end method
.method public dispatchLayout()V
.registers 3
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
const-string v1, "RecyclerView"
if-nez v0, :cond_c
const-string v0, "No adapter attached; skipping layout"
invoke-static {v1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
return-void
:cond_c
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-nez v0, :cond_16
const-string v0, "No layout manager attached; skipping layout"
invoke-static {v1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
return-void
:cond_16
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
const/4 v1, 0x0
iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mIsMeasuring:Z
iget v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mLayoutStep:I
const/4 v1, 0x1
if-ne v0, v1, :cond_2c
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep1()V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setExactMeasureSpecsFrom(Landroidx/recyclerview/widget/RecyclerView;)V
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep2()V
goto :goto_5b
:cond_2c
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->hasUpdates()Z
move-result v0
if-nez v0, :cond_53
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->getWidth()I
move-result v0
invoke-virtual {p0}, Landroid/view/ViewGroup;->getWidth()I
move-result v1
if-ne v0, v1, :cond_53
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->getHeight()I
move-result v0
invoke-virtual {p0}, Landroid/view/ViewGroup;->getHeight()I
move-result v1
if-eq v0, v1, :cond_4d
goto :goto_53
:cond_4d
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setExactMeasureSpecsFrom(Landroidx/recyclerview/widget/RecyclerView;)V
goto :goto_5b
:cond_53
:goto_53
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setExactMeasureSpecsFrom(Landroidx/recyclerview/widget/RecyclerView;)V
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep2()V
:goto_5b
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep3()V
return-void
.end method
.method public dispatchNestedFling(FFZ)Z
.registers 5
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
move-result-object v0
invoke-virtual {v0, p1, p2, p3}, Landroidx/core/view/NestedScrollingChildHelper;->dispatchNestedFling(FFZ)Z
move-result p1
return p1
.end method
.method public dispatchNestedPreFling(FF)Z
.registers 4
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
move-result-object v0
invoke-virtual {v0, p1, p2}, Landroidx/core/view/NestedScrollingChildHelper;->dispatchNestedPreFling(FF)Z
move-result p1
return p1
.end method
.method public dispatchNestedPreScroll(II[I[I)Z
.registers 6
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
move-result-object v0
invoke-virtual {v0, p1, p2, p3, p4}, Landroidx/core/view/NestedScrollingChildHelper;->dispatchNestedPreScroll(II[I[I)Z
move-result p1
return p1
.end method
.method public dispatchNestedPreScroll(II[I[II)Z
.registers 12
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
move-result-object v0
move v1, p1
move v2, p2
move-object v3, p3
move-object v4, p4
move v5, p5
invoke-virtual/range {v0 .. v5}, Landroidx/core/view/NestedScrollingChildHelper;->dispatchNestedPreScroll(II[I[II)Z
move-result p1
return p1
.end method
.method public dispatchNestedScroll(IIII[I)Z
.registers 12
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
move-result-object v0
move v1, p1
move v2, p2
move v3, p3
move v4, p4
move-object v5, p5
invoke-virtual/range {v0 .. v5}, Landroidx/core/view/NestedScrollingChildHelper;->dispatchNestedScroll(IIII[I)Z
move-result p1
return p1
.end method
.method public dispatchNestedScroll(IIII[II)Z
.registers 14
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
move-result-object v0
move v1, p1
move v2, p2
move v3, p3
move v4, p4
move-object v5, p5
move v6, p6
invoke-virtual/range {v0 .. v6}, Landroidx/core/view/NestedScrollingChildHelper;->dispatchNestedScroll(IIII[II)Z
move-result p1
return p1
.end method
.method public dispatchOnScrollStateChanged(I)V
.registers 4
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v0, :cond_7
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onScrollStateChanged(I)V
:cond_7
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_11
invoke-virtual {v0, p0, p1}, Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;->onScrollStateChanged(Landroidx/recyclerview/widget/RecyclerView;I)V
:cond_11
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List;
if-eqz v0, :cond_2b
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v0
add-int/lit8 v0, v0, -0x1
:goto_1b
if-ltz v0, :cond_2b
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List;
invoke-interface {v1, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;
invoke-virtual {v1, p0, p1}, Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;->onScrollStateChanged(Landroidx/recyclerview/widget/RecyclerView;I)V
add-int/lit8 v0, v0, -0x1
goto :goto_1b
:cond_2b
return-void
.end method
.method public dispatchOnScrolled(II)V
.registers 5
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchScrollCounter:I
add-int/lit8 v0, v0, 0x1
iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchScrollCounter:I
invoke-virtual {p0}, Landroid/view/ViewGroup;->getScrollX()I
move-result v0
invoke-virtual {p0}, Landroid/view/ViewGroup;->getScrollY()I
move-result v1
invoke-virtual {p0, v0, v1, v0, v1}, Landroid/view/ViewGroup;->onScrollChanged(IIII)V
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_1b
invoke-virtual {v0, p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;->onScrolled(Landroidx/recyclerview/widget/RecyclerView;II)V
:cond_1b
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List;
if-eqz v0, :cond_35
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v0
add-int/lit8 v0, v0, -0x1
:goto_25
if-ltz v0, :cond_35
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List;
invoke-interface {v1, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;
invoke-virtual {v1, p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;->onScrolled(Landroidx/recyclerview/widget/RecyclerView;II)V
add-int/lit8 v0, v0, -0x1
goto :goto_25
:cond_35
iget p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchScrollCounter:I
add-int/lit8 p1, p1, -0x1
iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchScrollCounter:I
return-void
.end method
.method public dispatchPendingImportantForAccessibilityChanges()V
.registers 6
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingAccessibilityImportanceChange:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v0
add-int/lit8 v0, v0, -0x1
:goto_8
if-ltz v0, :cond_30
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingAccessibilityImportanceChange:Ljava/util/List;
invoke-interface {v1, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
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_2d
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
move-result v2
if-eqz v2, :cond_21
goto :goto_2d
:cond_21
iget v2, v1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPendingAccessibilityState:I
const/4 v3, -0x1
if-eq v2, v3, :cond_2d
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
iput v3, v1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPendingAccessibilityState:I
:cond_2d
:goto_2d
add-int/lit8 v0, v0, -0x1
goto :goto_8
:cond_30
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingAccessibilityImportanceChange:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->clear()V
return-void
.end method
.method public dispatchRestoreInstanceState(Landroid/util/SparseArray;)V
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/util/SparseArray<",
"Landroid/os/Parcelable;",
">;)V"
}
.end annotation
invoke-virtual {p0, p1}, Landroid/view/ViewGroup;->dispatchThawSelfOnly(Landroid/util/SparseArray;)V
return-void
.end method
.method public dispatchSaveInstanceState(Landroid/util/SparseArray;)V
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/util/SparseArray<",
"Landroid/os/Parcelable;",
">;)V"
}
.end annotation
invoke-virtual {p0, p1}, Landroid/view/ViewGroup;->dispatchFreezeSelfOnly(Landroid/util/SparseArray;)V
return-void
.end method
.method public draw(Landroid/graphics/Canvas;)V
.registers 9
invoke-super {p0, p1}, Landroid/view/ViewGroup;->draw(Landroid/graphics/Canvas;)V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
move-result v0
const/4 v1, 0x0
const/4 v2, 0x0
:goto_b
if-ge v2, v0, :cond_1d
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
invoke-virtual {v3, v2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v3
check-cast v3, Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {v3, p1, p0, v4}, Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;->onDrawOver(Landroid/graphics/Canvas;Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$State;)V
add-int/lit8 v2, v2, 0x1
goto :goto_b
:cond_1d
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
const/4 v2, 0x1
if-eqz v0, :cond_57
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result v0
if-nez v0, :cond_57
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_35
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingBottom()I
move-result v3
goto :goto_36
:cond_35
const/4 v3, 0x0
:goto_36
const/high16 v4, 0x43870000 # 270.0f
invoke-virtual {p1, v4}, Landroid/graphics/Canvas;->rotate(F)V
invoke-virtual {p0}, Landroid/view/ViewGroup;->getHeight()I
move-result v4
neg-int v4, v4
add-int/2addr v4, v3
int-to-float v3, v4
const/4 v4, 0x0
invoke-virtual {p1, v3, v4}, Landroid/graphics/Canvas;->translate(FF)V
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
if-eqz v3, :cond_52
invoke-virtual {v3, p1}, Landroid/widget/EdgeEffect;->draw(Landroid/graphics/Canvas;)Z
move-result v3
if-eqz v3, :cond_52
const/4 v3, 0x1
goto :goto_53
:cond_52
const/4 v3, 0x0
:goto_53
invoke-virtual {p1, v0}, Landroid/graphics/Canvas;->restoreToCount(I)V
goto :goto_58
:cond_57
const/4 v3, 0x0
:goto_58
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
if-eqz v0, :cond_88
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result v0
if-nez v0, :cond_88
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_77
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingLeft()I
move-result v4
int-to-float v4, v4
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingTop()I
move-result v5
int-to-float v5, v5
invoke-virtual {p1, v4, v5}, Landroid/graphics/Canvas;->translate(FF)V
:cond_77
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
if-eqz v4, :cond_83
invoke-virtual {v4, p1}, Landroid/widget/EdgeEffect;->draw(Landroid/graphics/Canvas;)Z
move-result v4
if-eqz v4, :cond_83
const/4 v4, 0x1
goto :goto_84
:cond_83
const/4 v4, 0x0
:goto_84
or-int/2addr v3, v4
invoke-virtual {p1, v0}, Landroid/graphics/Canvas;->restoreToCount(I)V
:cond_88
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
if-eqz v0, :cond_c1
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result v0
if-nez v0, :cond_c1
invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I
move-result v0
invoke-virtual {p0}, Landroid/view/ViewGroup;->getWidth()I
move-result v4
iget-boolean v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
if-eqz v5, :cond_a3
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingTop()I
move-result v5
goto :goto_a4
:cond_a3
const/4 v5, 0x0
:goto_a4
const/high16 v6, 0x42b40000 # 90.0f
invoke-virtual {p1, v6}, Landroid/graphics/Canvas;->rotate(F)V
neg-int v5, v5
int-to-float v5, v5
neg-int v4, v4
int-to-float v4, v4
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_bc
invoke-virtual {v4, p1}, Landroid/widget/EdgeEffect;->draw(Landroid/graphics/Canvas;)Z
move-result v4
if-eqz v4, :cond_bc
const/4 v4, 0x1
goto :goto_bd
:cond_bc
const/4 v4, 0x0
:goto_bd
or-int/2addr v3, v4
invoke-virtual {p1, v0}, Landroid/graphics/Canvas;->restoreToCount(I)V
:cond_c1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
if-eqz v0, :cond_110
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result v0
if-nez v0, :cond_110
invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I
move-result v0
const/high16 v4, 0x43340000 # 180.0f
invoke-virtual {p1, v4}, Landroid/graphics/Canvas;->rotate(F)V
iget-boolean v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
if-eqz v4, :cond_f2
invoke-virtual {p0}, Landroid/view/ViewGroup;->getWidth()I
move-result v4
neg-int v4, v4
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingRight()I
move-result v5
add-int/2addr v4, v5
int-to-float v4, v4
invoke-virtual {p0}, Landroid/view/ViewGroup;->getHeight()I
move-result v5
neg-int v5, v5
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingBottom()I
move-result v6
add-int/2addr v5, v6
int-to-float v5, v5
invoke-virtual {p1, v4, v5}, Landroid/graphics/Canvas;->translate(FF)V
goto :goto_101
:cond_f2
invoke-virtual {p0}, Landroid/view/ViewGroup;->getWidth()I
move-result v4
neg-int v4, v4
int-to-float v4, v4
invoke-virtual {p0}, Landroid/view/ViewGroup;->getHeight()I
move-result v5
neg-int v5, v5
int-to-float v5, v5
invoke-virtual {p1, v4, v5}, Landroid/graphics/Canvas;->translate(FF)V
:goto_101
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
if-eqz v4, :cond_10c
invoke-virtual {v4, p1}, Landroid/widget/EdgeEffect;->draw(Landroid/graphics/Canvas;)Z
move-result v4
if-eqz v4, :cond_10c
const/4 v1, 0x1
:cond_10c
or-int/2addr v3, v1
invoke-virtual {p1, v0}, Landroid/graphics/Canvas;->restoreToCount(I)V
:cond_110
if-nez v3, :cond_127
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
if-eqz p1, :cond_127
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
invoke-virtual {p1}, Ljava/util/ArrayList;->size()I
move-result p1
if-lez p1, :cond_127
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->isRunning()Z
move-result p1
if-eqz p1, :cond_127
goto :goto_128
:cond_127
move v2, v3
:goto_128
if-eqz v2, :cond_12d
invoke-static {p0}, Landroidx/core/view/ViewCompat;->postInvalidateOnAnimation(Landroid/view/View;)V
:cond_12d
return-void
.end method
.method public drawChild(Landroid/graphics/Canvas;Landroid/view/View;J)Z
.registers 5
invoke-super {p0, p1, p2, p3, p4}, Landroid/view/ViewGroup;->drawChild(Landroid/graphics/Canvas;Landroid/view/View;J)Z
move-result p1
return p1
.end method
.method public ensureBottomGlow()V
.registers 5
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
if-eqz v0, :cond_5
return-void
:cond_5
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;
const/4 v1, 0x3
invoke-virtual {v0, p0, v1}, Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;->createEdgeEffect(Landroidx/recyclerview/widget/RecyclerView;I)Landroid/widget/EdgeEffect;
move-result-object v0
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
if-eqz v1, :cond_32
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredWidth()I
move-result v1
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingLeft()I
move-result v2
sub-int/2addr v1, v2
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingRight()I
move-result v2
sub-int/2addr v1, v2
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredHeight()I
move-result v2
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingTop()I
move-result v3
sub-int/2addr v2, v3
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingBottom()I
move-result v3
sub-int/2addr v2, v3
invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V
goto :goto_3d
:cond_32
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredWidth()I
move-result v1
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredHeight()I
move-result v2
invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V
:goto_3d
return-void
.end method
.method public ensureLeftGlow()V
.registers 5
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
if-eqz v0, :cond_5
return-void
:cond_5
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;
const/4 v1, 0x0
invoke-virtual {v0, p0, v1}, Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;->createEdgeEffect(Landroidx/recyclerview/widget/RecyclerView;I)Landroid/widget/EdgeEffect;
move-result-object v0
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
if-eqz v1, :cond_32
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredHeight()I
move-result v1
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingTop()I
move-result v2
sub-int/2addr v1, v2
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingBottom()I
move-result v2
sub-int/2addr v1, v2
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredWidth()I
move-result v2
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingLeft()I
move-result v3
sub-int/2addr v2, v3
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingRight()I
move-result v3
sub-int/2addr v2, v3
invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V
goto :goto_3d
:cond_32
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredHeight()I
move-result v1
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredWidth()I
move-result v2
invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V
:goto_3d
return-void
.end method
.method public ensureRightGlow()V
.registers 5
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
if-eqz v0, :cond_5
return-void
:cond_5
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;
const/4 v1, 0x2
invoke-virtual {v0, p0, v1}, Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;->createEdgeEffect(Landroidx/recyclerview/widget/RecyclerView;I)Landroid/widget/EdgeEffect;
move-result-object v0
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
if-eqz v1, :cond_32
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredHeight()I
move-result v1
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingTop()I
move-result v2
sub-int/2addr v1, v2
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingBottom()I
move-result v2
sub-int/2addr v1, v2
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredWidth()I
move-result v2
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingLeft()I
move-result v3
sub-int/2addr v2, v3
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingRight()I
move-result v3
sub-int/2addr v2, v3
invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V
goto :goto_3d
:cond_32
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredHeight()I
move-result v1
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredWidth()I
move-result v2
invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V
:goto_3d
return-void
.end method
.method public ensureTopGlow()V
.registers 5
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
if-eqz v0, :cond_5
return-void
:cond_5
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;
const/4 v1, 0x1
invoke-virtual {v0, p0, v1}, Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;->createEdgeEffect(Landroidx/recyclerview/widget/RecyclerView;I)Landroid/widget/EdgeEffect;
move-result-object v0
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
if-eqz v1, :cond_32
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredWidth()I
move-result v1
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingLeft()I
move-result v2
sub-int/2addr v1, v2
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingRight()I
move-result v2
sub-int/2addr v1, v2
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredHeight()I
move-result v2
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingTop()I
move-result v3
sub-int/2addr v2, v3
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingBottom()I
move-result v3
sub-int/2addr v2, v3
invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V
goto :goto_3d
:cond_32
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredWidth()I
move-result v1
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredHeight()I
move-result v2
invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V
:goto_3d
return-void
.end method
.method public exceptionLabel()Ljava/lang/String;
.registers 3
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, " "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-super {p0}, Landroid/view/ViewGroup;->toString()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, ", adapter:"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v1, ", layout:"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v1, ", context:"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Landroid/view/ViewGroup;->getContext()Landroid/content/Context;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public final fillRemainingScrollValues(Landroidx/recyclerview/widget/RecyclerView$State;)V
.registers 5
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollState()I
move-result v0
const/4 v1, 0x2
if-ne v0, v1, :cond_22
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;
iget-object v0, v0, Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;->mScroller:Landroid/widget/OverScroller;
invoke-virtual {v0}, Landroid/widget/OverScroller;->getFinalX()I
move-result v1
invoke-virtual {v0}, Landroid/widget/OverScroller;->getCurrX()I
move-result v2
sub-int/2addr v1, v2
iput v1, p1, Landroidx/recyclerview/widget/RecyclerView$State;->mRemainingScrollHorizontal:I
invoke-virtual {v0}, Landroid/widget/OverScroller;->getFinalY()I
move-result v1
invoke-virtual {v0}, Landroid/widget/OverScroller;->getCurrY()I
move-result v0
sub-int/2addr v1, v0
iput v1, p1, Landroidx/recyclerview/widget/RecyclerView$State;->mRemainingScrollVertical:I
goto :goto_27
:cond_22
const/4 v0, 0x0
iput v0, p1, Landroidx/recyclerview/widget/RecyclerView$State;->mRemainingScrollHorizontal:I
iput v0, p1, Landroidx/recyclerview/widget/RecyclerView$State;->mRemainingScrollVertical:I
:goto_27
return-void
.end method
.method public findChildViewUnder(FF)Landroid/view/View;
.registers 8
.annotation build Landroidx/annotation/Nullable;
.end annotation
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I
move-result v0
add-int/lit8 v0, v0, -0x1
:goto_8
if-ltz v0, :cond_44
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v1, v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View;
move-result-object v1
invoke-virtual {v1}, Landroid/view/View;->getTranslationX()F
move-result v2
invoke-virtual {v1}, Landroid/view/View;->getTranslationY()F
move-result v3
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_41
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_41
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_41
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_41
return-object v1
:cond_41
add-int/lit8 v0, v0, -0x1
goto :goto_8
:cond_44
const/4 p1, 0x0
return-object p1
.end method
.method public findContainingItemView(Landroid/view/View;)Landroid/view/View;
.registers 4
.param p1 # Landroid/view/View;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/Nullable;
.end annotation
invoke-virtual {p1}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
move-result-object v0
:goto_4
if-eqz v0, :cond_14
if-eq v0, p0, :cond_14
instance-of v1, v0, Landroid/view/View;
if-eqz v1, :cond_14
move-object p1, v0
check-cast p1, Landroid/view/View;
invoke-virtual {p1}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
move-result-object v0
goto :goto_4
:cond_14
if-ne v0, p0, :cond_17
goto :goto_18
:cond_17
const/4 p1, 0x0
:goto_18
return-object p1
.end method
.method public findContainingViewHolder(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.registers 2
.param p1 # Landroid/view/View;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/Nullable;
.end annotation
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->findContainingItemView(Landroid/view/View;)Landroid/view/View;
move-result-object p1
if-nez p1, :cond_8
const/4 p1, 0x0
goto :goto_c
:cond_8
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolder(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object p1
:goto_c
return-object p1
.end method
.method public findViewHolderForAdapterPosition(I)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.registers 7
.annotation build Landroidx/annotation/Nullable;
.end annotation
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z
const/4 v1, 0x0
if-eqz v0, :cond_6
return-object v1
:cond_6
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I
move-result v0
const/4 v2, 0x0
:goto_d
if-ge v2, v0, :cond_37
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View;
move-result-object v3
invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v3
if-eqz v3, :cond_34
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isRemoved()Z
move-result v4
if-nez v4, :cond_34
invoke-virtual {p0, v3}, Landroidx/recyclerview/widget/RecyclerView;->getAdapterPositionFor(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)I
move-result v4
if-ne v4, p1, :cond_34
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
iget-object v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
invoke-virtual {v1, v4}, Landroidx/recyclerview/widget/ChildHelper;->isHidden(Landroid/view/View;)Z
move-result v1
if-eqz v1, :cond_33
move-object v1, v3
goto :goto_34
:cond_33
return-object v3
:cond_34
:goto_34
add-int/lit8 v2, v2, 0x1
goto :goto_d
:cond_37
return-object v1
.end method
.method public findViewHolderForItemId(J)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.registers 10
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
const/4 v1, 0x0
if-eqz v0, :cond_3f
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z
move-result v0
if-nez v0, :cond_c
goto :goto_3f
:cond_c
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I
move-result v0
const/4 v2, 0x0
:goto_13
if-ge v2, v0, :cond_3f
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View;
move-result-object v3
invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v3
if-eqz v3, :cond_3c
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isRemoved()Z
move-result v4
if-nez v4, :cond_3c
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getItemId()J
move-result-wide v4
cmp-long v6, v4, p1
if-nez v6, :cond_3c
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
iget-object v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
invoke-virtual {v1, v4}, Landroidx/recyclerview/widget/ChildHelper;->isHidden(Landroid/view/View;)Z
move-result v1
if-eqz v1, :cond_3b
move-object v1, v3
goto :goto_3c
:cond_3b
return-object v3
:cond_3c
:goto_3c
add-int/lit8 v2, v2, 0x1
goto :goto_13
:cond_3f
:goto_3f
return-object v1
.end method
.method public findViewHolderForLayoutPosition(I)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.registers 3
.annotation build Landroidx/annotation/Nullable;
.end annotation
const/4 v0, 0x0
invoke-virtual {p0, p1, v0}, Landroidx/recyclerview/widget/RecyclerView;->findViewHolderForPosition(IZ)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object p1
return-object p1
.end method
.method public findViewHolderForPosition(I)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.registers 3
.annotation build Landroidx/annotation/Nullable;
.end annotation
.annotation runtime Ljava/lang/Deprecated;
.end annotation
const/4 v0, 0x0
invoke-virtual {p0, p1, v0}, Landroidx/recyclerview/widget/RecyclerView;->findViewHolderForPosition(IZ)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object p1
return-object p1
.end method
.method public findViewHolderForPosition(IZ)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.registers 8
.annotation build Landroidx/annotation/Nullable;
.end annotation
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I
move-result v0
const/4 v1, 0x0
const/4 v2, 0x0
:goto_8
if-ge v2, v0, :cond_3a
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View;
move-result-object v3
invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v3
if-eqz v3, :cond_37
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isRemoved()Z
move-result v4
if-nez v4, :cond_37
if-eqz p2, :cond_23
iget v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I
if-eq v4, p1, :cond_2a
goto :goto_37
:cond_23
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getLayoutPosition()I
move-result v4
if-eq v4, p1, :cond_2a
goto :goto_37
:cond_2a
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
iget-object v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
invoke-virtual {v1, v4}, Landroidx/recyclerview/widget/ChildHelper;->isHidden(Landroid/view/View;)Z
move-result v1
if-eqz v1, :cond_36
move-object v1, v3
goto :goto_37
:cond_36
return-object v3
:cond_37
:goto_37
add-int/lit8 v2, v2, 0x1
goto :goto_8
:cond_3a
return-object v1
.end method
.method public fling(II)Z
.registers 10
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
const/4 v1, 0x0
if-nez v0, :cond_d
const-string p1, "RecyclerView"
const-string p2, "Cannot fling without a LayoutManager set. Call setLayoutManager with a non-null argument."
invoke-static {p1, p2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
return v1
:cond_d
iget-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutFrozen:Z
if-eqz v2, :cond_12
return v1
:cond_12
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;
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z
move-result v2
if-eqz v0, :cond_26
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_27
:cond_26
const/4 p1, 0x0
:cond_27
if-eqz v2, :cond_31
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_32
:cond_31
const/4 p2, 0x0
:cond_32
if-nez p1, :cond_37
if-nez p2, :cond_37
return v1
:cond_37
int-to-float v3, p1
int-to-float v4, p2
invoke-virtual {p0, v3, v4}, Landroidx/recyclerview/widget/RecyclerView;->dispatchNestedPreFling(FF)Z
move-result v5
if-nez v5, :cond_7e
const/4 v5, 0x1
if-nez v0, :cond_47
if-eqz v2, :cond_45
goto :goto_47
:cond_45
const/4 v6, 0x0
goto :goto_48
:cond_47
:goto_47
const/4 v6, 0x1
:goto_48
invoke-virtual {p0, v3, v4, v6}, Landroidx/recyclerview/widget/RecyclerView;->dispatchNestedFling(FFZ)Z
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnFlingListener:Landroidx/recyclerview/widget/RecyclerView$OnFlingListener;
if-eqz v3, :cond_56
invoke-virtual {v3, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$OnFlingListener;->onFling(II)Z
move-result v3
if-eqz v3, :cond_56
return v5
:cond_56
if-eqz v6, :cond_7e
if-eqz v0, :cond_5b
const/4 v1, 0x1
:cond_5b
if-eqz v2, :cond_5f
or-int/lit8 v1, v1, 0x2
:cond_5f
invoke-virtual {p0, v1, v5}, Landroidx/recyclerview/widget/RecyclerView;->startNestedScroll(II)Z
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMaxFlingVelocity:I
neg-int v1, v0
invoke-static {p1, v0}, Ljava/lang/Math;->min(II)I
move-result p1
invoke-static {v1, p1}, Ljava/lang/Math;->max(II)I
move-result p1
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMaxFlingVelocity:I
neg-int v1, v0
invoke-static {p2, v0}, Ljava/lang/Math;->min(II)I
move-result p2
invoke-static {v1, p2}, Ljava/lang/Math;->max(II)I
move-result p2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;
invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;->fling(II)V
return v5
:cond_7e
return v1
.end method
.method public focusSearch(Landroid/view/View;I)Landroid/view/View;
.registers 11
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onInterceptFocusSearch(Landroid/view/View;I)Landroid/view/View;
move-result-object v0
if-eqz v0, :cond_9
return-object v0
:cond_9
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_1f
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v0, :cond_1f
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isComputingLayout()Z
move-result v0
if-nez v0, :cond_1f
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutFrozen:Z
if-nez v0, :cond_1f
const/4 v0, 0x1
goto :goto_20
:cond_1f
const/4 v0, 0x0
:goto_20
invoke-static {}, Landroid/view/FocusFinder;->getInstance()Landroid/view/FocusFinder;
move-result-object v3
const/4 v4, 0x0
if-eqz v0, :cond_9b
const/4 v5, 0x2
if-eq p2, v5, :cond_2c
if-ne p2, v1, :cond_9b
:cond_2c
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z
move-result v0
if-eqz v0, :cond_4a
if-ne p2, v5, :cond_39
const/16 v0, 0x82
goto :goto_3b
:cond_39
const/16 v0, 0x21
:goto_3b
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_43
const/4 v6, 0x1
goto :goto_44
:cond_43
const/4 v6, 0x0
:goto_44
sget-boolean v7, Landroidx/recyclerview/widget/RecyclerView;->FORCE_ABS_FOCUS_SEARCH_DIRECTION:Z
if-eqz v7, :cond_4b
move p2, v0
goto :goto_4b
:cond_4a
const/4 v6, 0x0
:cond_4b
:goto_4b
if-nez v6, :cond_7b
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z
move-result v0
if-eqz v0, :cond_7b
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->getLayoutDirection()I
move-result v0
if-ne v0, v1, :cond_5f
const/4 v0, 0x1
goto :goto_60
:cond_5f
const/4 v0, 0x0
:goto_60
if-ne p2, v5, :cond_64
const/4 v5, 0x1
goto :goto_65
:cond_64
const/4 v5, 0x0
:goto_65
xor-int/2addr v0, v5
if-eqz v0, :cond_6b
const/16 v0, 0x42
goto :goto_6d
:cond_6b
const/16 v0, 0x11
:goto_6d
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_74
goto :goto_75
:cond_74
const/4 v1, 0x0
:goto_75
sget-boolean v5, Landroidx/recyclerview/widget/RecyclerView;->FORCE_ABS_FOCUS_SEARCH_DIRECTION:Z
if-eqz v5, :cond_7a
move p2, v0
:cond_7a
move v6, v1
:cond_7b
if-eqz v6, :cond_96
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->consumePendingUpdateOperations()V
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->findContainingItemView(Landroid/view/View;)Landroid/view/View;
move-result-object v0
if-nez v0, :cond_87
return-object v4
:cond_87
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;
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;
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
:cond_96
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_bf
:cond_9b
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_be
if-eqz v0, :cond_be
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->consumePendingUpdateOperations()V
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->findContainingItemView(Landroid/view/View;)Landroid/view/View;
move-result-object v0
if-nez v0, :cond_ad
return-object v4
:cond_ad
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;
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
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
goto :goto_bf
:cond_be
move-object v0, v1
:goto_bf
if-eqz v0, :cond_d6
invoke-virtual {v0}, Landroid/view/View;->hasFocusable()Z
move-result v1
if-nez v1, :cond_d6
invoke-virtual {p0}, Landroid/view/ViewGroup;->getFocusedChild()Landroid/view/View;
move-result-object v1
if-nez v1, :cond_d2
invoke-super {p0, p1, p2}, Landroid/view/ViewGroup;->focusSearch(Landroid/view/View;I)Landroid/view/View;
move-result-object p1
return-object p1
:cond_d2
invoke-direct {p0, v0, v4}, Landroidx/recyclerview/widget/RecyclerView;->requestChildOnScreen(Landroid/view/View;Landroid/view/View;)V
return-object p1
:cond_d6
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_dd
goto :goto_e1
:cond_dd
invoke-super {p0, p1, p2}, Landroid/view/ViewGroup;->focusSearch(Landroid/view/View;I)Landroid/view/View;
move-result-object v0
:goto_e1
return-object v0
.end method
.method public generateDefaultLayoutParams()Landroid/view/ViewGroup$LayoutParams;
.registers 4
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v0, :cond_9
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->generateDefaultLayoutParams()Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
move-result-object v0
return-object v0
:cond_9
new-instance v0, Ljava/lang/IllegalStateException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "RecyclerView has no LayoutManager"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public generateLayoutParams(Landroid/util/AttributeSet;)Landroid/view/ViewGroup$LayoutParams;
.registers 4
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v0, :cond_d
invoke-virtual {p0}, Landroid/view/ViewGroup;->getContext()Landroid/content/Context;
move-result-object v1
invoke-virtual {v0, v1, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->generateLayoutParams(Landroid/content/Context;Landroid/util/AttributeSet;)Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
move-result-object p1
return-object p1
:cond_d
new-instance p1, Ljava/lang/IllegalStateException;
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "RecyclerView has no LayoutManager"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public generateLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Landroid/view/ViewGroup$LayoutParams;
.registers 4
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v0, :cond_9
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->generateLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
move-result-object p1
return-object p1
:cond_9
new-instance p1, Ljava/lang/IllegalStateException;
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "RecyclerView has no LayoutManager"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public getAdapter()Landroidx/recyclerview/widget/RecyclerView$Adapter;
.registers 2
.annotation build Landroidx/annotation/Nullable;
.end annotation
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
return-object v0
.end method
.method public getAdapterPositionFor(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)I
.registers 3
const/16 v0, 0x20c
invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->hasAnyOfTheFlags(I)Z
move-result v0
if-nez v0, :cond_18
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isBound()Z
move-result v0
if-nez v0, :cond_f
goto :goto_18
:cond_f
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
iget p1, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/AdapterHelper;->applyPendingUpdatesToPosition(I)I
move-result p1
return p1
:cond_18
:goto_18
const/4 p1, -0x1
return p1
.end method
.method public getBaseline()I
.registers 2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v0, :cond_9
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->getBaseline()I
move-result v0
return v0
:cond_9
invoke-super {p0}, Landroid/view/ViewGroup;->getBaseline()I
move-result v0
return v0
.end method
.method public getChangedHolderKey(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)J
.registers 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_d
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getItemId()J
move-result-wide v0
goto :goto_10
:cond_d
iget p1, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I
int-to-long v0, p1
:goto_10
return-wide v0
.end method
.method public getChildAdapterPosition(Landroid/view/View;)I
.registers 2
.param p1 # Landroid/view/View;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object p1
if-eqz p1, :cond_b
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getAdapterPosition()I
move-result p1
goto :goto_c
:cond_b
const/4 p1, -0x1
:goto_c
return p1
.end method
.method public getChildDrawingOrder(II)I
.registers 4
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildDrawingOrderCallback:Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback;
if-nez v0, :cond_9
invoke-super {p0, p1, p2}, Landroid/view/ViewGroup;->getChildDrawingOrder(II)I
move-result p1
return p1
:cond_9
invoke-interface {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback;->onGetChildDrawingOrder(II)I
move-result p1
return p1
.end method
.method public getChildItemId(Landroid/view/View;)J
.registers 5
.param p1 # Landroid/view/View;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
const-wide/16 v1, -0x1
if-eqz v0, :cond_17
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z
move-result v0
if-nez v0, :cond_d
goto :goto_17
:cond_d
invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object p1
if-eqz p1, :cond_17
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getItemId()J
move-result-wide v1
:cond_17
:goto_17
return-wide v1
.end method
.method public getChildLayoutPosition(Landroid/view/View;)I
.registers 2
.param p1 # Landroid/view/View;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object p1
if-eqz p1, :cond_b
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getLayoutPosition()I
move-result p1
goto :goto_c
:cond_b
const/4 p1, -0x1
:goto_c
return p1
.end method
.method public getChildPosition(Landroid/view/View;)I
.registers 2
.param p1 # Landroid/view/View;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation runtime Ljava/lang/Deprecated;
.end annotation
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildAdapterPosition(Landroid/view/View;)I
move-result p1
return p1
.end method
.method public getChildViewHolder(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.registers 5
.param p1 # Landroid/view/View;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
invoke-virtual {p1}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
move-result-object v0
if-eqz v0, :cond_28
if-ne v0, p0, :cond_9
goto :goto_28
:cond_9
new-instance v0, Ljava/lang/IllegalArgumentException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "View "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string p1, " is not a direct child of "
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {v0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
:cond_28
:goto_28
invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object p1
return-object p1
.end method
.method public getClipToPadding()Z
.registers 2
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
return v0
.end method
.method public getCompatAccessibilityDelegate()Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate;
.registers 2
.annotation build Landroidx/annotation/Nullable;
.end annotation
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAccessibilityDelegate:Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate;
return-object v0
.end method
.method public getDecoratedBoundsWithMargins(Landroid/view/View;Landroid/graphics/Rect;)V
.registers 3
.param p1 # Landroid/view/View;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Landroid/graphics/Rect;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
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;
.registers 2
.annotation build Landroidx/annotation/NonNull;
.end annotation
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;
return-object v0
.end method
.method public getItemAnimator()Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
.registers 2
.annotation build Landroidx/annotation/Nullable;
.end annotation
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
return-object v0
.end method
.method public getItemDecorInsetsForChild(Landroid/view/View;)Landroid/graphics/Rect;
.registers 10
invoke-virtual {p1}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
move-result-object v0
check-cast v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
iget-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mInsetsDirty:Z
if-nez v1, :cond_d
iget-object p1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mDecorInsets:Landroid/graphics/Rect;
return-object p1
:cond_d
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$State;->isPreLayout()Z
move-result v1
if-eqz v1, :cond_24
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->isItemChanged()Z
move-result v1
if-nez v1, :cond_21
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->isViewInvalid()Z
move-result v1
if-eqz v1, :cond_24
:cond_21
iget-object p1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mDecorInsets:Landroid/graphics/Rect;
return-object p1
:cond_24
iget-object v1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mDecorInsets:Landroid/graphics/Rect;
const/4 v2, 0x0
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;
invoke-virtual {v3}, Ljava/util/ArrayList;->size()I
move-result v3
const/4 v4, 0x0
:goto_31
if-ge v4, v3, :cond_68
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
invoke-virtual {v5, v2, v2, v2, v2}, Landroid/graphics/Rect;->set(IIII)V
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
invoke-virtual {v5, v4}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v5
check-cast v5, Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;
iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {v5, v6, p1, p0, v7}, Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;->getItemOffsets(Landroid/graphics/Rect;Landroid/view/View;Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$State;)V
iget v5, v1, Landroid/graphics/Rect;->left:I
iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
iget v7, v6, Landroid/graphics/Rect;->left:I
add-int/2addr v5, v7
iput v5, v1, Landroid/graphics/Rect;->left:I
iget v5, v1, Landroid/graphics/Rect;->top:I
iget v7, v6, Landroid/graphics/Rect;->top:I
add-int/2addr v5, v7
iput v5, v1, Landroid/graphics/Rect;->top:I
iget v5, v1, Landroid/graphics/Rect;->right:I
iget v7, v6, Landroid/graphics/Rect;->right:I
add-int/2addr v5, v7
iput v5, v1, Landroid/graphics/Rect;->right:I
iget v5, v1, Landroid/graphics/Rect;->bottom:I
iget v6, v6, Landroid/graphics/Rect;->bottom:I
add-int/2addr v5, v6
iput v5, v1, Landroid/graphics/Rect;->bottom:I
add-int/lit8 v4, v4, 0x1
goto :goto_31
:cond_68
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;
.registers 5
.annotation build Landroidx/annotation/NonNull;
.end annotation
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getItemDecorationCount()I
move-result v0
if-ltz p1, :cond_11
if-ge p1, v0, :cond_11
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
invoke-virtual {v0, p1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object p1
check-cast p1, Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;
return-object p1
:cond_11
new-instance v1, Ljava/lang/IndexOutOfBoundsException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string p1, " is an invalid index for size "
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {v1, p1}, Ljava/lang/IndexOutOfBoundsException;-><init>(Ljava/lang/String;)V
throw v1
.end method
.method public getItemDecorationCount()I
.registers 2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
move-result v0
return v0
.end method
.method public getLayoutManager()Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
.registers 2
.annotation build Landroidx/annotation/Nullable;
.end annotation
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
return-object v0
.end method
.method public getMaxFlingVelocity()I
.registers 2
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMaxFlingVelocity:I
return v0
.end method
.method public getMinFlingVelocity()I
.registers 2
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinFlingVelocity:I
return v0
.end method
.method public getNanoTime()J
.registers 3
sget-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->ALLOW_THREAD_GAP_WORK:Z
if-eqz v0, :cond_9
invoke-static {}, Ljava/lang/System;->nanoTime()J
move-result-wide v0
return-wide v0
:cond_9
const-wide/16 v0, 0x0
return-wide v0
.end method
.method public getOnFlingListener()Landroidx/recyclerview/widget/RecyclerView$OnFlingListener;
.registers 2
.annotation build Landroidx/annotation/Nullable;
.end annotation
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnFlingListener:Landroidx/recyclerview/widget/RecyclerView$OnFlingListener;
return-object v0
.end method
.method public getPreserveFocusAfterLayout()Z
.registers 2
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPreserveFocusAfterLayout:Z
return v0
.end method
.method public getRecycledViewPool()Landroidx/recyclerview/widget/RecyclerView$RecycledViewPool;
.registers 2
.annotation build Landroidx/annotation/NonNull;
.end annotation
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->getRecycledViewPool()Landroidx/recyclerview/widget/RecyclerView$RecycledViewPool;
move-result-object v0
return-object v0
.end method
.method public getScrollState()I
.registers 2
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I
return v0
.end method
.method public hasFixedSize()Z
.registers 2
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mHasFixedSize:Z
return v0
.end method
.method public hasNestedScrollingParent()Z
.registers 2
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
move-result-object v0
invoke-virtual {v0}, Landroidx/core/view/NestedScrollingChildHelper;->hasNestedScrollingParent()Z
move-result v0
return v0
.end method
.method public hasNestedScrollingParent(I)Z
.registers 3
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
move-result-object v0
invoke-virtual {v0, p1}, Landroidx/core/view/NestedScrollingChildHelper;->hasNestedScrollingParent(I)Z
move-result p1
return p1
.end method
.method public hasPendingAdapterUpdates()Z
.registers 2
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z
if-eqz v0, :cond_13
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z
if-nez v0, :cond_13
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->hasPendingUpdates()Z
move-result v0
if-eqz v0, :cond_11
goto :goto_13
:cond_11
const/4 v0, 0x0
goto :goto_14
:cond_13
:goto_13
const/4 v0, 0x1
:goto_14
return v0
.end method
.method public initAdapterManager()V
.registers 3
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 public initFastScroller(Landroid/graphics/drawable/StateListDrawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/StateListDrawable;Landroid/graphics/drawable/Drawable;)V
.registers 15
.annotation build Landroidx/annotation/VisibleForTesting;
.end annotation
if-eqz p1, :cond_2d
if-eqz p2, :cond_2d
if-eqz p3, :cond_2d
if-eqz p4, :cond_2d
invoke-virtual {p0}, Landroid/view/ViewGroup;->getContext()Landroid/content/Context;
move-result-object v0
invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v0
new-instance v1, Landroidx/recyclerview/widget/FastScroller;
sget v2, Landroidx/recyclerview/R$dimen;->fastscroll_default_thickness:I
invoke-virtual {v0, v2}, Landroid/content/res/Resources;->getDimensionPixelSize(I)I
move-result v7
sget v2, Landroidx/recyclerview/R$dimen;->fastscroll_minimum_range:I
invoke-virtual {v0, v2}, Landroid/content/res/Resources;->getDimensionPixelSize(I)I
move-result v8
sget v2, Landroidx/recyclerview/R$dimen;->fastscroll_margin:I
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
:cond_2d
new-instance p1, Ljava/lang/IllegalArgumentException;
new-instance p2, Ljava/lang/StringBuilder;
invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
const-string p3, "Trying to set fast scroller without both required drawables."
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String;
move-result-object p3
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public invalidateGlows()V
.registers 2
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
.registers 3
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
move-result v0
if-nez v0, :cond_9
return-void
:cond_9
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v0, :cond_12
const-string v1, "Cannot invalidate item decorations during a scroll or layout"
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->assertNotInLayoutOrScroll(Ljava/lang/String;)V
:cond_12
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->markItemDecorInsetsDirty()V
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
return-void
.end method
.method public isAccessibilityEnabled()Z
.registers 2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAccessibilityManager:Landroid/view/accessibility/AccessibilityManager;
if-eqz v0, :cond_c
invoke-virtual {v0}, Landroid/view/accessibility/AccessibilityManager;->isEnabled()Z
move-result v0
if-eqz v0, :cond_c
const/4 v0, 0x1
goto :goto_d
:cond_c
const/4 v0, 0x0
:goto_d
return v0
.end method
.method public isAnimating()Z
.registers 2
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
if-eqz v0, :cond_c
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->isRunning()Z
move-result v0
if-eqz v0, :cond_c
const/4 v0, 0x1
goto :goto_d
:cond_c
const/4 v0, 0x0
:goto_d
return v0
.end method
.method public isAttachedToWindow()Z
.registers 2
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mIsAttached:Z
return v0
.end method
.method public isComputingLayout()Z
.registers 2
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I
if-lez v0, :cond_6
const/4 v0, 0x1
goto :goto_7
:cond_6
const/4 v0, 0x0
:goto_7
return v0
.end method
.method public isLayoutFrozen()Z
.registers 2
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutFrozen:Z
return v0
.end method
.method public isNestedScrollingEnabled()Z
.registers 2
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
move-result-object v0
invoke-virtual {v0}, Landroidx/core/view/NestedScrollingChildHelper;->isNestedScrollingEnabled()Z
move-result v0
return v0
.end method
.method public jumpToPositionForSmoothScroller(I)V
.registers 3
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-nez v0, :cond_5
return-void
:cond_5
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->scrollToPosition(I)V
invoke-virtual {p0}, Landroid/view/ViewGroup;->awakenScrollBars()Z
return-void
.end method
.method public markItemDecorInsetsDirty()V
.registers 5
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I
move-result v0
const/4 v1, 0x0
:goto_7
if-ge v1, v0, :cond_1b
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View;
move-result-object v2
invoke-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_7
:cond_1b
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->markItemDecorInsetsDirty()V
return-void
.end method
.method public markKnownViewsInvalid()V
.registers 5
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I
move-result v0
const/4 v1, 0x0
:goto_7
if-ge v1, v0, :cond_22
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View;
move-result-object v2
invoke-static {v2}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v2
if-eqz v2, :cond_1f
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
move-result v3
if-nez v3, :cond_1f
const/4 v3, 0x6
invoke-virtual {v2, v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->addFlags(I)V
:cond_1f
add-int/lit8 v1, v1, 0x1
goto :goto_7
:cond_22
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->markItemDecorInsetsDirty()V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->markKnownViewsInvalid()V
return-void
.end method
.method public offsetChildrenHorizontal(I)V
.registers 5
.param p1 # I
.annotation build Landroidx/annotation/Px;
.end annotation
.end param
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I
move-result v0
const/4 v1, 0x0
:goto_7
if-ge v1, v0, :cond_15
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View;
move-result-object v2
invoke-virtual {v2, p1}, Landroid/view/View;->offsetLeftAndRight(I)V
add-int/lit8 v1, v1, 0x1
goto :goto_7
:cond_15
return-void
.end method
.method public offsetChildrenVertical(I)V
.registers 5
.param p1 # I
.annotation build Landroidx/annotation/Px;
.end annotation
.end param
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I
move-result v0
const/4 v1, 0x0
:goto_7
if-ge v1, v0, :cond_15
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View;
move-result-object v2
invoke-virtual {v2, p1}, Landroid/view/View;->offsetTopAndBottom(I)V
add-int/lit8 v1, v1, 0x1
goto :goto_7
:cond_15
return-void
.end method
.method public offsetPositionRecordsForInsert(II)V
.registers 8
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I
move-result v0
const/4 v1, 0x0
const/4 v2, 0x0
:goto_8
if-ge v2, v0, :cond_2b
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View;
move-result-object v3
invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v3
if-eqz v3, :cond_28
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
move-result v4
if-nez v4, :cond_28
iget v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I
if-lt v4, p1, :cond_28
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
iput-boolean v4, v3, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z
:cond_28
add-int/lit8 v2, v2, 0x1
goto :goto_8
:cond_2b
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->offsetPositionRecordsForInsert(II)V
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
return-void
.end method
.method public offsetPositionRecordsForMove(II)V
.registers 12
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I
move-result v0
const/4 v1, 0x1
if-ge p1, p2, :cond_d
const/4 v2, -0x1
move v3, p1
move v4, p2
goto :goto_10
:cond_d
move v4, p1
move v3, p2
const/4 v2, 0x1
:goto_10
const/4 v5, 0x0
const/4 v6, 0x0
:goto_12
if-ge v6, v0, :cond_39
iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v7, v6}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View;
move-result-object v7
invoke-static {v7}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v7
if-eqz v7, :cond_36
iget v8, v7, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I
if-lt v8, v3, :cond_36
if-le v8, v4, :cond_27
goto :goto_36
:cond_27
if-ne v8, p1, :cond_2f
sub-int v8, p2, p1
invoke-virtual {v7, v8, v5}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->offsetPosition(IZ)V
goto :goto_32
:cond_2f
invoke-virtual {v7, v2, v5}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->offsetPosition(IZ)V
:goto_32
iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iput-boolean v1, v7, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z
:cond_36
:goto_36
add-int/lit8 v6, v6, 0x1
goto :goto_12
:cond_39
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->offsetPositionRecordsForMove(II)V
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
return-void
.end method
.method public offsetPositionRecordsForRemove(IIZ)V
.registers 11
add-int v0, p1, p2
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v1}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I
move-result v1
const/4 v2, 0x0
:goto_9
if-ge v2, v1, :cond_3a
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View;
move-result-object v3
invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v3
if-eqz v3, :cond_37
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
move-result v4
if-nez v4, :cond_37
iget v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I
const/4 v5, 0x1
if-lt v4, v0, :cond_2b
neg-int v4, p2
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;
iput-boolean v5, v3, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z
goto :goto_37
:cond_2b
if-lt v4, p1, :cond_37
add-int/lit8 v4, p1, -0x1
neg-int v6, p2
invoke-virtual {v3, v4, v6, p3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->flagRemovedAndOffsetPosition(IIZ)V
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iput-boolean v5, v3, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z
:cond_37
:goto_37
add-int/lit8 v2, v2, 0x1
goto :goto_9
:cond_3a
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v0, p1, p2, p3}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->offsetPositionRecordsForRemove(IIZ)V
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
return-void
.end method
.method public onAttachedToWindow()V
.registers 4
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_14
invoke-virtual {p0}, Landroid/view/ViewGroup;->isLayoutRequested()Z
move-result v2
if-nez v2, :cond_14
goto :goto_15
:cond_14
const/4 v1, 0x0
:goto_15
iput-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v1, :cond_1e
invoke-virtual {v1, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->dispatchAttachedToWindow(Landroidx/recyclerview/widget/RecyclerView;)V
:cond_1e
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_63
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_5e
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;
invoke-static {p0}, Landroidx/core/view/ViewCompat;->getDisplay(Landroid/view/View;)Landroid/view/Display;
move-result-object v0
const/high16 v1, 0x42700000 # 60.0f
invoke-virtual {p0}, Landroid/view/ViewGroup;->isInEditMode()Z
move-result v2
if-nez v2, :cond_50
if-eqz v0, :cond_50
invoke-virtual {v0}, Landroid/view/Display;->getRefreshRate()F
move-result v0
const/high16 v2, 0x41f00000 # 30.0f
cmpl-float v2, v0, v2
if-ltz v2, :cond_50
move v1, v0
:cond_50
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/GapWorker;
const v2, 0x4e6e6b28 # 1.0E9f
div-float/2addr v2, v1
float-to-long v1, v2
iput-wide v1, v0, Landroidx/recyclerview/widget/GapWorker;->mFrameIntervalNs:J
sget-object v1, Landroidx/recyclerview/widget/GapWorker;->sGapWorker:Ljava/lang/ThreadLocal;
invoke-virtual {v1, v0}, Ljava/lang/ThreadLocal;->set(Ljava/lang/Object;)V
:cond_5e
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/GapWorker;
invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/GapWorker;->add(Landroidx/recyclerview/widget/RecyclerView;)V
:cond_63
return-void
.end method
.method public onChildAttachedToWindow(Landroid/view/View;)V
.registers 2
.param p1 # Landroid/view/View;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
return-void
.end method
.method public onChildDetachedFromWindow(Landroid/view/View;)V
.registers 2
.param p1 # Landroid/view/View;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
return-void
.end method
.method public onDetachedFromWindow()V
.registers 3
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_a
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->endAnimations()V
:cond_a
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_19
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v0, p0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->dispatchDetachedFromWindow(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$Recycler;)V
:cond_19
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingAccessibilityImportanceChange:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->clear()V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimatorRunner:Ljava/lang/Runnable;
invoke-virtual {p0, v0}, Landroid/view/ViewGroup;->removeCallbacks(Ljava/lang/Runnable;)Z
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
invoke-virtual {v0}, Landroidx/recyclerview/widget/ViewInfoStore;->onDetach()V
sget-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->ALLOW_THREAD_GAP_WORK:Z
if-eqz v0, :cond_36
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/GapWorker;
if-eqz v0, :cond_36
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_36
return-void
.end method
.method public onDraw(Landroid/graphics/Canvas;)V
.registers 6
invoke-super {p0, p1}, Landroid/view/ViewGroup;->onDraw(Landroid/graphics/Canvas;)V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
move-result v0
const/4 v1, 0x0
:goto_a
if-ge v1, v0, :cond_1c
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
invoke-virtual {v2, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v2
check-cast v2, Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {v2, p1, p0, v3}, Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;->onDraw(Landroid/graphics/Canvas;Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$State;)V
add-int/lit8 v1, v1, 0x1
goto :goto_a
:cond_1c
return-void
.end method
.method public onEnterLayoutOrScroll()V
.registers 2
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I
add-int/lit8 v0, v0, 0x1
iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I
return-void
.end method
.method public onExitLayoutOrScroll()V
.registers 2
const/4 v0, 0x1
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll(Z)V
return-void
.end method
.method public onExitLayoutOrScroll(Z)V
.registers 4
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_13
const/4 v0, 0x0
iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I
if-eqz p1, :cond_13
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchContentChangedIfNecessary()V
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchPendingImportantForAccessibilityChanges()V
:cond_13
return-void
.end method
.method public onGenericMotionEvent(Landroid/view/MotionEvent;)Z
.registers 7
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
const/4 v1, 0x0
if-nez v0, :cond_6
return v1
:cond_6
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutFrozen:Z
if-eqz v0, :cond_b
return v1
:cond_b
invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I
move-result v0
const/16 v2, 0x8
if-ne v0, v2, :cond_77
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_3c
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z
move-result v0
if-eqz v0, :cond_2c
const/16 v0, 0x9
invoke-virtual {p1, v0}, Landroid/view/MotionEvent;->getAxisValue(I)F
move-result v0
neg-float v0, v0
goto :goto_2d
:cond_2c
const/4 v0, 0x0
:goto_2d
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z
move-result v3
if-eqz v3, :cond_61
const/16 v3, 0xa
invoke-virtual {p1, v3}, Landroid/view/MotionEvent;->getAxisValue(I)F
move-result v3
goto :goto_62
:cond_3c
invoke-virtual {p1}, Landroid/view/MotionEvent;->getSource()I
move-result v0
const/high16 v3, 0x400000
and-int/2addr v0, v3
if-eqz v0, :cond_60
const/16 v0, 0x1a
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;
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z
move-result v3
if-eqz v3, :cond_55
neg-float v0, v0
goto :goto_61
:cond_55
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z
move-result v3
if-eqz v3, :cond_60
move v3, v0
const/4 v0, 0x0
goto :goto_62
:cond_60
const/4 v0, 0x0
:cond_61
:goto_61
const/4 v3, 0x0
:goto_62
cmpl-float v4, v0, v2
if-nez v4, :cond_6a
cmpl-float v2, v3, v2
if-eqz v2, :cond_77
:cond_6a
iget v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mScaledHorizontalScrollFactor:F
mul-float v3, v3, v2
float-to-int v2, v3
iget v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mScaledVerticalScrollFactor:F
mul-float v0, v0, v3
float-to-int v0, v0
invoke-virtual {p0, v2, v0, p1}, Landroidx/recyclerview/widget/RecyclerView;->scrollByInternal(IILandroid/view/MotionEvent;)Z
:cond_77
return v1
.end method
.method public onInterceptTouchEvent(Landroid/view/MotionEvent;)Z
.registers 10
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutFrozen:Z
const/4 v1, 0x0
if-eqz v0, :cond_6
return v1
:cond_6
invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->dispatchOnItemTouchIntercept(Landroid/view/MotionEvent;)Z
move-result v0
const/4 v2, 0x1
if-eqz v0, :cond_11
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->cancelTouch()V
return v2
:cond_11
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-nez v0, :cond_16
return v1
:cond_16
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;
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_2a
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_2a
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
invoke-virtual {v4, p1}, Landroid/view/VelocityTracker;->addMovement(Landroid/view/MotionEvent;)V
invoke-virtual {p1}, Landroid/view/MotionEvent;->getActionMasked()I
move-result v4
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_da
if-eq v4, v2, :cond_d1
if-eq v4, v6, :cond_71
const/4 v0, 0x3
if-eq v4, v0, :cond_6c
const/4 v0, 0x5
if-eq v4, v0, :cond_50
const/4 v0, 0x6
if-eq v4, v0, :cond_4b
goto/16 :goto_11a
:cond_4b
invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->onPointerUp(Landroid/view/MotionEvent;)V
goto/16 :goto_11a
:cond_50
invoke-virtual {p1, v5}, Landroid/view/MotionEvent;->getPointerId(I)I
move-result v0
iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
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
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_11a
:cond_6c
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->cancelTouch()V
goto/16 :goto_11a
:cond_71
iget v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
invoke-virtual {p1, v4}, Landroid/view/MotionEvent;->findPointerIndex(I)I
move-result v4
if-gez v4, :cond_97
new-instance p1, Ljava/lang/StringBuilder;
invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V
const-string v0, "Error processing scroll; pointer index for id "
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v0, " not found. Did any MotionEvents get skipped?"
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
const-string v0, "RecyclerView"
invoke-static {v0, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
return v1
:cond_97
invoke-virtual {p1, v4}, Landroid/view/MotionEvent;->getX(I)F
move-result v5
add-float/2addr v5, v7
float-to-int v5, v5
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_11a
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_bd
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_bd
iput v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I
const/4 v0, 0x1
goto :goto_be
:cond_bd
const/4 v0, 0x0
:goto_be
if-eqz v3, :cond_cb
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_cb
iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I
const/4 v0, 0x1
:cond_cb
if-eqz v0, :cond_11a
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V
goto :goto_11a
:cond_d1
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
invoke-virtual {p1}, Landroid/view/VelocityTracker;->clear()V
invoke-virtual {p0, v1}, Landroidx/recyclerview/widget/RecyclerView;->stopNestedScroll(I)V
goto :goto_11a
:cond_da
iget-boolean v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mIgnoreMotionEventTillDown:Z
if-eqz v4, :cond_e0
iput-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mIgnoreMotionEventTillDown:Z
:cond_e0
invoke-virtual {p1, v1}, Landroid/view/MotionEvent;->getPointerId(I)I
move-result v4
iput v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
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
invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F
move-result p1
add-float/2addr p1, v7
float-to-int p1, p1
iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I
iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchY:I
iget p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I
if-ne p1, v6, :cond_108
invoke-virtual {p0}, Landroid/view/ViewGroup;->getParent()Landroid/view/ViewParent;
move-result-object p1
invoke-interface {p1, v2}, Landroid/view/ViewParent;->requestDisallowInterceptTouchEvent(Z)V
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V
:cond_108
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I
aput v1, p1, v2
aput v1, p1, v1
if-eqz v0, :cond_112
const/4 p1, 0x1
goto :goto_113
:cond_112
const/4 p1, 0x0
:goto_113
if-eqz v3, :cond_117
or-int/lit8 p1, p1, 0x2
:cond_117
invoke-virtual {p0, p1, v1}, Landroidx/recyclerview/widget/RecyclerView;->startNestedScroll(II)Z
:cond_11a
:goto_11a
iget p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I
if-ne p1, v2, :cond_11f
const/4 v1, 0x1
:cond_11f
return v1
.end method
.method public onLayout(ZIIII)V
.registers 6
const-string p1, "RV OnLayout"
invoke-static {p1}, Landroidx/core/os/TraceCompat;->beginSection(Ljava/lang/String;)V
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayout()V
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 public onMeasure(II)V
.registers 10
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-nez v0, :cond_8
invoke-virtual {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->defaultOnMeasure(II)V
return-void
:cond_8
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_74
invoke-static {p1}, Landroid/view/View$MeasureSpec;->getMode(I)I
move-result v0
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;
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_28
if-ne v3, v4, :cond_28
const/4 v2, 0x1
:cond_28
if-nez v2, :cond_73
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
if-nez v0, :cond_2f
goto :goto_73
:cond_2f
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iget v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mLayoutStep:I
if-ne v0, v1, :cond_38
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep1()V
:cond_38
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setMeasureSpecs(II)V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mIsMeasuring:Z
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep2()V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setMeasuredDimensionFromChildren(II)V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->shouldMeasureTwice()Z
move-result v0
if-eqz v0, :cond_e0
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredWidth()I
move-result v2
invoke-static {v2, v4}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result v2
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredHeight()I
move-result v3
invoke-static {v3, v4}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result v3
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;
iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mIsMeasuring:Z
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep2()V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setMeasuredDimensionFromChildren(II)V
goto :goto_e0
:cond_73
:goto_73
return-void
:cond_74
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mHasFixedSize:Z
if-eqz v0, :cond_82
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {v0, v1, v2, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onMeasure(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;II)V
return-void
:cond_82
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterUpdateDuringMeasure:Z
if-eqz v0, :cond_aa
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->processAdapterUpdatesAndSetAnimationFlags()V
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iget-boolean v3, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunPredictiveAnimations:Z
if-eqz v3, :cond_9b
iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mInPreLayout:Z
goto :goto_a4
:cond_9b
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->consumeUpdatesInOnePass()V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mInPreLayout:Z
:goto_a4
iput-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterUpdateDuringMeasure:Z
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
goto :goto_bc
:cond_aa
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iget-boolean v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunPredictiveAnimations:Z
if-eqz v0, :cond_bc
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredWidth()I
move-result p1
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredHeight()I
move-result p2
invoke-virtual {p0, p1, p2}, Landroid/view/ViewGroup;->setMeasuredDimension(II)V
return-void
:cond_bc
:goto_bc
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
if-eqz v0, :cond_c9
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->getItemCount()I
move-result v0
iput v0, v1, Landroidx/recyclerview/widget/RecyclerView$State;->mItemCount:I
goto :goto_cd
:cond_c9
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iput v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mItemCount:I
:goto_cd
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;
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
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iput-boolean v2, p1, Landroidx/recyclerview/widget/RecyclerView$State;->mInPreLayout:Z
:cond_e0
:goto_e0
return-void
.end method
.method public onRequestFocusInDescendants(ILandroid/graphics/Rect;)Z
.registers 4
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isComputingLayout()Z
move-result v0
if-eqz v0, :cond_8
const/4 p1, 0x0
return p1
:cond_8
invoke-super {p0, p1, p2}, Landroid/view/ViewGroup;->onRequestFocusInDescendants(ILandroid/graphics/Rect;)Z
move-result p1
return p1
.end method
.method public onRestoreInstanceState(Landroid/os/Parcelable;)V
.registers 3
instance-of v0, p1, Landroidx/recyclerview/widget/RecyclerView$SavedState;
if-nez v0, :cond_8
invoke-super {p0, p1}, Landroid/view/ViewGroup;->onRestoreInstanceState(Landroid/os/Parcelable;)V
return-void
:cond_8
check-cast p1, Landroidx/recyclerview/widget/RecyclerView$SavedState;
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingSavedState:Landroidx/recyclerview/widget/RecyclerView$SavedState;
invoke-virtual {p1}, Landroidx/customview/view/AbsSavedState;->getSuperState()Landroid/os/Parcelable;
move-result-object p1
invoke-super {p0, p1}, Landroid/view/ViewGroup;->onRestoreInstanceState(Landroid/os/Parcelable;)V
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz p1, :cond_20
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingSavedState:Landroidx/recyclerview/widget/RecyclerView$SavedState;
iget-object v0, v0, Landroidx/recyclerview/widget/RecyclerView$SavedState;->mLayoutState:Landroid/os/Parcelable;
if-eqz v0, :cond_20
invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onRestoreInstanceState(Landroid/os/Parcelable;)V
:cond_20
return-void
.end method
.method public onSaveInstanceState()Landroid/os/Parcelable;
.registers 3
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_11
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$SavedState;->copyFrom(Landroidx/recyclerview/widget/RecyclerView$SavedState;)V
goto :goto_1f
:cond_11
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v1, :cond_1c
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onSaveInstanceState()Landroid/os/Parcelable;
move-result-object v1
iput-object v1, v0, Landroidx/recyclerview/widget/RecyclerView$SavedState;->mLayoutState:Landroid/os/Parcelable;
goto :goto_1f
:cond_1c
const/4 v1, 0x0
iput-object v1, v0, Landroidx/recyclerview/widget/RecyclerView$SavedState;->mLayoutState:Landroid/os/Parcelable;
:goto_1f
return-object v0
.end method
.method public onScrollStateChanged(I)V
.registers 2
return-void
.end method
.method public onScrolled(II)V
.registers 3
.param p1 # I
.annotation build Landroidx/annotation/Px;
.end annotation
.end param
.param p2 # I
.annotation build Landroidx/annotation/Px;
.end annotation
.end param
return-void
.end method
.method public onSizeChanged(IIII)V
.registers 5
invoke-super {p0, p1, p2, p3, p4}, Landroid/view/ViewGroup;->onSizeChanged(IIII)V
if-ne p1, p3, :cond_7
if-eq p2, p4, :cond_a
:cond_7
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->invalidateGlows()V
:cond_a
return-void
.end method
.method public onTouchEvent(Landroid/view/MotionEvent;)Z
.registers 16
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutFrozen:Z
const/4 v1, 0x0
if-nez v0, :cond_1c7
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mIgnoreMotionEventTillDown:Z
if-eqz v0, :cond_b
goto/16 :goto_1c7
:cond_b
invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->dispatchOnItemTouch(Landroid/view/MotionEvent;)Z
move-result v0
const/4 v2, 0x1
if-eqz v0, :cond_16
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->cancelTouch()V
return v2
:cond_16
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-nez v0, :cond_1b
return v1
:cond_1b
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;
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_2f
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_2f
invoke-static {p1}, Landroid/view/MotionEvent;->obtain(Landroid/view/MotionEvent;)Landroid/view/MotionEvent;
move-result-object v4
invoke-virtual {p1}, Landroid/view/MotionEvent;->getActionMasked()I
move-result v5
invoke-virtual {p1}, Landroid/view/MotionEvent;->getActionIndex()I
move-result v6
if-nez v5, :cond_43
iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I
aput v1, v7, v2
aput v1, v7, v1
:cond_43
iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I
aget v8, v7, v1
int-to-float v8, v8
aget v7, v7, v2
int-to-float v7, v7
invoke-virtual {v4, v8, v7}, Landroid/view/MotionEvent;->offsetLocation(FF)V
const/high16 v7, 0x3f000000 # 0.5f
if-eqz v5, :cond_196
if-eq v5, v2, :cond_154
const/4 v8, 0x2
if-eq v5, v8, :cond_88
const/4 v0, 0x3
if-eq v5, v0, :cond_83
const/4 v0, 0x5
if-eq v5, v0, :cond_67
const/4 v0, 0x6
if-eq v5, v0, :cond_62
goto/16 :goto_1bc
:cond_62
invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->onPointerUp(Landroid/view/MotionEvent;)V
goto/16 :goto_1bc
:cond_67
invoke-virtual {p1, v6}, Landroid/view/MotionEvent;->getPointerId(I)I
move-result v0
iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
invoke-virtual {p1, v6}, 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
invoke-virtual {p1, v6}, 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_1bc
:cond_83
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->cancelTouch()V
goto/16 :goto_1bc
:cond_88
iget v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
invoke-virtual {p1, v5}, Landroid/view/MotionEvent;->findPointerIndex(I)I
move-result v5
if-gez v5, :cond_ae
new-instance p1, Ljava/lang/StringBuilder;
invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V
const-string v0, "Error processing scroll; pointer index for id "
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v0, " not found. Did any MotionEvents get skipped?"
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
const-string v0, "RecyclerView"
invoke-static {v0, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
return v1
:cond_ae
invoke-virtual {p1, v5}, Landroid/view/MotionEvent;->getX(I)F
move-result v6
add-float/2addr v6, v7
float-to-int v6, v6
invoke-virtual {p1, v5}, Landroid/view/MotionEvent;->getY(I)F
move-result p1
add-float/2addr p1, v7
float-to-int p1, p1
iget v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I
sub-int/2addr v5, v6
iget v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I
sub-int v13, v7, p1
iget-object v10, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollConsumed:[I
iget-object v11, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I
const/4 v12, 0x0
move-object v7, p0
move v8, v5
move v9, v13
invoke-virtual/range {v7 .. v12}, Landroidx/recyclerview/widget/RecyclerView;->dispatchNestedPreScroll(II[I[II)Z
move-result v7
if-eqz v7, :cond_f4
iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollConsumed:[I
aget v8, v7, v1
sub-int/2addr v5, v8
aget v7, v7, v2
sub-int/2addr v13, v7
iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I
aget v8, v7, v1
int-to-float v8, v8
aget v7, v7, v2
int-to-float v7, v7
invoke-virtual {v4, v8, v7}, Landroid/view/MotionEvent;->offsetLocation(FF)V
iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I
aget v8, v7, v1
iget-object v9, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I
aget v10, v9, v1
add-int/2addr v8, v10
aput v8, v7, v1
aget v8, v7, v2
aget v9, v9, v2
add-int/2addr v8, v9
aput v8, v7, v2
:cond_f4
iget v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I
if-eq v7, v2, :cond_11f
if-eqz v0, :cond_109
invoke-static {v5}, Ljava/lang/Math;->abs(I)I
move-result v7
iget v8, p0, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I
if-le v7, v8, :cond_109
if-lez v5, :cond_106
sub-int/2addr v5, v8
goto :goto_107
:cond_106
add-int/2addr v5, v8
:goto_107
const/4 v7, 0x1
goto :goto_10a
:cond_109
const/4 v7, 0x0
:goto_10a
if-eqz v3, :cond_11a
invoke-static {v13}, Ljava/lang/Math;->abs(I)I
move-result v8
iget v9, p0, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I
if-le v8, v9, :cond_11a
if-lez v13, :cond_118
sub-int/2addr v13, v9
goto :goto_119
:cond_118
add-int/2addr v13, v9
:goto_119
const/4 v7, 0x1
:cond_11a
if-eqz v7, :cond_11f
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V
:cond_11f
iget v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I
if-ne v7, v2, :cond_1bc
iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I
aget v8, v7, v1
sub-int/2addr v6, v8
iput v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I
aget v6, v7, v2
sub-int/2addr p1, v6
iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I
if-eqz v0, :cond_133
move p1, v5
goto :goto_134
:cond_133
const/4 p1, 0x0
:goto_134
if-eqz v3, :cond_138
move v0, v13
goto :goto_139
:cond_138
const/4 v0, 0x0
:goto_139
invoke-virtual {p0, p1, v0, v4}, Landroidx/recyclerview/widget/RecyclerView;->scrollByInternal(IILandroid/view/MotionEvent;)Z
move-result p1
if-eqz p1, :cond_146
invoke-virtual {p0}, Landroid/view/ViewGroup;->getParent()Landroid/view/ViewParent;
move-result-object p1
invoke-interface {p1, v2}, Landroid/view/ViewParent;->requestDisallowInterceptTouchEvent(Z)V
:cond_146
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/GapWorker;
if-eqz p1, :cond_1bc
if-nez v5, :cond_14e
if-eqz v13, :cond_1bc
:cond_14e
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/GapWorker;
invoke-virtual {p1, p0, v5, v13}, Landroidx/recyclerview/widget/GapWorker;->postFromTraversal(Landroidx/recyclerview/widget/RecyclerView;II)V
goto :goto_1bc
:cond_154
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
invoke-virtual {p1, v4}, Landroid/view/VelocityTracker;->addMovement(Landroid/view/MotionEvent;)V
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
const/16 v5, 0x3e8
iget v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mMaxFlingVelocity:I
int-to-float v6, v6
invoke-virtual {p1, v5, v6}, Landroid/view/VelocityTracker;->computeCurrentVelocity(IF)V
const/4 p1, 0x0
if-eqz v0, :cond_170
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
iget v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
invoke-virtual {v0, v5}, Landroid/view/VelocityTracker;->getXVelocity(I)F
move-result v0
neg-float v0, v0
goto :goto_171
:cond_170
const/4 v0, 0x0
:goto_171
if-eqz v3, :cond_17d
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
iget v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
invoke-virtual {v3, v5}, Landroid/view/VelocityTracker;->getYVelocity(I)F
move-result v3
neg-float v3, v3
goto :goto_17e
:cond_17d
const/4 v3, 0x0
:goto_17e
cmpl-float v5, v0, p1
if-nez v5, :cond_186
cmpl-float p1, v3, p1
if-eqz p1, :cond_18e
:cond_186
float-to-int p1, v0
float-to-int v0, v3
invoke-virtual {p0, p1, v0}, Landroidx/recyclerview/widget/RecyclerView;->fling(II)Z
move-result p1
if-nez p1, :cond_191
:cond_18e
invoke-virtual {p0, v1}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V
:cond_191
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->resetTouch()V
const/4 v1, 0x1
goto :goto_1bc
:cond_196
invoke-virtual {p1, v1}, Landroid/view/MotionEvent;->getPointerId(I)I
move-result v5
iput v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
invoke-virtual {p1}, Landroid/view/MotionEvent;->getX()F
move-result v5
add-float/2addr v5, v7
float-to-int v5, v5
iput v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I
iput v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchX:I
invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F
move-result p1
add-float/2addr p1, v7
float-to-int p1, p1
iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I
iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchY:I
if-eqz v0, :cond_1b4
const/4 p1, 0x1
goto :goto_1b5
:cond_1b4
const/4 p1, 0x0
:goto_1b5
if-eqz v3, :cond_1b9
or-int/lit8 p1, p1, 0x2
:cond_1b9
invoke-virtual {p0, p1, v1}, Landroidx/recyclerview/widget/RecyclerView;->startNestedScroll(II)Z
:cond_1bc
:goto_1bc
if-nez v1, :cond_1c3
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
invoke-virtual {p1, v4}, Landroid/view/VelocityTracker;->addMovement(Landroid/view/MotionEvent;)V
:cond_1c3
invoke-virtual {v4}, Landroid/view/MotionEvent;->recycle()V
return v2
:cond_1c7
:goto_1c7
return v1
.end method
.method public postAnimationRunner()V
.registers 2
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPostedAnimatorRunner:Z
if-nez v0, :cond_10
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mIsAttached:Z
if-eqz v0, :cond_10
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimatorRunner:Ljava/lang/Runnable;
invoke-static {p0, v0}, Landroidx/core/view/ViewCompat;->postOnAnimation(Landroid/view/View;Ljava/lang/Runnable;)V
const/4 v0, 0x1
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPostedAnimatorRunner:Z
:cond_10
return-void
.end method
.method public processDataSetCompletelyChanged(Z)V
.registers 3
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
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->markKnownViewsInvalid()V
return-void
.end method
.method public recordAnimationInfoIfBouncedHiddenView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V
.registers 6
const/4 v0, 0x0
const/16 v1, 0x2000
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;
iget-boolean v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mTrackOldChangeHolders:Z
if-eqz v0, :cond_27
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isUpdated()Z
move-result v0
if-eqz v0, :cond_27
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isRemoved()Z
move-result v0
if-nez v0, :cond_27
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
move-result v0
if-nez v0, :cond_27
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;
invoke-virtual {v2, v0, v1, p1}, Landroidx/recyclerview/widget/ViewInfoStore;->addToOldChangeHolders(JLandroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
:cond_27
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/ViewInfoStore;->addToPreLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V
return-void
.end method
.method public removeAndRecycleViews()V
.registers 3
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
if-eqz v0, :cond_7
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->endAnimations()V
:cond_7
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v0, :cond_17
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->removeAndRecycleAllViews(Landroidx/recyclerview/widget/RecyclerView$Recycler;)V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->removeAndRecycleScrapInt(Landroidx/recyclerview/widget/RecyclerView$Recycler;)V
:cond_17
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->clear()V
return-void
.end method
.method public removeAnimatingView(Landroid/view/View;)Z
.registers 4
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/ChildHelper;->removeViewIfHidden(Landroid/view/View;)Z
move-result v0
if-eqz v0, :cond_19
invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object p1
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v1, p1}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->unscrapView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v1, p1}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->recycleViewHolderInternal(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
:cond_19
xor-int/lit8 p1, v0, 0x1
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
return v0
.end method
.method public removeDetachedView(Landroid/view/View;Z)V
.registers 5
invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v0
if-eqz v0, :cond_35
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isTmpDetached()Z
move-result v1
if-eqz v1, :cond_10
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->clearTmpDetachFlag()V
goto :goto_35
:cond_10
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
move-result v1
if-eqz v1, :cond_17
goto :goto_35
:cond_17
new-instance p1, Ljava/lang/IllegalArgumentException;
new-instance p2, Ljava/lang/StringBuilder;
invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "Called removeDetachedView with a view which is not flagged as tmp detached."
invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String;
move-result-object v0
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
:cond_35
:goto_35
invoke-virtual {p1}, Landroid/view/View;->clearAnimation()V
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->dispatchChildDetached(Landroid/view/View;)V
invoke-super {p0, p1, p2}, Landroid/view/ViewGroup;->removeDetachedView(Landroid/view/View;Z)V
return-void
.end method
.method public removeItemDecoration(Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;)V
.registers 4
.param p1 # Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v0, :cond_9
const-string v1, "Cannot remove item decoration during a scroll or layout"
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->assertNotInLayoutOrScroll(Ljava/lang/String;)V
:cond_9
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
invoke-virtual {v0, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
invoke-virtual {p1}, Ljava/util/ArrayList;->isEmpty()Z
move-result p1
if-eqz p1, :cond_23
invoke-virtual {p0}, Landroid/view/ViewGroup;->getOverScrollMode()I
move-result p1
const/4 v0, 0x2
if-ne p1, v0, :cond_1f
const/4 p1, 0x1
goto :goto_20
:cond_1f
const/4 p1, 0x0
:goto_20
invoke-virtual {p0, p1}, Landroid/view/ViewGroup;->setWillNotDraw(Z)V
:cond_23
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->markItemDecorInsetsDirty()V
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
return-void
.end method
.method public removeItemDecorationAt(I)V
.registers 5
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getItemDecorationCount()I
move-result v0
if-ltz p1, :cond_10
if-ge p1, v0, :cond_10
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
:cond_10
new-instance v1, Ljava/lang/IndexOutOfBoundsException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string p1, " is an invalid index for size "
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {v1, p1}, Ljava/lang/IndexOutOfBoundsException;-><init>(Ljava/lang/String;)V
throw v1
.end method
.method public removeOnChildAttachStateChangeListener(Landroidx/recyclerview/widget/RecyclerView$OnChildAttachStateChangeListener;)V
.registers 3
.param p1 # Landroidx/recyclerview/widget/RecyclerView$OnChildAttachStateChangeListener;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List;
if-nez v0, :cond_5
return-void
:cond_5
invoke-interface {v0, p1}, Ljava/util/List;->remove(Ljava/lang/Object;)Z
return-void
.end method
.method public removeOnItemTouchListener(Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;)V
.registers 3
.param p1 # Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList;
invoke-virtual {v0, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mActiveOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;
if-ne v0, p1, :cond_c
const/4 p1, 0x0
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mActiveOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;
:cond_c
return-void
.end method
.method public removeOnScrollListener(Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;)V
.registers 3
.param p1 # Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List;
if-eqz v0, :cond_7
invoke-interface {v0, p1}, Ljava/util/List;->remove(Ljava/lang/Object;)Z
:cond_7
return-void
.end method
.method public repositionShadowingViews()V
.registers 8
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I
move-result v0
const/4 v1, 0x0
:goto_7
if-ge v1, v0, :cond_3f
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View;
move-result-object v2
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolder(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v3
if-eqz v3, :cond_3c
iget-object v3, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mShadowingHolder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
if-eqz v3, :cond_3c
iget-object v3, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
invoke-virtual {v2}, Landroid/view/View;->getLeft()I
move-result v4
invoke-virtual {v2}, Landroid/view/View;->getTop()I
move-result v2
invoke-virtual {v3}, Landroid/view/View;->getLeft()I
move-result v5
if-ne v4, v5, :cond_2f
invoke-virtual {v3}, Landroid/view/View;->getTop()I
move-result v5
if-eq v2, v5, :cond_3c
:cond_2f
invoke-virtual {v3}, Landroid/view/View;->getWidth()I
move-result v5
add-int/2addr v5, v4
invoke-virtual {v3}, Landroid/view/View;->getHeight()I
move-result v6
add-int/2addr v6, v2
invoke-virtual {v3, v4, v2, v5, v6}, Landroid/view/View;->layout(IIII)V
:cond_3c
add-int/lit8 v1, v1, 0x1
goto :goto_7
:cond_3f
return-void
.end method
.method public requestChildFocus(Landroid/view/View;Landroid/view/View;)V
.registers 5
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {v0, p0, v1, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onRequestChildFocus(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$State;Landroid/view/View;Landroid/view/View;)Z
move-result v0
if-nez v0, :cond_f
if-eqz p2, :cond_f
invoke-direct {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->requestChildOnScreen(Landroid/view/View;Landroid/view/View;)V
:cond_f
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
.registers 5
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v0, p0, p1, p2, p3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->requestChildRectangleOnScreen(Landroidx/recyclerview/widget/RecyclerView;Landroid/view/View;Landroid/graphics/Rect;Z)Z
move-result p1
return p1
.end method
.method public requestDisallowInterceptTouchEvent(Z)V
.registers 5
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
move-result v0
const/4 v1, 0x0
:goto_7
if-ge v1, v0, :cond_17
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList;
invoke-virtual {v2, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v2
check-cast v2, Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;
invoke-interface {v2, p1}, Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;->onRequestDisallowInterceptTouchEvent(Z)V
add-int/lit8 v1, v1, 0x1
goto :goto_7
:cond_17
invoke-super {p0, p1}, Landroid/view/ViewGroup;->requestDisallowInterceptTouchEvent(Z)V
return-void
.end method
.method public requestLayout()V
.registers 2
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I
if-nez v0, :cond_c
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutFrozen:Z
if-nez v0, :cond_c
invoke-super {p0}, Landroid/view/ViewGroup;->requestLayout()V
goto :goto_f
:cond_c
const/4 v0, 0x1
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z
:goto_f
return-void
.end method
.method public saveOldPositions()V
.registers 5
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I
move-result v0
const/4 v1, 0x0
:goto_7
if-ge v1, v0, :cond_1f
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View;
move-result-object v2
invoke-static {v2}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v2
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
move-result v3
if-nez v3, :cond_1c
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->saveOldPosition()V
:cond_1c
add-int/lit8 v1, v1, 0x1
goto :goto_7
:cond_1f
return-void
.end method
.method public scrollBy(II)V
.registers 6
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-nez v0, :cond_c
const-string p1, "RecyclerView"
const-string p2, "Cannot scroll without a LayoutManager set. Call setLayoutManager with a non-null argument."
invoke-static {p1, p2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
return-void
:cond_c
iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutFrozen:Z
if-eqz v1, :cond_11
return-void
:cond_11
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;
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z
move-result v1
if-nez v0, :cond_1f
if-eqz v1, :cond_2c
:cond_1f
const/4 v2, 0x0
if-eqz v0, :cond_23
goto :goto_24
:cond_23
const/4 p1, 0x0
:goto_24
if-eqz v1, :cond_27
goto :goto_28
:cond_27
const/4 p2, 0x0
:goto_28
const/4 v0, 0x0
invoke-virtual {p0, p1, p2, v0}, Landroidx/recyclerview/widget/RecyclerView;->scrollByInternal(IILandroid/view/MotionEvent;)Z
:cond_2c
return-void
.end method
.method public scrollByInternal(IILandroid/view/MotionEvent;)Z
.registers 22
move-object/from16 v7, p0
move/from16 v8, p1
move/from16 v9, p2
move-object/from16 v10, p3
invoke-virtual/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->consumePendingUpdateOperations()V
iget-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
const/4 v11, 0x1
const/4 v12, 0x0
if-eqz v0, :cond_25
iget-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mScrollStepConsumed:[I
invoke-virtual {v7, v8, v9, v0}, Landroidx/recyclerview/widget/RecyclerView;->scrollStep(II[I)V
iget-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mScrollStepConsumed:[I
aget v1, v0, v12
aget v0, v0, v11
sub-int v2, v8, v1
sub-int v3, v9, v0
move v13, v0
move v14, v1
move v15, v2
move v6, v3
goto :goto_29
:cond_25
const/4 v6, 0x0
const/4 v13, 0x0
const/4 v14, 0x0
const/4 v15, 0x0
:goto_29
iget-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->isEmpty()Z
move-result v0
if-nez v0, :cond_34
invoke-virtual/range {p0 .. p0}, Landroid/view/ViewGroup;->invalidate()V
:cond_34
iget-object v5, v7, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I
const/16 v16, 0x0
move-object/from16 v0, p0
move v1, v14
move v2, v13
move v3, v15
move v4, v6
move/from16 v17, v6
move/from16 v6, v16
invoke-virtual/range {v0 .. v6}, Landroidx/recyclerview/widget/RecyclerView;->dispatchNestedScroll(IIII[II)Z
move-result v0
if-eqz v0, :cond_76
iget v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I
iget-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I
aget v2, v1, v12
sub-int/2addr v0, v2
iput v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I
iget v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I
aget v2, v1, v11
sub-int/2addr v0, v2
iput v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I
if-eqz v10, :cond_63
aget v0, v1, v12
int-to-float v0, v0
aget v1, v1, v11
int-to-float v1, v1
invoke-virtual {v10, v0, v1}, Landroid/view/MotionEvent;->offsetLocation(FF)V
:cond_63
iget-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I
aget v1, v0, v12
iget-object v2, v7, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I
aget v3, v2, v12
add-int/2addr v1, v3
aput v1, v0, v12
aget v1, v0, v11
aget v2, v2, v11
add-int/2addr v1, v2
aput v1, v0, v11
goto :goto_99
:cond_76
invoke-virtual/range {p0 .. p0}, Landroid/view/ViewGroup;->getOverScrollMode()I
move-result v0
const/4 v1, 0x2
if-eq v0, v1, :cond_99
if-eqz v10, :cond_96
const/16 v0, 0x2002
invoke-static {v10, v0}, Landroidx/core/view/MotionEventCompat;->isFromSource(Landroid/view/MotionEvent;I)Z
move-result v0
if-nez v0, :cond_96
invoke-virtual/range {p3 .. p3}, Landroid/view/MotionEvent;->getX()F
move-result v0
int-to-float v1, v15
invoke-virtual/range {p3 .. p3}, Landroid/view/MotionEvent;->getY()F
move-result v2
move/from16 v3, v17
int-to-float v3, v3
invoke-direct {v7, v0, v1, v2, v3}, Landroidx/recyclerview/widget/RecyclerView;->pullGlows(FFFF)V
:cond_96
invoke-virtual/range {p0 .. p2}, Landroidx/recyclerview/widget/RecyclerView;->considerReleasingGlowsOnScroll(II)V
:cond_99
:goto_99
if-nez v14, :cond_9d
if-eqz v13, :cond_a0
:cond_9d
invoke-virtual {v7, v14, v13}, Landroidx/recyclerview/widget/RecyclerView;->dispatchOnScrolled(II)V
:cond_a0
invoke-virtual/range {p0 .. p0}, Landroid/view/ViewGroup;->awakenScrollBars()Z
move-result v0
if-nez v0, :cond_a9
invoke-virtual/range {p0 .. p0}, Landroid/view/ViewGroup;->invalidate()V
:cond_a9
if-nez v14, :cond_af
if-eqz v13, :cond_ae
goto :goto_af
:cond_ae
const/4 v11, 0x0
:cond_af
:goto_af
return v11
.end method
.method public scrollStep(II[I)V
.registers 8
.param p1 # I
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V
const-string v0, "RV Scroll"
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;
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->fillRemainingScrollValues(Landroidx/recyclerview/widget/RecyclerView$State;)V
const/4 v0, 0x0
if-eqz p1, :cond_1e
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {v1, p1, v2, v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->scrollHorizontallyBy(ILandroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)I
move-result p1
goto :goto_1f
:cond_1e
const/4 p1, 0x0
:goto_1f
if-eqz p2, :cond_2c
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {v1, p2, v2, v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->scrollVerticallyBy(ILandroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)I
move-result p2
goto :goto_2d
:cond_2c
const/4 p2, 0x0
:goto_2d
invoke-static {}, Landroidx/core/os/TraceCompat;->endSection()V
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->repositionShadowingViews()V
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
if-eqz p3, :cond_40
aput p1, p3, v0
const/4 p1, 0x1
aput p2, p3, p1
:cond_40
return-void
.end method
.method public scrollTo(II)V
.registers 3
const-string p1, "RecyclerView"
const-string p2, "RecyclerView does not support scrolling to an absolute position. Use scrollToPosition instead"
invoke-static {p1, p2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
return-void
.end method
.method public scrollToPosition(I)V
.registers 3
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutFrozen:Z
if-eqz v0, :cond_5
return-void
:cond_5
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_14
const-string p1, "RecyclerView"
const-string v0, "Cannot scroll to position a LayoutManager set. Call setLayoutManager with a non-null argument."
invoke-static {p1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
return-void
:cond_14
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->scrollToPosition(I)V
invoke-virtual {p0}, Landroid/view/ViewGroup;->awakenScrollBars()Z
return-void
.end method
.method public sendAccessibilityEventUnchecked(Landroid/view/accessibility/AccessibilityEvent;)V
.registers 3
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->shouldDeferAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)Z
move-result v0
if-eqz v0, :cond_7
return-void
:cond_7
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
.registers 2
.param p1 # Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAccessibilityDelegate:Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate;
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
.registers 4
.param p1 # Landroidx/recyclerview/widget/RecyclerView$Adapter;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
const/4 v0, 0x0
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setLayoutFrozen(Z)V
const/4 v1, 0x1
invoke-direct {p0, p1, v0, v1}, Landroidx/recyclerview/widget/RecyclerView;->setAdapterInternal(Landroidx/recyclerview/widget/RecyclerView$Adapter;ZZ)V
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->processDataSetCompletelyChanged(Z)V
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
return-void
.end method
.method public setChildDrawingOrderCallback(Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback;)V
.registers 3
.param p1 # Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildDrawingOrderCallback:Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback;
if-ne p1, v0, :cond_5
return-void
:cond_5
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildDrawingOrderCallback:Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback;
if-eqz p1, :cond_b
const/4 p1, 0x1
goto :goto_c
:cond_b
const/4 p1, 0x0
:goto_c
invoke-virtual {p0, p1}, Landroid/view/ViewGroup;->setChildrenDrawingOrderEnabled(Z)V
return-void
.end method
.method public setChildImportantForAccessibilityInternal(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;I)Z
.registers 4
.annotation build Landroidx/annotation/VisibleForTesting;
.end annotation
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isComputingLayout()Z
move-result v0
if-eqz v0, :cond_f
iput p2, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPendingAccessibilityState:I
iget-object p2, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingAccessibilityImportanceChange:Ljava/util/List;
invoke-interface {p2, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
const/4 p1, 0x0
return p1
:cond_f
iget-object p1, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
invoke-static {p1, p2}, Landroidx/core/view/ViewCompat;->setImportantForAccessibility(Landroid/view/View;I)V
const/4 p1, 0x1
return p1
.end method
.method public setClipToPadding(Z)V
.registers 3
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
if-eq p1, v0, :cond_7
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->invalidateGlows()V
:cond_7
iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
invoke-super {p0, p1}, Landroid/view/ViewGroup;->setClipToPadding(Z)V
iget-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z
if-eqz p1, :cond_13
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
:cond_13
return-void
.end method
.method public setEdgeEffectFactory(Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;)V
.registers 2
.param p1 # Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
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;
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->invalidateGlows()V
return-void
.end method
.method public setHasFixedSize(Z)V
.registers 2
iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mHasFixedSize:Z
return-void
.end method
.method public setItemAnimator(Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;)V
.registers 4
.param p1 # Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
if-eqz v0, :cond_d
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
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->setListener(Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemAnimatorListener;)V
:cond_d
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
if-eqz p1, :cond_16
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimatorListener:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemAnimatorListener;
invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->setListener(Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemAnimatorListener;)V
:cond_16
return-void
.end method
.method public setItemViewCacheSize(I)V
.registers 3
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->setViewCacheSize(I)V
return-void
.end method
.method public setLayoutFrozen(Z)V
.registers 11
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutFrozen:Z
if-eq p1, v0, :cond_38
const-string v0, "Do not setLayoutFrozen in layout or scroll"
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->assertNotInLayoutOrScroll(Ljava/lang/String;)V
if-nez p1, :cond_20
const/4 p1, 0x0
iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutFrozen:Z
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z
if-eqz v0, :cond_1d
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v0, :cond_1d
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
if-eqz v0, :cond_1d
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
:cond_1d
iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z
goto :goto_38
:cond_20
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
invoke-static/range {v1 .. v8}, Landroid/view/MotionEvent;->obtain(JJIFFI)Landroid/view/MotionEvent;
move-result-object p1
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;->mLayoutFrozen:Z
iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mIgnoreMotionEventTillDown:Z
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->stopScroll()V
:cond_38
:goto_38
return-void
.end method
.method public setLayoutManager(Landroidx/recyclerview/widget/RecyclerView$LayoutManager;)V
.registers 5
.param p1 # Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-ne p1, v0, :cond_5
return-void
:cond_5
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_3a
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
if-eqz v0, :cond_13
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->endAnimations()V
:cond_13
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->removeAndRecycleAllViews(Landroidx/recyclerview/widget/RecyclerView$Recycler;)V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->removeAndRecycleScrapInt(Landroidx/recyclerview/widget/RecyclerView$Recycler;)V
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->clear()V
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mIsAttached:Z
if-eqz v0, :cond_31
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v0, p0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->dispatchDetachedFromWindow(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$Recycler;)V
:cond_31
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
const/4 v1, 0x0
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setRecyclerView(Landroidx/recyclerview/widget/RecyclerView;)V
iput-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
goto :goto_3f
:cond_3a
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->clear()V
:goto_3f
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
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_7e
iget-object v0, p1, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
if-nez v0, :cond_59
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_7e
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {p1, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->dispatchAttachedToWindow(Landroidx/recyclerview/widget/RecyclerView;)V
goto :goto_7e
:cond_59
new-instance v0, Ljava/lang/IllegalArgumentException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "LayoutManager "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v2, " is already attached to a RecyclerView:"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object p1, p1, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String;
move-result-object p1
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {v0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
:cond_7e
:goto_7e
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->updateViewCacheSize()V
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
return-void
.end method
.method public setNestedScrollingEnabled(Z)V
.registers 3
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
move-result-object v0
invoke-virtual {v0, p1}, Landroidx/core/view/NestedScrollingChildHelper;->setNestedScrollingEnabled(Z)V
return-void
.end method
.method public setOnFlingListener(Landroidx/recyclerview/widget/RecyclerView$OnFlingListener;)V
.registers 2
.param p1 # Landroidx/recyclerview/widget/RecyclerView$OnFlingListener;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
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
.registers 2
.param p1 # Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.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
.registers 2
iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mPreserveFocusAfterLayout:Z
return-void
.end method
.method public setRecycledViewPool(Landroidx/recyclerview/widget/RecyclerView$RecycledViewPool;)V
.registers 3
.param p1 # Landroidx/recyclerview/widget/RecyclerView$RecycledViewPool;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->setRecycledViewPool(Landroidx/recyclerview/widget/RecyclerView$RecycledViewPool;)V
return-void
.end method
.method public setRecyclerListener(Landroidx/recyclerview/widget/RecyclerView$RecyclerListener;)V
.registers 2
.param p1 # Landroidx/recyclerview/widget/RecyclerView$RecyclerListener;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecyclerListener:Landroidx/recyclerview/widget/RecyclerView$RecyclerListener;
return-void
.end method
.method public setScrollState(I)V
.registers 3
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I
if-ne p1, v0, :cond_5
return-void
:cond_5
iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I
const/4 v0, 0x2
if-eq p1, v0, :cond_d
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->stopScrollersInternal()V
:cond_d
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->dispatchOnScrollStateChanged(I)V
return-void
.end method
.method public setScrollingTouchSlop(I)V
.registers 5
invoke-virtual {p0}, Landroid/view/ViewGroup;->getContext()Landroid/content/Context;
move-result-object v0
invoke-static {v0}, Landroid/view/ViewConfiguration;->get(Landroid/content/Context;)Landroid/view/ViewConfiguration;
move-result-object v0
if-eqz p1, :cond_30
const/4 v1, 0x1
if-eq p1, v1, :cond_29
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "setScrollingTouchSlop(): bad argument constant "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string p1, "; using default value"
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
const-string v1, "RecyclerView"
invoke-static {v1, p1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
goto :goto_30
:cond_29
invoke-virtual {v0}, Landroid/view/ViewConfiguration;->getScaledPagingTouchSlop()I
move-result p1
iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I
goto :goto_36
:cond_30
:goto_30
invoke-virtual {v0}, Landroid/view/ViewConfiguration;->getScaledTouchSlop()I
move-result p1
iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I
:goto_36
return-void
.end method
.method public setViewCacheExtension(Landroidx/recyclerview/widget/RecyclerView$ViewCacheExtension;)V
.registers 3
.param p1 # Landroidx/recyclerview/widget/RecyclerView$ViewCacheExtension;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->setViewCacheExtension(Landroidx/recyclerview/widget/RecyclerView$ViewCacheExtension;)V
return-void
.end method
.method public shouldDeferAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)Z
.registers 4
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isComputingLayout()Z
move-result v0
const/4 v1, 0x0
if-eqz v0, :cond_1a
if-eqz p1, :cond_e
invoke-static {p1}, Landroidx/core/view/accessibility/AccessibilityEventCompat;->getContentChangeTypes(Landroid/view/accessibility/AccessibilityEvent;)I
move-result p1
goto :goto_f
:cond_e
const/4 p1, 0x0
:goto_f
if-nez p1, :cond_12
goto :goto_13
:cond_12
move v1, p1
:goto_13
iget p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mEatenAccessibilityChangeFlags:I
or-int/2addr p1, v1
iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mEatenAccessibilityChangeFlags:I
const/4 p1, 0x1
return p1
:cond_1a
return v1
.end method
.method public smoothScrollBy(II)V
.registers 4
.param p1 # I
.annotation build Landroidx/annotation/Px;
.end annotation
.end param
.param p2 # I
.annotation build Landroidx/annotation/Px;
.end annotation
.end param
const/4 v0, 0x0
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
.registers 6
.param p1 # I
.annotation build Landroidx/annotation/Px;
.end annotation
.end param
.param p2 # I
.annotation build Landroidx/annotation/Px;
.end annotation
.end param
.param p3 # Landroid/view/animation/Interpolator;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-nez v0, :cond_c
const-string p1, "RecyclerView"
const-string p2, "Cannot smooth scroll without a LayoutManager set. Call setLayoutManager with a non-null argument."
invoke-static {p1, p2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
return-void
:cond_c
iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutFrozen:Z
if-eqz v1, :cond_11
return-void
:cond_11
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z
move-result v0
const/4 v1, 0x0
if-nez v0, :cond_19
const/4 p1, 0x0
:cond_19
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z
move-result v0
if-nez v0, :cond_22
const/4 p2, 0x0
:cond_22
if-nez p1, :cond_26
if-eqz p2, :cond_2b
:cond_26
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;
invoke-virtual {v0, p1, p2, p3}, Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;->smoothScrollBy(IILandroid/view/animation/Interpolator;)V
:cond_2b
return-void
.end method
.method public smoothScrollToPosition(I)V
.registers 4
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutFrozen:Z
if-eqz v0, :cond_5
return-void
:cond_5
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-nez v0, :cond_11
const-string p1, "RecyclerView"
const-string v0, "Cannot smooth scroll without a LayoutManager set. Call setLayoutManager with a non-null argument."
invoke-static {p1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
return-void
:cond_11
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {v0, p0, v1, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->smoothScrollToPosition(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$State;I)V
return-void
.end method
.method public startInterceptRequestLayout()V
.registers 3
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_f
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutFrozen:Z
if-nez v0, :cond_f
const/4 v0, 0x0
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z
:cond_f
return-void
.end method
.method public startNestedScroll(I)Z
.registers 3
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
move-result-object v0
invoke-virtual {v0, p1}, Landroidx/core/view/NestedScrollingChildHelper;->startNestedScroll(I)Z
move-result p1
return p1
.end method
.method public startNestedScroll(II)Z
.registers 4
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
move-result-object v0
invoke-virtual {v0, p1, p2}, Landroidx/core/view/NestedScrollingChildHelper;->startNestedScroll(II)Z
move-result p1
return p1
.end method
.method public stopInterceptRequestLayout(Z)V
.registers 5
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I
const/4 v1, 0x1
if-ge v0, v1, :cond_7
iput v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I
:cond_7
const/4 v0, 0x0
if-nez p1, :cond_10
iget-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutFrozen:Z
if-nez v2, :cond_10
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z
:cond_10
iget v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I
if-ne v2, v1, :cond_2f
if-eqz p1, :cond_29
iget-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z
if-eqz p1, :cond_29
iget-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutFrozen:Z
if-nez p1, :cond_29
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz p1, :cond_29
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
if-eqz p1, :cond_29
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayout()V
:cond_29
iget-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutFrozen:Z
if-nez p1, :cond_2f
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z
:cond_2f
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
.registers 2
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
move-result-object v0
invoke-virtual {v0}, Landroidx/core/view/NestedScrollingChildHelper;->stopNestedScroll()V
return-void
.end method
.method public stopNestedScroll(I)V
.registers 3
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
move-result-object v0
invoke-virtual {v0, p1}, Landroidx/core/view/NestedScrollingChildHelper;->stopNestedScroll(I)V
return-void
.end method
.method public stopScroll()V
.registers 2
const/4 v0, 0x0
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->stopScrollersInternal()V
return-void
.end method
.method public swapAdapter(Landroidx/recyclerview/widget/RecyclerView$Adapter;Z)V
.registers 4
.param p1 # Landroidx/recyclerview/widget/RecyclerView$Adapter;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
const/4 v0, 0x0
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setLayoutFrozen(Z)V
const/4 v0, 0x1
invoke-direct {p0, p1, v0, p2}, Landroidx/recyclerview/widget/RecyclerView;->setAdapterInternal(Landroidx/recyclerview/widget/RecyclerView$Adapter;ZZ)V
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->processDataSetCompletelyChanged(Z)V
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
return-void
.end method
.method public viewRangeUpdate(IILjava/lang/Object;)V
.registers 10
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I
move-result v0
add-int v1, p1, p2
const/4 v2, 0x0
:goto_9
if-ge v2, v0, :cond_37
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View;
move-result-object v3
invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v4
if-eqz v4, :cond_34
invoke-virtual {v4}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
move-result v5
if-eqz v5, :cond_1e
goto :goto_34
:cond_1e
iget v5, v4, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I
if-lt v5, p1, :cond_34
if-ge v5, v1, :cond_34
const/4 v5, 0x2
invoke-virtual {v4, v5}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->addFlags(I)V
invoke-virtual {v4, p3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->addChangePayload(Ljava/lang/Object;)V
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_34
:goto_34
add-int/lit8 v2, v2, 0x1
goto :goto_9
:cond_37
iget-object p3, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {p3, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->viewRangeUpdate(II)V
return-void
.end method