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;
.implements Landroidx/core/view/NestedScrollingChild3;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback;,
Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;,
Landroidx/recyclerview/widget/RecyclerView$ItemAnimatorRestoreListener;,
Landroidx/recyclerview/widget/RecyclerView$OnFlingListener;,
Landroidx/recyclerview/widget/RecyclerView$State;,
Landroidx/recyclerview/widget/RecyclerView$SavedState;,
Landroidx/recyclerview/widget/RecyclerView$AdapterDataObservable;,
Landroidx/recyclerview/widget/RecyclerView$SmoothScroller;,
Landroidx/recyclerview/widget/RecyclerView$AdapterDataObserver;,
Landroidx/recyclerview/widget/RecyclerView$LayoutParams;,
Landroidx/recyclerview/widget/RecyclerView$ViewHolder;,
Landroidx/recyclerview/widget/RecyclerView$OnChildAttachStateChangeListener;,
Landroidx/recyclerview/widget/RecyclerView$RecyclerListener;,
Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;,
Landroidx/recyclerview/widget/RecyclerView$SimpleOnItemTouchListener;,
Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;,
Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;,
Landroidx/recyclerview/widget/RecyclerView$LayoutManager;,
Landroidx/recyclerview/widget/RecyclerView$Adapter;,
Landroidx/recyclerview/widget/RecyclerView$ViewCacheExtension;,
Landroidx/recyclerview/widget/RecyclerView$Recycler;,
Landroidx/recyclerview/widget/RecyclerView$RecycledViewPool;,
Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;,
Landroidx/recyclerview/widget/RecyclerView$RecyclerViewDataObserver;,
Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;,
Landroidx/recyclerview/widget/RecyclerView$Orientation;
}
.end annotation
# static fields
.field static final ALLOW_SIZE_IN_UNSPECIFIED_SPEC:Z
.field static final ALLOW_THREAD_GAP_WORK:Z
.field private static final CLIP_TO_PADDING_ATTR:[I
.field static final DEBUG:Z = false
.field static final DEFAULT_ORIENTATION:I = 0x1
.field static final DISPATCH_TEMP_DETACH:Z = false
.field private static final FORCE_ABS_FOCUS_SEARCH_DIRECTION:Z
.field static final FORCE_INVALIDATE_DISPLAY_LIST:Z
.field static final FOREVER_NS:J = 0x7fffffffffffffffL
.field public static final HORIZONTAL:I = 0x0
.field private static final IGNORE_DETACHED_FOCUSED_CHILD:Z
.field private static final INVALID_POINTER:I = -0x1
.field public static final INVALID_TYPE:I = -0x1
.field private static final LAYOUT_MANAGER_CONSTRUCTOR_SIGNATURE:[Ljava/lang/Class;
.annotation system Ldalvik/annotation/Signature;
value = {
"[",
"Ljava/lang/Class<",
"*>;"
}
.end annotation
.end field
.field static final MAX_SCROLL_DURATION:I = 0x7d0
.field private static final NESTED_SCROLLING_ATTRS:[I
.field public static final NO_ID:J = -0x1L
.field public static final NO_POSITION:I = -0x1
.field static final POST_UPDATES_ON_ANIMATION:Z
.field public static final SCROLL_STATE_DRAGGING:I = 0x1
.field public static final SCROLL_STATE_IDLE:I = 0x0
.field public static final SCROLL_STATE_SETTLING:I = 0x2
.field static final TAG:Ljava/lang/String; = "RecyclerView"
.field public static final TOUCH_SLOP_DEFAULT:I = 0x0
.field public static final TOUCH_SLOP_PAGING:I = 0x1
.field static final TRACE_BIND_VIEW_TAG:Ljava/lang/String; = "RV OnBindView"
.field static final TRACE_CREATE_VIEW_TAG:Ljava/lang/String; = "RV CreateView"
.field private static final TRACE_HANDLE_ADAPTER_UPDATES_TAG:Ljava/lang/String; = "RV PartialInvalidate"
.field static final TRACE_NESTED_PREFETCH_TAG:Ljava/lang/String; = "RV Nested Prefetch"
.field private static final TRACE_ON_DATA_SET_CHANGE_LAYOUT_TAG:Ljava/lang/String; = "RV FullInvalidate"
.field private static final TRACE_ON_LAYOUT_TAG:Ljava/lang/String; = "RV OnLayout"
.field static final TRACE_PREFETCH_TAG:Ljava/lang/String; = "RV Prefetch"
.field static final TRACE_SCROLL_TAG:Ljava/lang/String; = "RV Scroll"
.field static final UNDEFINED_DURATION:I = -0x80000000
.field static final VERBOSE_TRACING:Z = false
.field public static final VERTICAL:I = 0x1
.field static final sQuinticInterpolator:Landroid/view/animation/Interpolator;
# instance fields
.field private bottomGlowOffset:I
.field private glowColor:I
.field mAccessibilityDelegate:Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate;
.field private final mAccessibilityManager:Landroid/view/accessibility/AccessibilityManager;
.field mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
.field mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
.field mAdapterUpdateDuringMeasure:Z
.field private mBottomGlow:Landroid/widget/EdgeEffect;
.field private mChildDrawingOrderCallback:Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback;
.field mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
.field mClipToPadding:Z
.field mDataSetHasChangedAfterLayout:Z
.field mDispatchItemsChangedEvent:Z
.field private mDispatchScrollCounter:I
.field private mEatenAccessibilityChangeFlags:I
.field private mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;
.field mEnableFastScroller:Z
.field mFirstLayoutComplete:Z
.field mGapWorker:Landroidx/recyclerview/widget/GapWorker;
.field mHasFixedSize:Z
.field private mIgnoreMotionEventTillDown:Z
.field private mInitialTouchX:I
.field private mInitialTouchY:I
.field private mInterceptRequestLayoutDepth:I
.field private mInterceptingOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;
.field mIsAttached:Z
.field mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
.field private mItemAnimatorListener:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemAnimatorListener;
.field private mItemAnimatorRunner:Ljava/lang/Runnable;
.field final mItemDecorations:Ljava/util/ArrayList;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/ArrayList<",
"Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;",
">;"
}
.end annotation
.end field
.field mItemsAddedOrRemoved:Z
.field mItemsChanged:Z
.field private mLastTouchX:I
.field private mLastTouchY:I
.field mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
.field private mLayoutOrScrollCounter:I
.field mLayoutSuppressed:Z
.field mLayoutWasDefered:Z
.field private mLeftGlow:Landroid/widget/EdgeEffect;
.field private final mMaxFlingVelocity:I
.field private final mMinFlingVelocity:I
.field private final mMinMaxLayoutPositions:[I
.field private final mNestedOffsets:[I
.field private final mObserver:Landroidx/recyclerview/widget/RecyclerView$RecyclerViewDataObserver;
.field private mOnChildAttachStateListeners:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Landroidx/recyclerview/widget/RecyclerView$OnChildAttachStateChangeListener;",
">;"
}
.end annotation
.end field
.field private mOnFlingListener:Landroidx/recyclerview/widget/RecyclerView$OnFlingListener;
.field private final mOnItemTouchListeners:Ljava/util/ArrayList;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/ArrayList<",
"Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;",
">;"
}
.end annotation
.end field
.field final mPendingAccessibilityImportanceChange:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Landroidx/recyclerview/widget/RecyclerView$ViewHolder;",
">;"
}
.end annotation
.end field
.field private mPendingSavedState:Landroidx/recyclerview/widget/RecyclerView$SavedState;
.field mPostedAnimatorRunner:Z
.field mPrefetchRegistry:Landroidx/recyclerview/widget/GapWorker$LayoutPrefetchRegistryImpl;
.field private mPreserveFocusAfterLayout:Z
.field final mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
.field mRecyclerListener:Landroidx/recyclerview/widget/RecyclerView$RecyclerListener;
.field final mReusableIntPair:[I
.field private mRightGlow:Landroid/widget/EdgeEffect;
.field private mScaledHorizontalScrollFactor:F
.field private mScaledVerticalScrollFactor:F
.field private mScrollListener:Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;
.field private mScrollListeners:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;",
">;"
}
.end annotation
.end field
.field private final mScrollOffset:[I
.field private mScrollPointerId:I
.field private mScrollState:I
.field private mScrollingChildHelper:Landroidx/core/view/NestedScrollingChildHelper;
.field final mState:Landroidx/recyclerview/widget/RecyclerView$State;
.field final mTempRect:Landroid/graphics/Rect;
.field private final mTempRect2:Landroid/graphics/Rect;
.field final mTempRectF:Landroid/graphics/RectF;
.field private mTopGlow:Landroid/widget/EdgeEffect;
.field private mTouchSlop:I
.field final mUpdateChildViewsRunnable:Ljava/lang/Runnable;
.field private mVelocityTracker:Landroid/view/VelocityTracker;
.field final mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;
.field private final mViewInfoProcessCallback:Landroidx/recyclerview/widget/ViewInfoStore$ProcessCallback;
.field final mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
.field private topGlowOffset:I
# direct methods
.method static constructor <clinit>()V
.registers 4
.line 219
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
.line 222
new-array v1, v0, [I
const v2, 0x10100eb
aput v2, v1, v3
sput-object v1, Landroidx/recyclerview/widget/RecyclerView;->CLIP_TO_PADDING_ATTR:[I
.line 231
sget v1, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v2, 0x12
if-eq v1, v2, :cond_29
sget v1, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v2, 0x13
if-eq v1, v2, :cond_29
sget v1, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v2, 0x14
if-ne v1, v2, :cond_27
goto :goto_29
:cond_27
const/4 v1, 0x0
goto :goto_2a
:cond_29
:goto_29
const/4 v1, 0x1
:goto_2a
sput-boolean v1, Landroidx/recyclerview/widget/RecyclerView;->FORCE_INVALIDATE_DISPLAY_LIST:Z
.line 238
sget v1, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v2, 0x17
if-lt v1, v2, :cond_34
const/4 v1, 0x1
goto :goto_35
:cond_34
const/4 v1, 0x0
:goto_35
sput-boolean v1, Landroidx/recyclerview/widget/RecyclerView;->ALLOW_SIZE_IN_UNSPECIFIED_SPEC:Z
.line 240
sget v1, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v2, 0x10
if-lt v1, v2, :cond_3f
const/4 v1, 0x1
goto :goto_40
:cond_3f
const/4 v1, 0x0
:goto_40
sput-boolean v1, Landroidx/recyclerview/widget/RecyclerView;->POST_UPDATES_ON_ANIMATION:Z
.line 246
sget v1, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v2, 0x15
if-lt v1, v2, :cond_4a
const/4 v1, 0x1
goto :goto_4b
:cond_4a
const/4 v1, 0x0
:goto_4b
sput-boolean v1, Landroidx/recyclerview/widget/RecyclerView;->ALLOW_THREAD_GAP_WORK:Z
.line 252
sget v1, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v2, 0xf
if-gt v1, v2, :cond_55
const/4 v1, 0x1
goto :goto_56
:cond_55
const/4 v1, 0x0
:goto_56
sput-boolean v1, Landroidx/recyclerview/widget/RecyclerView;->FORCE_ABS_FOCUS_SEARCH_DIRECTION:Z
.line 262
sget v1, Landroid/os/Build$VERSION;->SDK_INT:I
if-gt v1, v2, :cond_5e
const/4 v1, 0x1
goto :goto_5f
:cond_5e
const/4 v1, 0x0
:goto_5f
sput-boolean v1, Landroidx/recyclerview/widget/RecyclerView;->IGNORE_DETACHED_FOCUSED_CHILD:Z
.line 361
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
sget-object v2, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
aput-object v2, v1, v0
sput-object v1, Landroidx/recyclerview/widget/RecyclerView;->LAYOUT_MANAGER_CONSTRUCTOR_SIGNATURE:[Ljava/lang/Class;
.line 649
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, "context" # Landroid/content/Context;
.line 697
const/4 v0, 0x0
invoke-direct {p0, p1, v0}, Landroidx/recyclerview/widget/RecyclerView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.line 698
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.registers 4
.param p1, "context" # Landroid/content/Context;
.param p2, "attrs" # Landroid/util/AttributeSet;
.line 701
const/4 v0, 0x0
invoke-direct {p0, p1, p2, v0}, Landroidx/recyclerview/widget/RecyclerView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
.line 702
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
.registers 9
.param p1, "context" # Landroid/content/Context;
.param p2, "attrs" # Landroid/util/AttributeSet;
.param p3, "defStyle" # I
.line 705
invoke-direct {p0, p1, p2, p3}, Landroid/view/ViewGroup;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
.line 364
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;
.line 366
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;
.line 383
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;
.line 397
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;
.line 417
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;
.line 418
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;
.line 419
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;
.line 423
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;
.line 424
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;
.line 439
const/4 v0, 0x0
iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I
.line 469
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z
.line 478
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchItemsChangedEvent:Z
.line 488
iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I
.line 497
iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchScrollCounter:I
.line 499
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;
.line 503
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;
.line 530
iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I
.line 531
const/4 v1, -0x1
iput v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
.line 543
const/4 v1, 0x1
iput v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScaledHorizontalScrollFactor:F
.line 544
iput v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScaledVerticalScrollFactor:F
.line 546
const/4 v1, 0x1
iput-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mPreserveFocusAfterLayout:Z
.line 548
new-instance v2, Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;
invoke-direct {v2, p0}, Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
iput-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;
.line 551
sget-boolean v2, Landroidx/recyclerview/widget/RecyclerView;->ALLOW_THREAD_GAP_WORK:Z
if-eqz v2, :cond_79
new-instance v2, Landroidx/recyclerview/widget/GapWorker$LayoutPrefetchRegistryImpl;
invoke-direct {v2}, Landroidx/recyclerview/widget/GapWorker$LayoutPrefetchRegistryImpl;-><init>()V
goto :goto_7a
:cond_79
const/4 v2, 0x0
:goto_7a
iput-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mPrefetchRegistry:Landroidx/recyclerview/widget/GapWorker$LayoutPrefetchRegistryImpl;
.line 554
new-instance v2, Landroidx/recyclerview/widget/RecyclerView$State;
invoke-direct {v2}, Landroidx/recyclerview/widget/RecyclerView$State;-><init>()V
iput-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
.line 560
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemsAddedOrRemoved:Z
.line 561
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemsChanged:Z
.line 562
new-instance v2, Landroidx/recyclerview/widget/RecyclerView$ItemAnimatorRestoreListener;
invoke-direct {v2, p0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimatorRestoreListener;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
iput-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimatorListener:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemAnimatorListener;
.line 564
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPostedAnimatorRunner:Z
.line 570
const/4 v2, 0x2
new-array v3, v2, [I
iput-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinMaxLayoutPositions:[I
.line 573
new-array v3, v2, [I
iput-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I
.line 574
new-array v3, v2, [I
iput-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I
.line 576
iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->topGlowOffset:I
.line 577
iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->bottomGlowOffset:I
.line 578
iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->glowColor:I
.line 629
new-array v3, v2, [I
iput-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I
.line 636
new-instance v3, Ljava/util/ArrayList;
invoke-direct {v3}, Ljava/util/ArrayList;-><init>()V
iput-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingAccessibilityImportanceChange:Ljava/util/List;
.line 639
new-instance v3, Landroidx/recyclerview/widget/RecyclerView$2;
invoke-direct {v3, p0}, Landroidx/recyclerview/widget/RecyclerView$2;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
iput-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimatorRunner:Ljava/lang/Runnable;
.line 660
new-instance v3, Landroidx/recyclerview/widget/RecyclerView$4;
invoke-direct {v3, p0}, Landroidx/recyclerview/widget/RecyclerView$4;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
iput-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoProcessCallback:Landroidx/recyclerview/widget/ViewInfoStore$ProcessCallback;
.line 706
if-eqz p2, :cond_ce
.line 707
sget-object v3, Landroidx/recyclerview/widget/RecyclerView;->CLIP_TO_PADDING_ATTR:[I
invoke-virtual {p1, p2, v3, p3, v0}, Landroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray;
move-result-object v3
.line 708
.local v3, "a":Landroid/content/res/TypedArray;
invoke-virtual {v3, v0, v1}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z
move-result v4
iput-boolean v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
.line 709
invoke-virtual {v3}, Landroid/content/res/TypedArray;->recycle()V
.line 710
.end local v3 # "a":Landroid/content/res/TypedArray;
goto :goto_d0
.line 711
:cond_ce
iput-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
.line 713
:goto_d0
invoke-virtual {p0, v1}, Landroidx/recyclerview/widget/RecyclerView;->setScrollContainer(Z)V
.line 714
invoke-virtual {p0, v1}, Landroidx/recyclerview/widget/RecyclerView;->setFocusableInTouchMode(Z)V
.line 716
invoke-static {p1}, Landroid/view/ViewConfiguration;->get(Landroid/content/Context;)Landroid/view/ViewConfiguration;
move-result-object v3
.line 717
.local v3, "vc":Landroid/view/ViewConfiguration;
invoke-virtual {v3}, Landroid/view/ViewConfiguration;->getScaledTouchSlop()I
move-result v4
iput v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I
.line 718
nop
.line 719
invoke-static {v3, p1}, Landroidx/core/view/ViewConfigurationCompat;->getScaledHorizontalScrollFactor(Landroid/view/ViewConfiguration;Landroid/content/Context;)F
move-result v4
iput v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mScaledHorizontalScrollFactor:F
.line 720
nop
.line 721
invoke-static {v3, p1}, Landroidx/core/view/ViewConfigurationCompat;->getScaledVerticalScrollFactor(Landroid/view/ViewConfiguration;Landroid/content/Context;)F
move-result v4
iput v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mScaledVerticalScrollFactor:F
.line 722
invoke-virtual {v3}, Landroid/view/ViewConfiguration;->getScaledMinimumFlingVelocity()I
move-result v4
iput v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinFlingVelocity:I
.line 723
invoke-virtual {v3}, Landroid/view/ViewConfiguration;->getScaledMaximumFlingVelocity()I
move-result v4
iput v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mMaxFlingVelocity:I
.line 724
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getOverScrollMode()I
move-result v4
if-ne v4, v2, :cond_101
const/4 v0, 0x1
:cond_101
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setWillNotDraw(Z)V
.line 726
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimatorListener:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemAnimatorListener;
invoke-virtual {v0, v2}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->setListener(Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemAnimatorListener;)V
.line 727
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->initAdapterManager()V
.line 728
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->initChildrenHelper()V
.line 729
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->initAutofill()V
.line 731
invoke-static {p0}, Landroidx/core/view/ViewCompat;->getImportantForAccessibility(Landroid/view/View;)I
move-result v0
if-nez v0, :cond_11d
.line 733
invoke-static {p0, v1}, Landroidx/core/view/ViewCompat;->setImportantForAccessibility(Landroid/view/View;I)V
.line 736
:cond_11d
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getContext()Landroid/content/Context;
move-result-object v0
.line 737
const-string v1, "accessibility"
invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/view/accessibility/AccessibilityManager;
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAccessibilityManager:Landroid/view/accessibility/AccessibilityManager;
.line 738
new-instance v0, Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate;
invoke-direct {v0, p0}, Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setAccessibilityDelegateCompat(Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate;)V
.line 741
const/4 v0, 0x1
.line 742
.local v0, "nestedScrollingEnabled":Z
const/high16 v1, 0x40000
invoke-virtual {p0, v1}, Landroidx/recyclerview/widget/RecyclerView;->setDescendantFocusability(I)V
.line 745
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setNestedScrollingEnabled(Z)V
.line 746
return-void
.end method
.method static synthetic access$000(Landroidx/recyclerview/widget/RecyclerView;Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V
.registers 4
.param p0, "x0" # Landroidx/recyclerview/widget/RecyclerView;
.param p1, "x1" # Landroid/view/View;
.param p2, "x2" # I
.param p3, "x3" # Landroid/view/ViewGroup$LayoutParams;
.line 210
invoke-virtual {p0, p1, p2, p3}, Landroidx/recyclerview/widget/RecyclerView;->attachViewToParent(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V
return-void
.end method
.method static synthetic access$100(Landroidx/recyclerview/widget/RecyclerView;I)V
.registers 2
.param p0, "x0" # Landroidx/recyclerview/widget/RecyclerView;
.param p1, "x1" # I
.line 210
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->detachViewFromParent(I)V
return-void
.end method
.method static synthetic access$200(Landroidx/recyclerview/widget/RecyclerView;)Z
.registers 2
.param p0, "x0" # Landroidx/recyclerview/widget/RecyclerView;
.line 210
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->awakenScrollBars()Z
move-result v0
return v0
.end method
.method static synthetic access$300(Landroidx/recyclerview/widget/RecyclerView;II)V
.registers 3
.param p0, "x0" # Landroidx/recyclerview/widget/RecyclerView;
.param p1, "x1" # I
.param p2, "x2" # I
.line 210
invoke-virtual {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->setMeasuredDimension(II)V
return-void
.end method
.method private addAnimatingView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
.registers 8
.param p1, "viewHolder" # Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.line 1451
iget-object v0, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
.line 1452
.local v0, "view":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
.line 1453
.local v1, "alreadyParented":Z
: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
.line 1454
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isTmpDetached()Z
move-result v3
if-eqz v3, :cond_26
.line 1456
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
const/4 v4, -0x1
invoke-virtual {v0}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
move-result-object v5
invoke-virtual {v3, v0, v4, v5, v2}, Landroidx/recyclerview/widget/ChildHelper;->attachViewToParent(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;Z)V
goto :goto_33
.line 1457
:cond_26
if-nez v1, :cond_2e
.line 1458
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v3, v0, v2}, Landroidx/recyclerview/widget/ChildHelper;->addView(Landroid/view/View;Z)V
goto :goto_33
.line 1460
:cond_2e
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v2, v0}, Landroidx/recyclerview/widget/ChildHelper;->hide(Landroid/view/View;)V
.line 1462
: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 9
.param p1, "oldHolder" # Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.param p2, "newHolder" # Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.param p3, "preInfo" # Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;
.param p4, "postInfo" # Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;
.param p5, "oldHolderDisappearing" # Z
.param p6, "newHolderDisappearing" # Z
.line 4308
const/4 v0, 0x0
invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->setIsRecyclable(Z)V
.line 4309
if-eqz p5, :cond_9
.line 4310
invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->addAnimatingView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
.line 4312
:cond_9
if-eq p1, p2, :cond_1f
.line 4313
if-eqz p6, :cond_10
.line 4314
invoke-direct {p0, p2}, Landroidx/recyclerview/widget/RecyclerView;->addAnimatingView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
.line 4316
:cond_10
iput-object p2, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mShadowedHolder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.line 4318
invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->addAnimatingView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
.line 4319
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v1, p1}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->unscrapView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
.line 4320
invoke-virtual {p2, v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->setIsRecyclable(Z)V
.line 4321
iput-object p1, p2, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mShadowingHolder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.line 4323
:cond_1f
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
invoke-virtual {v0, 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 v0
if-eqz v0, :cond_2a
.line 4324
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->postAnimationRunner()V
.line 4326
:cond_2a
return-void
.end method
.method private cancelScroll()V
.registers 2
.line 3370
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->resetScroll()V
.line 3371
const/4 v0, 0x0
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V
.line 3372
return-void
.end method
.method static clearNestedRecyclerViewIfNotNested(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
.registers 4
.param p0, "holder" # Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.line 5765
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mNestedRecyclerView:Ljava/lang/ref/WeakReference;
if-eqz v0, :cond_24
.line 5766
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mNestedRecyclerView:Ljava/lang/ref/WeakReference;
invoke-virtual {v0}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/view/View;
.line 5767
.local v0, "item":Landroid/view/View;
:goto_c
if-eqz v0, :cond_21
.line 5768
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
if-ne v0, v1, :cond_13
.line 5769
return-void
.line 5772
:cond_13
invoke-virtual {v0}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
move-result-object v1
.line 5773
.local v1, "parent":Landroid/view/ViewParent;
instance-of v2, v1, Landroid/view/View;
if-eqz v2, :cond_1f
.line 5774
move-object v0, v1
check-cast v0, Landroid/view/View;
goto :goto_20
.line 5776
:cond_1f
const/4 v0, 0x0
.line 5778
.end local v1 # "parent":Landroid/view/ViewParent;
:goto_20
goto :goto_c
.line 5779
:cond_21
const/4 v1, 0x0
iput-object v1, p0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mNestedRecyclerView:Ljava/lang/ref/WeakReference;
.line 5781
.end local v0 # "item":Landroid/view/View;
:cond_24
return-void
.end method
.method private createLayoutManager(Landroid/content/Context;Ljava/lang/String;Landroid/util/AttributeSet;II)V
.registers 16
.param p1, "context" # Landroid/content/Context;
.param p2, "className" # Ljava/lang/String;
.param p3, "attrs" # Landroid/util/AttributeSet;
.param p4, "defStyleAttr" # I
.param p5, "defStyleRes" # I
.line 802
const-string v0, ": Could not instantiate the LayoutManager: "
if-eqz p2, :cond_11f
.line 803
invoke-virtual {p2}, Ljava/lang/String;->trim()Ljava/lang/String;
move-result-object p2
.line 804
invoke-virtual {p2}, Ljava/lang/String;->isEmpty()Z
move-result v1
if-nez v1, :cond_11f
.line 805
invoke-direct {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->getFullClassName(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
move-result-object p2
.line 808
:try_start_12
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isInEditMode()Z
move-result v1
if-eqz v1, :cond_21
.line 810
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
.local v1, "classLoader":Ljava/lang/ClassLoader;
goto :goto_25
.line 812
.end local v1 # "classLoader":Ljava/lang/ClassLoader;
:cond_21
invoke-virtual {p1}, Landroid/content/Context;->getClassLoader()Ljava/lang/ClassLoader;
move-result-object v1
.line 814
.restart local v1 # "classLoader":Ljava/lang/ClassLoader;
:goto_25
nop
.line 815
const/4 v2, 0x0
invoke-static {p2, v2, v1}, Ljava/lang/Class;->forName(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
move-result-object v3
const-class v4, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
.line 816
invoke-virtual {v3, v4}, Ljava/lang/Class;->asSubclass(Ljava/lang/Class;)Ljava/lang/Class;
move-result-object v3
:try_end_31
.catch Ljava/lang/ClassNotFoundException; {:try_start_12 .. :try_end_31} :catch_100
.catch Ljava/lang/reflect/InvocationTargetException; {:try_start_12 .. :try_end_31} :catch_e3
.catch Ljava/lang/InstantiationException; {:try_start_12 .. :try_end_31} :catch_c6
.catch Ljava/lang/IllegalAccessException; {:try_start_12 .. :try_end_31} :catch_a7
.catch Ljava/lang/ClassCastException; {:try_start_12 .. :try_end_31} :catch_88
.line 818
.local v3, "layoutManagerClass":Ljava/lang/Class;, "Ljava/lang/Class<+Landroidx/recyclerview/widget/RecyclerView$LayoutManager;>;"
const/4 v4, 0x0
.line 820
.local v4, "constructorArgs":[Ljava/lang/Object;
const/4 v5, 0x1
:try_start_33
sget-object v6, Landroidx/recyclerview/widget/RecyclerView;->LAYOUT_MANAGER_CONSTRUCTOR_SIGNATURE:[Ljava/lang/Class;
.line 821
invoke-virtual {v3, v6}, Ljava/lang/Class;->getConstructor([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
move-result-object v6
.line 822
.local v6, "constructor":Ljava/lang/reflect/Constructor;, "Ljava/lang/reflect/Constructor<+Landroidx/recyclerview/widget/RecyclerView$LayoutManager;>;"
const/4 v7, 0x4
new-array v7, v7, [Ljava/lang/Object;
aput-object p1, v7, v2
aput-object p3, v7, v5
const/4 v8, 0x2
invoke-static {p4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v9
aput-object v9, v7, v8
const/4 v8, 0x3
invoke-static {p5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v9
aput-object v9, v7, v8
:try_end_4e
.catch Ljava/lang/NoSuchMethodException; {:try_start_33 .. :try_end_4e} :catch_50
.catch Ljava/lang/ClassNotFoundException; {:try_start_33 .. :try_end_4e} :catch_100
.catch Ljava/lang/reflect/InvocationTargetException; {:try_start_33 .. :try_end_4e} :catch_e3
.catch Ljava/lang/InstantiationException; {:try_start_33 .. :try_end_4e} :catch_c6
.catch Ljava/lang/IllegalAccessException; {:try_start_33 .. :try_end_4e} :catch_a7
.catch Ljava/lang/ClassCastException; {:try_start_33 .. :try_end_4e} :catch_88
move-object v4, v7
.line 831
goto :goto_58
.line 823
.end local v6 # "constructor":Ljava/lang/reflect/Constructor;, "Ljava/lang/reflect/Constructor<+Landroidx/recyclerview/widget/RecyclerView$LayoutManager;>;"
:catch_50
move-exception v6
.line 825
.local v6, "e":Ljava/lang/NoSuchMethodException;
:try_start_51
new-array v2, v2, [Ljava/lang/Class;
invoke-virtual {v3, v2}, Ljava/lang/Class;->getConstructor([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
move-result-object v2
:try_end_57
.catch Ljava/lang/NoSuchMethodException; {:try_start_51 .. :try_end_57} :catch_66
.catch Ljava/lang/ClassNotFoundException; {:try_start_51 .. :try_end_57} :catch_100
.catch Ljava/lang/reflect/InvocationTargetException; {:try_start_51 .. :try_end_57} :catch_e3
.catch Ljava/lang/InstantiationException; {:try_start_51 .. :try_end_57} :catch_c6
.catch Ljava/lang/IllegalAccessException; {:try_start_51 .. :try_end_57} :catch_a7
.catch Ljava/lang/ClassCastException; {:try_start_51 .. :try_end_57} :catch_88
.line 830
.local v2, "constructor":Ljava/lang/reflect/Constructor;, "Ljava/lang/reflect/Constructor<+Landroidx/recyclerview/widget/RecyclerView$LayoutManager;>;"
move-object v6, v2
.line 832
.end local v2 # "constructor":Ljava/lang/reflect/Constructor;, "Ljava/lang/reflect/Constructor<+Landroidx/recyclerview/widget/RecyclerView$LayoutManager;>;"
.local v6, "constructor":Ljava/lang/reflect/Constructor;, "Ljava/lang/reflect/Constructor<+Landroidx/recyclerview/widget/RecyclerView$LayoutManager;>;"
:goto_58
:try_start_58
invoke-virtual {v6, v5}, Ljava/lang/reflect/Constructor;->setAccessible(Z)V
.line 833
invoke-virtual {v6, v4}, Ljava/lang/reflect/Constructor;->newInstance([Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
check-cast v2, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->setLayoutManager(Landroidx/recyclerview/widget/RecyclerView$LayoutManager;)V
.line 849
.end local v1 # "classLoader":Ljava/lang/ClassLoader;
.end local v3 # "layoutManagerClass":Ljava/lang/Class;, "Ljava/lang/Class<+Landroidx/recyclerview/widget/RecyclerView$LayoutManager;>;"
.end local v4 # "constructorArgs":[Ljava/lang/Object;
.end local v6 # "constructor":Ljava/lang/reflect/Constructor;, "Ljava/lang/reflect/Constructor<+Landroidx/recyclerview/widget/RecyclerView$LayoutManager;>;"
goto/16 :goto_11f
.line 826
.restart local v1 # "classLoader":Ljava/lang/ClassLoader;
.restart local v3 # "layoutManagerClass":Ljava/lang/Class;, "Ljava/lang/Class<+Landroidx/recyclerview/widget/RecyclerView$LayoutManager;>;"
.restart local v4 # "constructorArgs":[Ljava/lang/Object;
.local v6, "e":Ljava/lang/NoSuchMethodException;
:catch_66
move-exception v2
.line 827
.local v2, "e1":Ljava/lang/NoSuchMethodException;
invoke-virtual {v2, v6}, Ljava/lang/NoSuchMethodException;->initCause(Ljava/lang/Throwable;)Ljava/lang/Throwable;
.line 828
new-instance v5, Ljava/lang/IllegalStateException;
new-instance v7, Ljava/lang/StringBuilder;
invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
invoke-interface {p3}, Landroid/util/AttributeSet;->getPositionDescription()Ljava/lang/String;
move-result-object v8
invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v8, ": Error creating LayoutManager "
invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v7, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v7
invoke-direct {v5, v7, v2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
.end local p1 # "context":Landroid/content/Context;
.end local p2 # "className":Ljava/lang/String;
.end local p3 # "attrs":Landroid/util/AttributeSet;
.end local p4 # "defStyleAttr":I
.end local p5 # "defStyleRes":I
throw v5
:try_end_88
.catch Ljava/lang/ClassNotFoundException; {:try_start_58 .. :try_end_88} :catch_100
.catch Ljava/lang/reflect/InvocationTargetException; {:try_start_58 .. :try_end_88} :catch_e3
.catch Ljava/lang/InstantiationException; {:try_start_58 .. :try_end_88} :catch_c6
.catch Ljava/lang/IllegalAccessException; {:try_start_58 .. :try_end_88} :catch_a7
.catch Ljava/lang/ClassCastException; {:try_start_58 .. :try_end_88} :catch_88
.line 846
.end local v1 # "classLoader":Ljava/lang/ClassLoader;
.end local v2 # "e1":Ljava/lang/NoSuchMethodException;
.end local v3 # "layoutManagerClass":Ljava/lang/Class;, "Ljava/lang/Class<+Landroidx/recyclerview/widget/RecyclerView$LayoutManager;>;"
.end local v4 # "constructorArgs":[Ljava/lang/Object;
.end local v6 # "e":Ljava/lang/NoSuchMethodException;
.restart local p1 # "context":Landroid/content/Context;
.restart local p2 # "className":Ljava/lang/String;
.restart local p3 # "attrs":Landroid/util/AttributeSet;
.restart local p4 # "defStyleAttr":I
.restart local p5 # "defStyleRes":I
:catch_88
move-exception v0
.line 847
.local v0, "e":Ljava/lang/ClassCastException;
new-instance v1, Ljava/lang/IllegalStateException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-interface {p3}, Landroid/util/AttributeSet;->getPositionDescription()Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v3, ": Class is not a LayoutManager "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v1
.line 843
.end local v0 # "e":Ljava/lang/ClassCastException;
:catch_a7
move-exception v0
.line 844
.local v0, "e":Ljava/lang/IllegalAccessException;
new-instance v1, Ljava/lang/IllegalStateException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-interface {p3}, Landroid/util/AttributeSet;->getPositionDescription()Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v3, ": Cannot access non-public constructor "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v1
.line 840
.end local v0 # "e":Ljava/lang/IllegalAccessException;
:catch_c6
move-exception v1
.line 841
.local v1, "e":Ljava/lang/InstantiationException;
new-instance v2, Ljava/lang/IllegalStateException;
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
invoke-interface {p3}, Landroid/util/AttributeSet;->getPositionDescription()Ljava/lang/String;
move-result-object v4
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v2, v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v2
.line 837
.end local v1 # "e":Ljava/lang/InstantiationException;
:catch_e3
move-exception v1
.line 838
.local v1, "e":Ljava/lang/reflect/InvocationTargetException;
new-instance v2, Ljava/lang/IllegalStateException;
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
invoke-interface {p3}, Landroid/util/AttributeSet;->getPositionDescription()Ljava/lang/String;
move-result-object v4
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v2, v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v2
.line 834
.end local v1 # "e":Ljava/lang/reflect/InvocationTargetException;
:catch_100
move-exception v0
.line 835
.local v0, "e":Ljava/lang/ClassNotFoundException;
new-instance v1, Ljava/lang/IllegalStateException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-interface {p3}, Landroid/util/AttributeSet;->getPositionDescription()Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v3, ": Unable to find LayoutManager "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v1
.line 852
.end local v0 # "e":Ljava/lang/ClassNotFoundException;
:cond_11f
:goto_11f
return-void
.end method
.method private didChildRangeChange(II)Z
.registers 7
.param p1, "minPositionPreLayout" # I
.param p2, "maxPositionPreLayout" # I
.line 4254
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinMaxLayoutPositions:[I
invoke-direct {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->findMinMaxChildLayoutPositions([I)V
.line 4255
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 v0, v0, v3
if-eq v0, p2, :cond_12
:cond_11
const/4 v1, 0x1
:cond_12
return v1
.end method
.method private dispatchContentChangedIfNecessary()V
.registers 4
.line 3602
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mEatenAccessibilityChangeFlags:I
.line 3603
.local v0, "flags":I
const/4 v1, 0x0
iput v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mEatenAccessibilityChangeFlags:I
.line 3604
if-eqz v0, :cond_1c
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isAccessibilityEnabled()Z
move-result v1
if-eqz v1, :cond_1c
.line 3605
invoke-static {}, Landroid/view/accessibility/AccessibilityEvent;->obtain()Landroid/view/accessibility/AccessibilityEvent;
move-result-object v1
.line 3606
.local v1, "event":Landroid/view/accessibility/AccessibilityEvent;
const/16 v2, 0x800
invoke-virtual {v1, v2}, Landroid/view/accessibility/AccessibilityEvent;->setEventType(I)V
.line 3607
invoke-static {v1, v0}, Landroidx/core/view/accessibility/AccessibilityEventCompat;->setContentChangeTypes(Landroid/view/accessibility/AccessibilityEvent;I)V
.line 3608
invoke-virtual {p0, v1}, Landroidx/recyclerview/widget/RecyclerView;->sendAccessibilityEventUnchecked(Landroid/view/accessibility/AccessibilityEvent;)V
.line 3610
.end local v1 # "event":Landroid/view/accessibility/AccessibilityEvent;
:cond_1c
return-void
.end method
.method private dispatchLayoutStep1()V
.registers 11
.line 3960
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
const/4 v1, 0x1
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$State;->assertLayoutStep(I)V
.line 3961
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->fillRemainingScrollValues(Landroidx/recyclerview/widget/RecyclerView$State;)V
.line 3962
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
const/4 v2, 0x0
iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mIsMeasuring:Z
.line 3963
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
.line 3964
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
invoke-virtual {v0}, Landroidx/recyclerview/widget/ViewInfoStore;->clear()V
.line 3965
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V
.line 3966
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->processAdapterUpdatesAndSetAnimationFlags()V
.line 3967
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->saveFocusInfo()V
.line 3968
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
.line 3969
iput-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemsChanged:Z
iput-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemsAddedOrRemoved:Z
.line 3970
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iget-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunPredictiveAnimations:Z
iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mInPreLayout:Z
.line 3971
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->getItemCount()I
move-result v1
iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mItemCount:I
.line 3972
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinMaxLayoutPositions:[I
invoke-direct {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->findMinMaxChildLayoutPositions([I)V
.line 3974
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_b5
.line 3976
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
.line 3977
.local v0, "count":I
const/4 v1, 0x0
.local v1, "i":I
:goto_55
if-ge v1, v0, :cond_b5
.line 3978
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v3, v1}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View;
move-result-object v3
invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v3
.line 3979
.local v3, "holder":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
move-result v4
if-nez v4, :cond_b2
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isInvalid()Z
move-result v4
if-eqz v4, :cond_76
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_76
.line 3980
goto :goto_b2
.line 3982
:cond_76
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
.line 3984
invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->buildAdapterChangeFlagsForAnimations(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)I
move-result v6
.line 3985
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getUnmodifiedPayloads()Ljava/util/List;
move-result-object v7
.line 3983
invoke-virtual {v4, v5, v3, v6, v7}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->recordPreLayoutInformation(Landroidx/recyclerview/widget/RecyclerView$State;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;ILjava/util/List;)Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;
move-result-object v4
.line 3986
.local v4, "animationInfo":Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
invoke-virtual {v5, v3, v4}, Landroidx/recyclerview/widget/ViewInfoStore;->addToPreLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V
.line 3987
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iget-boolean v5, v5, Landroidx/recyclerview/widget/RecyclerView$State;->mTrackOldChangeHolders:Z
if-eqz v5, :cond_b2
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isUpdated()Z
move-result v5
if-eqz v5, :cond_b2
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isRemoved()Z
move-result v5
if-nez v5, :cond_b2
.line 3988
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
move-result v5
if-nez v5, :cond_b2
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isInvalid()Z
move-result v5
if-nez v5, :cond_b2
.line 3989
invoke-virtual {p0, v3}, Landroidx/recyclerview/widget/RecyclerView;->getChangedHolderKey(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)J
move-result-wide v5
.line 3997
.local v5, "key":J
iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
invoke-virtual {v7, v5, v6, v3}, Landroidx/recyclerview/widget/ViewInfoStore;->addToOldChangeHolders(JLandroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
.line 3977
.end local v3 # "holder":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.end local v4 # "animationInfo":Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;
.end local v5 # "key":J
:cond_b2
:goto_b2
add-int/lit8 v1, v1, 0x1
goto :goto_55
.line 4001
.end local v0 # "count":I
.end local v1 # "i":I
:cond_b5
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_121
.line 4008
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->saveOldPositions()V
.line 4009
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iget-boolean v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z
.line 4010
.local v0, "didStructureChange":Z
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iput-boolean v2, v1, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z
.line 4012
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {v1, v3, v4}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onLayoutChildren(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)V
.line 4013
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iput-boolean v0, v1, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z
.line 4015
const/4 v1, 0x0
.restart local v1 # "i":I
:goto_d4
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v3}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I
move-result v3
if-ge v1, v3, :cond_11d
.line 4016
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
.line 4017
.local v3, "child":Landroid/view/View;
invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v4
.line 4018
.local v4, "viewHolder":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
invoke-virtual {v4}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
move-result v5
if-eqz v5, :cond_ed
.line 4019
goto :goto_11a
.line 4021
:cond_ed
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
invoke-virtual {v5, v4}, Landroidx/recyclerview/widget/ViewInfoStore;->isInPreLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Z
move-result v5
if-nez v5, :cond_11a
.line 4022
invoke-static {v4}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->buildAdapterChangeFlagsForAnimations(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)I
move-result v5
.line 4023
.local v5, "flags":I
const/16 v6, 0x2000
.line 4024
invoke-virtual {v4, v6}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->hasAnyOfTheFlags(I)Z
move-result v6
.line 4025
.local v6, "wasHidden":Z
if-nez v6, :cond_103
.line 4026
or-int/lit16 v5, v5, 0x1000
.line 4028
:cond_103
iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
iget-object v8, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
.line 4029
invoke-virtual {v4}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getUnmodifiedPayloads()Ljava/util/List;
move-result-object v9
.line 4028
invoke-virtual {v7, v8, v4, v5, v9}, 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 v7
.line 4030
.local v7, "animationInfo":Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;
if-eqz v6, :cond_115
.line 4031
invoke-virtual {p0, v4, v7}, Landroidx/recyclerview/widget/RecyclerView;->recordAnimationInfoIfBouncedHiddenView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V
goto :goto_11a
.line 4033
:cond_115
iget-object v8, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
invoke-virtual {v8, v4, v7}, Landroidx/recyclerview/widget/ViewInfoStore;->addToAppearedInPreLayoutHolders(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V
.line 4015
.end local v3 # "child":Landroid/view/View;
.end local v4 # "viewHolder":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.end local v5 # "flags":I
.end local v6 # "wasHidden":Z
.end local v7 # "animationInfo":Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;
:cond_11a
:goto_11a
add-int/lit8 v1, v1, 0x1
goto :goto_d4
.line 4038
.end local v1 # "i":I
:cond_11d
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->clearOldPositions()V
.line 4039
.end local v0 # "didStructureChange":Z
goto :goto_124
.line 4040
:cond_121
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->clearOldPositions()V
.line 4042
:goto_124
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V
.line 4043
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
.line 4044
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
.line 4045
return-void
.end method
.method private dispatchLayoutStep2()V
.registers 5
.line 4052
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
.line 4053
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V
.line 4054
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
const/4 v1, 0x6
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$State;->assertLayoutStep(I)V
.line 4055
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->consumeUpdatesInOnePass()V
.line 4056
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->getItemCount()I
move-result v1
iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mItemCount:I
.line 4057
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
const/4 v1, 0x0
iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mDeletedInvisibleItemCountSincePreviousLayout:I
.line 4060
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mInPreLayout:Z
.line 4061
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {v0, v2, v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onLayoutChildren(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)V
.line 4063
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
.line 4064
const/4 v0, 0x0
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingSavedState:Landroidx/recyclerview/widget/RecyclerView$SavedState;
.line 4067
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iget-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunSimpleAnimations:Z
if-eqz v2, :cond_40
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
if-eqz v2, :cond_40
const/4 v2, 0x1
goto :goto_41
:cond_40
const/4 v2, 0x0
:goto_41
iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunSimpleAnimations:Z
.line 4068
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
const/4 v2, 0x4
iput v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mLayoutStep:I
.line 4069
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V
.line 4070
invoke-virtual {p0, v1}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
.line 4071
return-void
.end method
.method private dispatchLayoutStep3()V
.registers 20
.line 4078
move-object/from16 v7, p0
iget-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
const/4 v1, 0x4
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$State;->assertLayoutStep(I)V
.line 4079
invoke-virtual/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
.line 4080
invoke-virtual/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V
.line 4081
iget-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
const/4 v8, 0x1
iput v8, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mLayoutStep:I
.line 4082
iget-object v0, v7, 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_99
.line 4086
iget-object v0, v7, 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, v8
move v9, v0
.local v9, "i":I
:goto_21
if-ltz v9, :cond_92
.line 4087
iget-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v0, v9}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View;
move-result-object v0
invoke-static {v0}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v10
.line 4088
.local v10, "holder":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
invoke-virtual {v10}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
move-result v0
if-eqz v0, :cond_34
.line 4089
goto :goto_8f
.line 4091
:cond_34
invoke-virtual {v7, v10}, Landroidx/recyclerview/widget/RecyclerView;->getChangedHolderKey(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)J
move-result-wide v11
.line 4092
.local v11, "key":J
iget-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
iget-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
.line 4093
invoke-virtual {v0, v1, v10}, 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 v13
.line 4094
.local v13, "animationInfo":Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;
iget-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
invoke-virtual {v0, v11, v12}, Landroidx/recyclerview/widget/ViewInfoStore;->getFromOldChangeHolders(J)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v14
.line 4095
.local v14, "oldChangeViewHolder":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
if-eqz v14, :cond_8a
invoke-virtual {v14}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
move-result v0
if-nez v0, :cond_8a
.line 4106
iget-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
invoke-virtual {v0, v14}, Landroidx/recyclerview/widget/ViewInfoStore;->isDisappearing(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Z
move-result v15
.line 4108
.local v15, "oldDisappearing":Z
iget-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
invoke-virtual {v0, v10}, Landroidx/recyclerview/widget/ViewInfoStore;->isDisappearing(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Z
move-result v16
.line 4109
.local v16, "newDisappearing":Z
if-eqz v15, :cond_64
if-ne v14, v10, :cond_64
.line 4111
iget-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
invoke-virtual {v0, v10, v13}, Landroidx/recyclerview/widget/ViewInfoStore;->addToPostLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V
goto :goto_89
.line 4113
:cond_64
iget-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
invoke-virtual {v0, v14}, Landroidx/recyclerview/widget/ViewInfoStore;->popFromPreLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;
move-result-object v17
.line 4116
.local v17, "preInfo":Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;
iget-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
invoke-virtual {v0, v10, v13}, Landroidx/recyclerview/widget/ViewInfoStore;->addToPostLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V
.line 4117
iget-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
invoke-virtual {v0, v10}, Landroidx/recyclerview/widget/ViewInfoStore;->popFromPostLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;
move-result-object v18
.line 4118
.local v18, "postInfo":Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;
if-nez v17, :cond_7b
.line 4119
invoke-direct {v7, v11, v12, v10, v14}, Landroidx/recyclerview/widget/RecyclerView;->handleMissingPreInfoForChangeError(JLandroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
goto :goto_89
.line 4121
:cond_7b
move-object/from16 v0, p0
move-object v1, v14
move-object v2, v10
move-object/from16 v3, v17
move-object/from16 v4, v18
move v5, v15
move/from16 v6, v16
invoke-direct/range {v0 .. v6}, 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
.line 4125
.end local v15 # "oldDisappearing":Z
.end local v16 # "newDisappearing":Z
.end local v17 # "preInfo":Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;
.end local v18 # "postInfo":Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;
:goto_89
goto :goto_8f
.line 4126
:cond_8a
iget-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
invoke-virtual {v0, v10, v13}, Landroidx/recyclerview/widget/ViewInfoStore;->addToPostLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V
.line 4086
.end local v10 # "holder":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.end local v11 # "key":J
.end local v13 # "animationInfo":Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;
.end local v14 # "oldChangeViewHolder":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
:goto_8f
add-int/lit8 v9, v9, -0x1
goto :goto_21
.line 4131
.end local v9 # "i":I
:cond_92
iget-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
iget-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoProcessCallback:Landroidx/recyclerview/widget/ViewInfoStore$ProcessCallback;
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/ViewInfoStore;->process(Landroidx/recyclerview/widget/ViewInfoStore$ProcessCallback;)V
.line 4134
:cond_99
iget-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->removeAndRecycleScrapInt(Landroidx/recyclerview/widget/RecyclerView$Recycler;)V
.line 4135
iget-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iget v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mItemCount:I
iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mPreviousLayoutItemCount:I
.line 4136
const/4 v0, 0x0
iput-boolean v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z
.line 4137
iput-boolean v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mDispatchItemsChangedEvent:Z
.line 4138
iget-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iput-boolean v0, v1, Landroidx/recyclerview/widget/RecyclerView$State;->mRunSimpleAnimations:Z
.line 4140
iget-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iput-boolean v0, v1, Landroidx/recyclerview/widget/RecyclerView$State;->mRunPredictiveAnimations:Z
.line 4141
iget-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iput-boolean v0, v1, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mRequestedSimpleAnimations:Z
.line 4142
iget-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
iget-object v1, v1, Landroidx/recyclerview/widget/RecyclerView$Recycler;->mChangedScrap:Ljava/util/ArrayList;
if-eqz v1, :cond_c4
.line 4143
iget-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
iget-object v1, v1, Landroidx/recyclerview/widget/RecyclerView$Recycler;->mChangedScrap:Ljava/util/ArrayList;
invoke-virtual {v1}, Ljava/util/ArrayList;->clear()V
.line 4145
:cond_c4
iget-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget-boolean v1, v1, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mPrefetchMaxObservedInInitialPrefetch:Z
if-eqz v1, :cond_d7
.line 4148
iget-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iput v0, v1, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mPrefetchMaxCountObserved:I
.line 4149
iget-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iput-boolean v0, v1, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mPrefetchMaxObservedInInitialPrefetch:Z
.line 4150
iget-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->updateViewCacheSize()V
.line 4153
:cond_d7
iget-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget-object v2, v7, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {v1, v2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onLayoutCompleted(Landroidx/recyclerview/widget/RecyclerView$State;)V
.line 4154
invoke-virtual/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V
.line 4155
invoke-virtual {v7, v0}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
.line 4156
iget-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
invoke-virtual {v1}, Landroidx/recyclerview/widget/ViewInfoStore;->clear()V
.line 4157
iget-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mMinMaxLayoutPositions:[I
aget v2, v1, v0
aget v1, v1, v8
invoke-direct {v7, v2, v1}, Landroidx/recyclerview/widget/RecyclerView;->didChildRangeChange(II)Z
move-result v1
if-eqz v1, :cond_f8
.line 4158
invoke-virtual {v7, v0, v0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchOnScrolled(II)V
.line 4160
:cond_f8
invoke-direct/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->recoverFocusFromState()V
.line 4161
invoke-direct/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->resetFocusInfo()V
.line 4162
return-void
.end method
.method private dispatchToOnItemTouchListeners(Landroid/view/MotionEvent;)Z
.registers 5
.param p1, "e" # Landroid/view/MotionEvent;
.line 3054
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptingOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;
if-nez v0, :cond_11
.line 3055
invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I
move-result v0
if-nez v0, :cond_c
.line 3056
const/4 v0, 0x0
return v0
.line 3058
:cond_c
invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->findInterceptingOnItemTouchListener(Landroid/view/MotionEvent;)Z
move-result v0
return v0
.line 3060
:cond_11
invoke-interface {v0, p0, p1}, Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;->onTouchEvent(Landroidx/recyclerview/widget/RecyclerView;Landroid/view/MotionEvent;)V
.line 3061
invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I
move-result v0
.line 3062
.local v0, "action":I
const/4 v1, 0x3
const/4 v2, 0x1
if-eq v0, v1, :cond_1e
if-ne v0, v2, :cond_21
.line 3063
:cond_1e
const/4 v1, 0x0
iput-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptingOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;
.line 3065
:cond_21
return v2
.end method
.method private findInterceptingOnItemTouchListener(Landroid/view/MotionEvent;)Z
.registers 7
.param p1, "e" # Landroid/view/MotionEvent;
.line 3083
invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I
move-result v0
.line 3084
.local v0, "action":I
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList;
invoke-virtual {v1}, Ljava/util/ArrayList;->size()I
move-result v1
.line 3085
.local v1, "listenerCount":I
const/4 v2, 0x0
.local v2, "i":I
:goto_b
if-ge v2, v1, :cond_25
.line 3086
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners: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$OnItemTouchListener;
.line 3087
.local v3, "listener":Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;
invoke-interface {v3, p0, p1}, Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;->onInterceptTouchEvent(Landroidx/recyclerview/widget/RecyclerView;Landroid/view/MotionEvent;)Z
move-result v4
if-eqz v4, :cond_22
const/4 v4, 0x3
if-eq v0, v4, :cond_22
.line 3088
iput-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptingOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;
.line 3089
const/4 v4, 0x1
return v4
.line 3085
.end local v3 # "listener":Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;
:cond_22
add-int/lit8 v2, v2, 0x1
goto :goto_b
.line 3092
.end local v2 # "i":I
:cond_25
const/4 v2, 0x0
return v2
.end method
.method private findMinMaxChildLayoutPositions([I)V
.registers 10
.param p1, "into" # [I
.line 4228
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
.line 4229
.local v0, "count":I
const/4 v1, 0x0
const/4 v2, 0x1
if-nez v0, :cond_10
.line 4230
const/4 v3, -0x1
aput v3, p1, v1
.line 4231
aput v3, p1, v2
.line 4232
return-void
.line 4234
:cond_10
const v3, 0x7fffffff
.line 4235
.local v3, "minPositionPreLayout":I
const/high16 v4, -0x80000000
.line 4236
.local v4, "maxPositionPreLayout":I
const/4 v5, 0x0
.local v5, "i":I
:goto_16
if-ge v5, v0, :cond_36
.line 4237
iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v6, v5}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View;
move-result-object v6
invoke-static {v6}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v6
.line 4238
.local v6, "holder":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
invoke-virtual {v6}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
move-result v7
if-eqz v7, :cond_29
.line 4239
goto :goto_33
.line 4241
:cond_29
invoke-virtual {v6}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getLayoutPosition()I
move-result v7
.line 4242
.local v7, "pos":I
if-ge v7, v3, :cond_30
.line 4243
move v3, v7
.line 4245
:cond_30
if-le v7, v4, :cond_33
.line 4246
move v4, v7
.line 4236
.end local v6 # "holder":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.end local v7 # "pos":I
:cond_33
:goto_33
add-int/lit8 v5, v5, 0x1
goto :goto_16
.line 4249
.end local v5 # "i":I
:cond_36
aput v3, p1, v1
.line 4250
aput v4, p1, v2
.line 4251
return-void
.end method
.method static findNestedRecyclerView(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView;
.registers 7
.param p0, "view" # Landroid/view/View;
.line 5743
instance-of v0, p0, Landroid/view/ViewGroup;
const/4 v1, 0x0
if-nez v0, :cond_6
.line 5744
return-object v1
.line 5746
:cond_6
instance-of v0, p0, Landroidx/recyclerview/widget/RecyclerView;
if-eqz v0, :cond_e
.line 5747
move-object v0, p0
check-cast v0, Landroidx/recyclerview/widget/RecyclerView;
return-object v0
.line 5749
:cond_e
move-object v0, p0
check-cast v0, Landroid/view/ViewGroup;
.line 5750
.local v0, "parent":Landroid/view/ViewGroup;
invoke-virtual {v0}, Landroid/view/ViewGroup;->getChildCount()I
move-result v2
.line 5751
.local v2, "count":I
const/4 v3, 0x0
.local v3, "i":I
:goto_16
if-ge v3, v2, :cond_26
.line 5752
invoke-virtual {v0, v3}, Landroid/view/ViewGroup;->getChildAt(I)Landroid/view/View;
move-result-object v4
.line 5753
.local v4, "child":Landroid/view/View;
invoke-static {v4}, Landroidx/recyclerview/widget/RecyclerView;->findNestedRecyclerView(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView;
move-result-object v5
.line 5754
.local v5, "descendant":Landroidx/recyclerview/widget/RecyclerView;
if-eqz v5, :cond_23
.line 5755
return-object v5
.line 5751
.end local v4 # "child":Landroid/view/View;
.end local v5 # "descendant":Landroidx/recyclerview/widget/RecyclerView;
:cond_23
add-int/lit8 v3, v3, 0x1
goto :goto_16
.line 5758
.end local v3 # "i":I
:cond_26
return-object v1
.end method
.method private findNextViewToFocus()Landroid/view/View;
.registers 7
.line 3829
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_c
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iget v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemPosition:I
goto :goto_d
:cond_c
const/4 v0, 0x0
.line 3832
.local v0, "startFocusSearchIndex":I
:goto_d
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
.line 3833
.local v1, "itemCount":I
move v2, v0
.local v2, "i":I
:goto_14
if-ge v2, v1, :cond_2b
.line 3834
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->findViewHolderForAdapterPosition(I)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v3
.line 3835
.local v3, "nextFocus":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
if-nez v3, :cond_1d
.line 3836
goto :goto_2b
.line 3838
:cond_1d
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_28
.line 3839
iget-object v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
return-object v4
.line 3833
:cond_28
add-int/lit8 v2, v2, 0x1
goto :goto_14
.line 3842
.end local v2 # "i":I
.end local v3 # "nextFocus":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
:cond_2b
:goto_2b
invoke-static {v1, v0}, Ljava/lang/Math;->min(II)I
move-result v2
.line 3843
.local v2, "limit":I
add-int/lit8 v3, v2, -0x1
.local v3, "i":I
:goto_31
const/4 v4, 0x0
if-ltz v3, :cond_49
.line 3844
invoke-virtual {p0, v3}, Landroidx/recyclerview/widget/RecyclerView;->findViewHolderForAdapterPosition(I)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v5
.line 3845
.local v5, "nextFocus":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
if-nez v5, :cond_3b
.line 3846
return-object v4
.line 3848
:cond_3b
iget-object v4, v5, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
invoke-virtual {v4}, Landroid/view/View;->hasFocusable()Z
move-result v4
if-eqz v4, :cond_46
.line 3849
iget-object v4, v5, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
return-object v4
.line 3843
:cond_46
add-int/lit8 v3, v3, -0x1
goto :goto_31
.line 3852
.end local v3 # "i":I
.end local v5 # "nextFocus":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
:cond_49
return-object v4
.end method
.method static getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.registers 2
.param p0, "child" # Landroid/view/View;
.line 4744
if-nez p0, :cond_4
.line 4745
const/4 v0, 0x0
return-object v0
.line 4747
:cond_4
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 v0, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mViewHolder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
return-object v0
.end method
.method static getDecoratedBoundsWithMarginsInt(Landroid/view/View;Landroid/graphics/Rect;)V
.registers 9
.param p0, "view" # Landroid/view/View;
.param p1, "outBounds" # Landroid/graphics/Rect;
.line 5024
invoke-virtual {p0}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
move-result-object v0
check-cast v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
.line 5025
.local v0, "lp":Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
iget-object v1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mDecorInsets:Landroid/graphics/Rect;
.line 5026
.local v1, "insets":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, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->leftMargin:I
sub-int/2addr v2, v3
.line 5027
invoke-virtual {p0}, Landroid/view/View;->getTop()I
move-result v3
iget v4, v1, Landroid/graphics/Rect;->top:I
sub-int/2addr v3, v4
iget v4, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->topMargin:I
sub-int/2addr v3, v4
.line 5028
invoke-virtual {p0}, Landroid/view/View;->getRight()I
move-result v4
iget v5, v1, Landroid/graphics/Rect;->right:I
add-int/2addr v4, v5
iget v5, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->rightMargin:I
add-int/2addr v4, v5
.line 5029
invoke-virtual {p0}, Landroid/view/View;->getBottom()I
move-result v5
iget v6, v1, Landroid/graphics/Rect;->bottom:I
add-int/2addr v5, v6
iget v6, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->bottomMargin:I
add-int/2addr v5, v6
.line 5026
invoke-virtual {p1, v2, v3, v4, v5}, Landroid/graphics/Rect;->set(IIII)V
.line 5030
return-void
.end method
.method private getDeepestFocusedViewWithId(Landroid/view/View;)I
.registers 5
.param p1, "view" # Landroid/view/View;
.line 3930
invoke-virtual {p1}, Landroid/view/View;->getId()I
move-result v0
.line 3931
.local v0, "lastKnownId":I
:goto_4
invoke-virtual {p1}, Landroid/view/View;->isFocused()Z
move-result v1
if-nez v1, :cond_27
instance-of v1, p1, Landroid/view/ViewGroup;
if-eqz v1, :cond_27
invoke-virtual {p1}, Landroid/view/View;->hasFocus()Z
move-result v1
if-eqz v1, :cond_27
.line 3932
move-object v1, p1
check-cast v1, Landroid/view/ViewGroup;
invoke-virtual {v1}, Landroid/view/ViewGroup;->getFocusedChild()Landroid/view/View;
move-result-object p1
.line 3933
invoke-virtual {p1}, Landroid/view/View;->getId()I
move-result v1
.line 3934
.local v1, "id":I
const/4 v2, -0x1
if-eq v1, v2, :cond_26
.line 3935
invoke-virtual {p1}, Landroid/view/View;->getId()I
move-result v0
.line 3937
.end local v1 # "id":I
:cond_26
goto :goto_4
.line 3938
:cond_27
return v0
.end method
.method private getFullClassName(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
.registers 6
.param p1, "context" # Landroid/content/Context;
.param p2, "className" # Ljava/lang/String;
.line 855
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
.line 856
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 v1
invoke-virtual {v0, v1}, 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 v0
return-object v0
.line 858
:cond_1d
const-string v0, "."
invoke-virtual {p2, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_26
.line 859
return-object p2
.line 861
:cond_26
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-class v2, Landroidx/recyclerview/widget/RecyclerView;
invoke-virtual {v2}, Ljava/lang/Class;->getPackage()Ljava/lang/Package;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/Package;->getName()Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)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 v0
return-object v0
.end method
.method private getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
.registers 2
.line 13372
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollingChildHelper:Landroidx/core/view/NestedScrollingChildHelper;
if-nez v0, :cond_b
.line 13373
new-instance v0, Landroidx/core/view/NestedScrollingChildHelper;
invoke-direct {v0, p0}, Landroidx/core/view/NestedScrollingChildHelper;-><init>(Landroid/view/View;)V
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollingChildHelper:Landroidx/core/view/NestedScrollingChildHelper;
.line 13375
: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 15
.param p1, "key" # J
.param p3, "holder" # Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.param p4, "oldChangeViewHolder" # Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.line 4182
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
.line 4183
.local v0, "childCount":I
const/4 v1, 0x0
.local v1, "i":I
:goto_7
if-ge v1, v0, :cond_75
.line 4184
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View;
move-result-object v2
.line 4185
.local v2, "view":Landroid/view/View;
invoke-static {v2}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v3
.line 4186
.local v3, "other":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
if-ne v3, p3, :cond_16
.line 4187
goto :goto_72
.line 4189
:cond_16
invoke-virtual {p0, v3}, Landroidx/recyclerview/widget/RecyclerView;->getChangedHolderKey(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)J
move-result-wide v4
.line 4190
.local v4, "otherKey":J
cmp-long v6, v4, p1
if-nez v6, :cond_72
.line 4191
iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
const-string v7, " \n View Holder 2:"
if-eqz v6, :cond_4e
invoke-virtual {v6}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z
move-result v6
if-eqz v6, :cond_4e
.line 4192
new-instance v6, Ljava/lang/IllegalStateException;
new-instance v8, Ljava/lang/StringBuilder;
invoke-direct {v8}, Ljava/lang/StringBuilder;-><init>()V
const-string v9, "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 {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v8, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v8, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v8, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
.line 4195
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String;
move-result-object v7
invoke-virtual {v8, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v7
invoke-direct {v6, v7}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v6
.line 4197
:cond_4e
new-instance v6, Ljava/lang/IllegalStateException;
new-instance v8, Ljava/lang/StringBuilder;
invoke-direct {v8}, Ljava/lang/StringBuilder;-><init>()V
const-string v9, "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 {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v8, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v8, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v8, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
.line 4201
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String;
move-result-object v7
invoke-virtual {v8, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v7
invoke-direct {v6, v7}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v6
.line 4183
.end local v2 # "view":Landroid/view/View;
.end local v3 # "other":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.end local v4 # "otherKey":J
:cond_72
:goto_72
add-int/lit8 v1, v1, 0x1
goto :goto_7
.line 4206
.end local v1 # "i":I
:cond_75
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Problem while matching changed view holders with the newones. The pre-layout information for the change holder "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v2, " cannot be found but it is necessary for "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
.line 4208
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
.line 4206
const-string v2, "RecyclerView"
invoke-static {v2, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 4209
return-void
.end method
.method private hasUpdatedView()Z
.registers 5
.line 1926
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
.line 1927
.local v0, "childCount":I
const/4 v1, 0x0
.local v1, "i":I
:goto_7
if-ge v1, v0, :cond_27
.line 1928
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
.line 1929
.local v2, "holder":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
if-eqz v2, :cond_24
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
move-result v3
if-eqz v3, :cond_1c
.line 1930
goto :goto_24
.line 1932
:cond_1c
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isUpdated()Z
move-result v3
if-eqz v3, :cond_24
.line 1933
const/4 v3, 0x1
return v3
.line 1927
.end local v2 # "holder":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
:cond_24
:goto_24
add-int/lit8 v1, v1, 0x1
goto :goto_7
.line 1936
.end local v1 # "i":I
:cond_27
const/4 v1, 0x0
return v1
.end method
.method private initAutofill()V
.registers 2
.line 767
invoke-static {p0}, Landroidx/core/view/ViewCompat;->getImportantForAutofill(Landroid/view/View;)I
move-result v0
if-nez v0, :cond_b
.line 768
const/16 v0, 0x8
invoke-static {p0, v0}, Landroidx/core/view/ViewCompat;->setImportantForAutofill(Landroid/view/View;I)V
.line 771
:cond_b
return-void
.end method
.method private initChildrenHelper()V
.registers 3
.line 865
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;
.line 985
return-void
.end method
.method private isPreferredNextFocus(Landroid/view/View;Landroid/view/View;I)Z
.registers 11
.param p1, "focused" # Landroid/view/View;
.param p2, "next" # Landroid/view/View;
.param p3, "direction" # I
.line 2770
const/4 v0, 0x0
if-eqz p2, :cond_11f
if-ne p2, p0, :cond_7
goto/16 :goto_11f
.line 2774
: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
.line 2775
return v0
.line 2777
:cond_e
const/4 v1, 0x1
if-nez p1, :cond_12
.line 2778
return v1
.line 2781
: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
.line 2782
return v1
.line 2785
: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
.line 2786
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect;
invoke-virtual {p2}, Landroid/view/View;->getWidth()I
move-result v3
invoke-virtual {p2}, Landroid/view/View;->getHeight()I
move-result v4
invoke-virtual {v2, v0, v0, v3, v4}, Landroid/graphics/Rect;->set(IIII)V
.line 2787
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
invoke-virtual {p0, p1, v2}, Landroidx/recyclerview/widget/RecyclerView;->offsetDescendantRectToMyCoords(Landroid/view/View;Landroid/graphics/Rect;)V
.line 2788
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect;
invoke-virtual {p0, p2, v2}, Landroidx/recyclerview/widget/RecyclerView;->offsetDescendantRectToMyCoords(Landroid/view/View;Landroid/graphics/Rect;)V
.line 2789
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->getLayoutDirection()I
move-result v2
if-ne v2, v1, :cond_47
const/4 v2, -0x1
goto :goto_48
:cond_47
const/4 v2, 0x1
.line 2790
.local v2, "rtl":I
:goto_48
const/4 v3, 0x0
.line 2791
.local v3, "rightness":I
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
iget v4, v4, Landroid/graphics/Rect;->left:I
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect;
iget v5, v5, Landroid/graphics/Rect;->left:I
if-lt v4, v5, :cond_5d
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
iget v4, v4, Landroid/graphics/Rect;->right:I
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect;
iget v5, v5, Landroid/graphics/Rect;->left:I
if-gt v4, v5, :cond_69
:cond_5d
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
iget v4, v4, Landroid/graphics/Rect;->right:I
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect;
iget v5, v5, Landroid/graphics/Rect;->right:I
if-ge v4, v5, :cond_69
.line 2794
const/4 v3, 0x1
goto :goto_88
.line 2795
:cond_69
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
iget v4, v4, Landroid/graphics/Rect;->right:I
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect;
iget v5, v5, Landroid/graphics/Rect;->right:I
if-gt v4, v5, :cond_7d
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
iget v4, v4, Landroid/graphics/Rect;->left:I
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect;
iget v5, v5, Landroid/graphics/Rect;->right:I
if-lt v4, v5, :cond_88
:cond_7d
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
iget v4, v4, Landroid/graphics/Rect;->left:I
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect;
iget v5, v5, Landroid/graphics/Rect;->left:I
if-le v4, v5, :cond_88
.line 2798
const/4 v3, -0x1
.line 2800
:cond_88
:goto_88
const/4 v4, 0x0
.line 2801
.local v4, "downness":I
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
iget v5, v5, Landroid/graphics/Rect;->top:I
iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect;
iget v6, v6, Landroid/graphics/Rect;->top:I
if-lt v5, v6, :cond_9d
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
iget v5, v5, Landroid/graphics/Rect;->bottom:I
iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect;
iget v6, v6, Landroid/graphics/Rect;->top:I
if-gt v5, v6, :cond_a9
:cond_9d
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
iget v5, v5, Landroid/graphics/Rect;->bottom:I
iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect;
iget v6, v6, Landroid/graphics/Rect;->bottom:I
if-ge v5, v6, :cond_a9
.line 2804
const/4 v4, 0x1
goto :goto_c8
.line 2805
:cond_a9
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
iget v5, v5, Landroid/graphics/Rect;->bottom:I
iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect;
iget v6, v6, Landroid/graphics/Rect;->bottom:I
if-gt v5, v6, :cond_bd
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
iget v5, v5, Landroid/graphics/Rect;->top:I
iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect;
iget v6, v6, Landroid/graphics/Rect;->bottom:I
if-lt v5, v6, :cond_c8
:cond_bd
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
iget v5, v5, Landroid/graphics/Rect;->top:I
iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect;
iget v6, v6, Landroid/graphics/Rect;->top:I
if-le v5, v6, :cond_c8
.line 2808
const/4 v4, -0x1
.line 2810
:cond_c8
:goto_c8
if-eq p3, v1, :cond_115
const/4 v5, 0x2
if-eq p3, v5, :cond_10b
const/16 v5, 0x11
if-eq p3, v5, :cond_107
const/16 v5, 0x21
if-eq p3, v5, :cond_103
const/16 v5, 0x42
if-eq p3, v5, :cond_ff
const/16 v5, 0x82
if-ne p3, v5, :cond_e1
.line 2818
if-lez v4, :cond_e0
const/4 v0, 0x1
:cond_e0
return v0
.line 2824
:cond_e1
new-instance v0, Ljava/lang/IllegalArgumentException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v5, "Invalid direction: "
invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String;
move-result-object v5
invoke-virtual {v1, v5}, 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/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.line 2814
:cond_ff
if-lez v3, :cond_102
const/4 v0, 0x1
:cond_102
return v0
.line 2816
:cond_103
if-gez v4, :cond_106
const/4 v0, 0x1
:cond_106
return v0
.line 2812
:cond_107
if-gez v3, :cond_10a
const/4 v0, 0x1
:cond_10a
return v0
.line 2820
:cond_10b
if-gtz v4, :cond_113
if-nez v4, :cond_114
mul-int v5, v3, v2
if-ltz v5, :cond_114
:cond_113
const/4 v0, 0x1
:cond_114
return v0
.line 2822
:cond_115
if-ltz v4, :cond_11d
if-nez v4, :cond_11e
mul-int v5, v3, v2
if-gtz v5, :cond_11e
:cond_11d
const/4 v0, 0x1
:cond_11e
return v0
.line 2771
.end local v2 # "rtl":I
.end local v3 # "rightness":I
.end local v4 # "downness":I
:cond_11f
:goto_11f
return v0
.end method
.method private onPointerUp(Landroid/view/MotionEvent;)V
.registers 6
.param p1, "e" # Landroid/view/MotionEvent;
.line 3375
invoke-virtual {p1}, Landroid/view/MotionEvent;->getActionIndex()I
move-result v0
.line 3376
.local v0, "actionIndex":I
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
.line 3378
if-nez v0, :cond_10
const/4 v1, 0x1
goto :goto_11
:cond_10
const/4 v1, 0x0
.line 3379
.local v1, "newIndex":I
:goto_11
invoke-virtual {p1, v1}, Landroid/view/MotionEvent;->getPointerId(I)I
move-result v2
iput v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
.line 3380
invoke-virtual {p1, v1}, Landroid/view/MotionEvent;->getX(I)F
move-result v2
const/high16 v3, 0x3f000000 # 0.5f
add-float/2addr v2, v3
float-to-int v2, v2
iput v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I
iput v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchX:I
.line 3381
invoke-virtual {p1, v1}, Landroid/view/MotionEvent;->getY(I)F
move-result v2
add-float/2addr v2, v3
float-to-int v2, v2
iput v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I
iput v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchY:I
.line 3383
.end local v1 # "newIndex":I
:cond_2d
return-void
.end method
.method private predictiveItemAnimationsEnabled()Z
.registers 2
.line 3698
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
.line 3708
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z
if-eqz v0, :cond_12
.line 3711
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->reset()V
.line 3712
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchItemsChangedEvent:Z
if-eqz v0, :cond_12
.line 3713
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onItemsChanged(Landroidx/recyclerview/widget/RecyclerView;)V
.line 3719
:cond_12
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->predictiveItemAnimationsEnabled()Z
move-result v0
if-eqz v0, :cond_1e
.line 3720
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
.line 3722
:cond_1e
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->consumeUpdatesInOnePass()V
.line 3724
: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
.line 3725
.local v0, "animationTypeSupported":Z
: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;
.line 3731
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
.line 3732
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_6c
if-eqz v0, :cond_6c
iget-boolean v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z
if-nez v4, :cond_6c
.line 3735
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->predictiveItemAnimationsEnabled()Z
move-result v4
if-eqz v4, :cond_6c
const/4 v1, 0x1
goto :goto_6d
:cond_6c
nop
:goto_6d
iput-boolean v1, v3, Landroidx/recyclerview/widget/RecyclerView$State;->mRunPredictiveAnimations:Z
.line 3736
return-void
.end method
.method private pullGlows(FFFF)V
.registers 11
.param p1, "x" # F
.param p2, "overscrollX" # F
.param p3, "y" # F
.param p4, "overscrollY" # F
.line 2463
const/4 v0, 0x0
.line 2464
.local v0, "invalidate":Z
const/high16 v1, 0x3f800000 # 1.0f
const/4 v2, 0x0
cmpg-float v3, p2, v2
if-gez v3, :cond_22
.line 2465
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureLeftGlow()V
.line 2466
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
neg-float v4, p2
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I
move-result v5
int-to-float v5, v5
div-float/2addr v4, v5
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getHeight()I
move-result v5
int-to-float v5, v5
div-float v5, p3, v5
sub-float v5, v1, v5
invoke-static {v3, v4, v5}, Landroidx/core/widget/EdgeEffectCompat;->onPull(Landroid/widget/EdgeEffect;FF)V
.line 2467
const/4 v0, 0x1
goto :goto_3d
.line 2468
:cond_22
cmpl-float v3, p2, v2
if-lez v3, :cond_3d
.line 2469
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureRightGlow()V
.line 2470
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I
move-result v4
int-to-float v4, v4
div-float v4, p2, v4
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getHeight()I
move-result v5
int-to-float v5, v5
div-float v5, p3, v5
invoke-static {v3, v4, v5}, Landroidx/core/widget/EdgeEffectCompat;->onPull(Landroid/widget/EdgeEffect;FF)V
.line 2471
const/4 v0, 0x1
.line 2474
:cond_3d
:goto_3d
cmpg-float v3, p4, v2
if-gez v3, :cond_59
.line 2475
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureTopGlow()V
.line 2476
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
neg-float v3, p4
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getHeight()I
move-result v4
int-to-float v4, v4
div-float/2addr v3, v4
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I
move-result v4
int-to-float v4, v4
div-float v4, p1, v4
invoke-static {v1, v3, v4}, Landroidx/core/widget/EdgeEffectCompat;->onPull(Landroid/widget/EdgeEffect;FF)V
.line 2477
const/4 v0, 0x1
goto :goto_75
.line 2478
:cond_59
cmpl-float v3, p4, v2
if-lez v3, :cond_75
.line 2479
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureBottomGlow()V
.line 2480
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getHeight()I
move-result v4
int-to-float v4, v4
div-float v4, p4, v4
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I
move-result v5
int-to-float v5, v5
div-float v5, p1, v5
sub-float/2addr v1, v5
invoke-static {v3, v4, v1}, Landroidx/core/widget/EdgeEffectCompat;->onPull(Landroid/widget/EdgeEffect;FF)V
.line 2481
const/4 v0, 0x1
.line 2484
:cond_75
:goto_75
if-nez v0, :cond_7f
cmpl-float v1, p2, v2
if-nez v1, :cond_7f
cmpl-float v1, p4, v2
if-eqz v1, :cond_82
.line 2485
:cond_7f
invoke-static {p0}, Landroidx/core/view/ViewCompat;->postInvalidateOnAnimation(Landroid/view/View;)V
.line 2487
:cond_82
return-void
.end method
.method private recoverFocusFromState()V
.registers 8
.line 3856
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPreserveFocusAfterLayout:Z
if-eqz v0, :cond_b5
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
if-eqz v0, :cond_b5
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->hasFocus()Z
move-result v0
if-eqz v0, :cond_b5
.line 3857
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getDescendantFocusability()I
move-result v0
const/high16 v1, 0x60000
if-eq v0, v1, :cond_b5
.line 3858
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getDescendantFocusability()I
move-result v0
const/high16 v1, 0x20000
if-ne v0, v1, :cond_26
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isFocused()Z
move-result v0
if-eqz v0, :cond_26
goto/16 :goto_b5
.line 3866
:cond_26
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isFocused()Z
move-result v0
if-nez v0, :cond_55
.line 3867
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getFocusedChild()Landroid/view/View;
move-result-object v0
.line 3868
.local v0, "focusedChild":Landroid/view/View;
sget-boolean v1, Landroidx/recyclerview/widget/RecyclerView;->IGNORE_DETACHED_FOCUSED_CHILD:Z
if-eqz v1, :cond_4c
.line 3869
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
.line 3881
:cond_40
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-nez v1, :cond_55
.line 3884
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestFocus()Z
.line 3885
return-void
.line 3887
: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 v1
if-nez v1, :cond_55
.line 3890
return-void
.line 3893
.end local v0 # "focusedChild":Landroid/view/View;
:cond_55
const/4 v0, 0x0
.line 3897
.local v0, "focusTarget":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iget-wide v1, v1, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemId:J
const-wide/16 v3, -0x1
cmp-long v5, v1, v3
if-eqz v5, :cond_70
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z
move-result v1
if-eqz v1, :cond_70
.line 3898
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iget-wide v1, v1, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemId:J
invoke-virtual {p0, v1, v2}, Landroidx/recyclerview/widget/RecyclerView;->findViewHolderForItemId(J)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v0
.line 3900
:cond_70
const/4 v1, 0x0
.line 3901
.local v1, "viewToFocus":Landroid/view/View;
if-eqz v0, :cond_89
iget-object v2, 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 {v2, v5}, Landroidx/recyclerview/widget/ChildHelper;->isHidden(Landroid/view/View;)Z
move-result v2
if-nez v2, :cond_89
iget-object v2, v0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
.line 3902
invoke-virtual {v2}, Landroid/view/View;->hasFocusable()Z
move-result v2
if-nez v2, :cond_86
goto :goto_89
.line 3915
:cond_86
iget-object v1, v0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
goto :goto_95
.line 3903
:cond_89
:goto_89
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v2}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I
move-result v2
if-lez v2, :cond_95
.line 3910
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->findNextViewToFocus()Landroid/view/View;
move-result-object v1
.line 3918
:cond_95
:goto_95
if-eqz v1, :cond_b4
.line 3919
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iget v2, v2, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedSubChildId:I
int-to-long v5, v2
cmp-long v2, v5, v3
if-eqz v2, :cond_b1
.line 3920
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iget v2, v2, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedSubChildId:I
invoke-virtual {v1, v2}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v2
.line 3921
.local v2, "child":Landroid/view/View;
if-eqz v2, :cond_b1
invoke-virtual {v2}, Landroid/view/View;->isFocusable()Z
move-result v3
if-eqz v3, :cond_b1
.line 3922
move-object v1, v2
.line 3925
.end local v2 # "child":Landroid/view/View;
:cond_b1
invoke-virtual {v1}, Landroid/view/View;->requestFocus()Z
.line 3927
:cond_b4
return-void
.line 3863
.end local v0 # "focusTarget":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.end local v1 # "viewToFocus":Landroid/view/View;
:cond_b5
:goto_b5
return-void
.end method
.method private releaseGlows()V
.registers 3
.line 2490
const/4 v0, 0x0
.line 2491
.local v0, "needsInvalidate":Z
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
if-eqz v1, :cond_e
.line 2492
invoke-virtual {v1}, Landroid/widget/EdgeEffect;->onRelease()V
.line 2493
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
invoke-virtual {v1}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result v0
.line 2495
:cond_e
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
if-eqz v1, :cond_1c
.line 2496
invoke-virtual {v1}, Landroid/widget/EdgeEffect;->onRelease()V
.line 2497
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
invoke-virtual {v1}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result v1
or-int/2addr v0, v1
.line 2499
:cond_1c
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
if-eqz v1, :cond_2a
.line 2500
invoke-virtual {v1}, Landroid/widget/EdgeEffect;->onRelease()V
.line 2501
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
invoke-virtual {v1}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result v1
or-int/2addr v0, v1
.line 2503
:cond_2a
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
if-eqz v1, :cond_38
.line 2504
invoke-virtual {v1}, Landroid/widget/EdgeEffect;->onRelease()V
.line 2505
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
.line 2507
:cond_38
if-eqz v0, :cond_3d
.line 2508
invoke-static {p0}, Landroidx/core/view/ViewCompat;->postInvalidateOnAnimation(Landroid/view/View;)V
.line 2510
:cond_3d
return-void
.end method
.method private requestChildOnScreen(Landroid/view/View;Landroid/view/View;)V
.registers 14
.param p1, "child" # Landroid/view/View;
.param p2, "focused" # Landroid/view/View;
.line 2845
if-eqz p2, :cond_4
move-object v0, p2
goto :goto_5
:cond_4
move-object v0, p1
.line 2846
.local v0, "rectView":Landroid/view/View;
: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
.line 2851
invoke-virtual {v0}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
move-result-object v1
.line 2852
.local v1, "focusedLayoutParams":Landroid/view/ViewGroup$LayoutParams;
instance-of v2, v1, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
if-eqz v2, :cond_48
.line 2854
move-object v2, v1
check-cast v2, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
.line 2855
.local v2, "lp":Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
iget-boolean v3, v2, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mInsetsDirty:Z
if-nez v3, :cond_48
.line 2856
iget-object v3, v2, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mDecorInsets:Landroid/graphics/Rect;
.line 2857
.local v3, "insets":Landroid/graphics/Rect;
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
iget v6, v5, Landroid/graphics/Rect;->left:I
iget v7, v3, Landroid/graphics/Rect;->left:I
sub-int/2addr v6, v7
iput v6, v5, Landroid/graphics/Rect;->left:I
.line 2858
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
iget v6, v5, Landroid/graphics/Rect;->right:I
iget v7, v3, Landroid/graphics/Rect;->right:I
add-int/2addr v6, v7
iput v6, v5, Landroid/graphics/Rect;->right:I
.line 2859
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
iget v6, v5, Landroid/graphics/Rect;->top:I
iget v7, v3, Landroid/graphics/Rect;->top:I
sub-int/2addr v6, v7
iput v6, v5, Landroid/graphics/Rect;->top:I
.line 2860
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
iget v6, v5, Landroid/graphics/Rect;->bottom:I
iget v7, v3, Landroid/graphics/Rect;->bottom:I
add-int/2addr v6, v7
iput v6, v5, Landroid/graphics/Rect;->bottom:I
.line 2864
.end local v2 # "lp":Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
.end local v3 # "insets":Landroid/graphics/Rect;
:cond_48
if-eqz p2, :cond_54
.line 2865
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
invoke-virtual {p0, p2, v2}, Landroidx/recyclerview/widget/RecyclerView;->offsetDescendantRectToMyCoords(Landroid/view/View;Landroid/graphics/Rect;)V
.line 2866
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
invoke-virtual {p0, p1, v2}, Landroidx/recyclerview/widget/RecyclerView;->offsetRectIntoDescendantCoords(Landroid/view/View;Landroid/graphics/Rect;)V
.line 2868
:cond_54
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 v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z
const/4 v3, 0x1
xor-int/lit8 v9, v2, 0x1
if-nez p2, :cond_61
const/4 v10, 0x1
goto :goto_62
:cond_61
const/4 v10, 0x0
:goto_62
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
.line 2870
return-void
.end method
.method private resetFocusInfo()V
.registers 4
.line 3814
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
const-wide/16 v1, -0x1
iput-wide v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemId:J
.line 3815
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
const/4 v1, -0x1
iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemPosition:I
.line 3816
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedSubChildId:I
.line 3817
return-void
.end method
.method private resetScroll()V
.registers 2
.line 3362
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
if-eqz v0, :cond_7
.line 3363
invoke-virtual {v0}, Landroid/view/VelocityTracker;->clear()V
.line 3365
:cond_7
const/4 v0, 0x0
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->stopNestedScroll(I)V
.line 3366
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->releaseGlows()V
.line 3367
return-void
.end method
.method private saveFocusInfo()V
.registers 6
.line 3793
const/4 v0, 0x0
.line 3794
.local v0, "child":Landroid/view/View;
iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mPreserveFocusAfterLayout:Z
if-eqz v1, :cond_13
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->hasFocus()Z
move-result v1
if-eqz v1, :cond_13
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
if-eqz v1, :cond_13
.line 3795
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getFocusedChild()Landroid/view/View;
move-result-object v0
.line 3798
:cond_13
if-nez v0, :cond_17
const/4 v1, 0x0
goto :goto_1b
:cond_17
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->findContainingViewHolder(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v1
.line 3799
.local v1, "focusedVh":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
:goto_1b
if-nez v1, :cond_21
.line 3800
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->resetFocusInfo()V
goto :goto_55
.line 3802
:cond_21
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z
move-result v3
if-eqz v3, :cond_30
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getItemId()J
move-result-wide v3
goto :goto_32
:cond_30
const-wide/16 v3, -0x1
:goto_32
iput-wide v3, v2, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemId:J
.line 3806
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iget-boolean v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z
if-eqz v3, :cond_3c
const/4 v3, -0x1
goto :goto_49
.line 3807
:cond_3c
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isRemoved()Z
move-result v3
if-eqz v3, :cond_45
iget v3, v1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mOldPosition:I
goto :goto_49
.line 3808
:cond_45
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getAdapterPosition()I
move-result v3
:goto_49
iput v3, v2, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemPosition:I
.line 3809
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iget-object v3, v1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
invoke-direct {p0, v3}, Landroidx/recyclerview/widget/RecyclerView;->getDeepestFocusedViewWithId(Landroid/view/View;)I
move-result v3
iput v3, v2, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedSubChildId:I
.line 3811
:goto_55
return-void
.end method
.method private setAdapterInternal(Landroidx/recyclerview/widget/RecyclerView$Adapter;ZZ)V
.registers 7
.param p1, "adapter" # Landroidx/recyclerview/widget/RecyclerView$Adapter;
.param p2, "compatibleWithPrevious" # Z
.param p3, "removeAndRecycleViews" # Z
.line 1217
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
if-eqz v0, :cond_e
.line 1218
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mObserver:Landroidx/recyclerview/widget/RecyclerView$RecyclerViewDataObserver;
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->unregisterAdapterDataObserver(Landroidx/recyclerview/widget/RecyclerView$AdapterDataObserver;)V
.line 1219
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
.line 1221
:cond_e
if-eqz p2, :cond_12
if-eqz p3, :cond_15
.line 1222
:cond_12
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->removeAndRecycleViews()V
.line 1224
:cond_15
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->reset()V
.line 1225
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
.line 1226
.local v0, "oldAdapter":Landroidx/recyclerview/widget/RecyclerView$Adapter;
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
.line 1227
if-eqz p1, :cond_28
.line 1228
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mObserver:Landroidx/recyclerview/widget/RecyclerView$RecyclerViewDataObserver;
invoke-virtual {p1, v1}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->registerAdapterDataObserver(Landroidx/recyclerview/widget/RecyclerView$AdapterDataObserver;)V
.line 1229
invoke-virtual {p1, p0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->onAttachedToRecyclerView(Landroidx/recyclerview/widget/RecyclerView;)V
.line 1231
:cond_28
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v1, :cond_31
.line 1232
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
invoke-virtual {v1, v0, v2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onAdapterChanged(Landroidx/recyclerview/widget/RecyclerView$Adapter;Landroidx/recyclerview/widget/RecyclerView$Adapter;)V
.line 1234
:cond_31
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
invoke-virtual {v1, v0, v2, p2}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->onAdapterChanged(Landroidx/recyclerview/widget/RecyclerView$Adapter;Landroidx/recyclerview/widget/RecyclerView$Adapter;Z)V
.line 1235
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
const/4 v2, 0x1
iput-boolean v2, v1, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z
.line 1236
return-void
.end method
.method private stopScrollersInternal()V
.registers 2
.line 2434
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;->stop()V
.line 2435
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v0, :cond_c
.line 2436
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->stopSmoothScroller()V
.line 2438
:cond_c
return-void
.end method
# virtual methods
.method absorbGlows(II)V
.registers 5
.param p1, "velocityX" # I
.param p2, "velocityY" # I
.line 2536
if-gez p1, :cond_14
.line 2537
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureLeftGlow()V
.line 2538
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result v0
if-eqz v0, :cond_26
.line 2539
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_26
.line 2541
:cond_14
if-lez p1, :cond_26
.line 2542
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureRightGlow()V
.line 2543
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result v0
if-eqz v0, :cond_26
.line 2544
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
invoke-virtual {v0, p1}, Landroid/widget/EdgeEffect;->onAbsorb(I)V
.line 2548
:cond_26
:goto_26
if-gez p2, :cond_3a
.line 2549
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureTopGlow()V
.line 2550
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result v0
if-eqz v0, :cond_4c
.line 2551
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_4c
.line 2553
:cond_3a
if-lez p2, :cond_4c
.line 2554
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureBottomGlow()V
.line 2555
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result v0
if-eqz v0, :cond_4c
.line 2556
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
invoke-virtual {v0, p2}, Landroid/widget/EdgeEffect;->onAbsorb(I)V
.line 2560
:cond_4c
:goto_4c
if-nez p1, :cond_50
if-eqz p2, :cond_53
.line 2561
:cond_50
invoke-static {p0}, Landroidx/core/view/ViewCompat;->postInvalidateOnAnimation(Landroid/view/View;)V
.line 2563
:cond_53
return-void
.end method
.method public addFocusables(Ljava/util/ArrayList;II)V
.registers 5
.param p2, "direction" # I
.param p3, "focusableMode" # I
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/ArrayList<",
"Landroid/view/View;",
">;II)V"
}
.end annotation
.line 2879
.local p1, "views":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Landroid/view/View;>;"
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
.line 2880
:cond_a
invoke-super {p0, p1, p2, p3}, Landroid/view/ViewGroup;->addFocusables(Ljava/util/ArrayList;II)V
.line 2882
:cond_d
return-void
.end method
.method public addItemDecoration(Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;)V
.registers 3
.param p1, "decor" # Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;
.line 1617
const/4 v0, -0x1
invoke-virtual {p0, p1, v0}, Landroidx/recyclerview/widget/RecyclerView;->addItemDecoration(Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;I)V
.line 1618
return-void
.end method
.method public addItemDecoration(Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;I)V
.registers 5
.param p1, "decor" # Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;
.param p2, "index" # I
.line 1588
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v0, :cond_9
.line 1589
const-string v1, "Cannot add item decoration during a scroll or layout"
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->assertNotInLayoutOrScroll(Ljava/lang/String;)V
.line 1592
: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
.line 1593
const/4 v0, 0x0
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setWillNotDraw(Z)V
.line 1595
:cond_15
if-gez p2, :cond_1d
.line 1596
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
invoke-virtual {v0, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
goto :goto_22
.line 1598
: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
.line 1600
:goto_22
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->markItemDecorInsetsDirty()V
.line 1601
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
.line 1602
return-void
.end method
.method public addOnChildAttachStateChangeListener(Landroidx/recyclerview/widget/RecyclerView$OnChildAttachStateChangeListener;)V
.registers 3
.param p1, "listener" # Landroidx/recyclerview/widget/RecyclerView$OnChildAttachStateChangeListener;
.line 1293
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List;
if-nez v0, :cond_b
.line 1294
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List;
.line 1296
: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
.line 1297
return-void
.end method
.method public addOnItemTouchListener(Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;)V
.registers 3
.param p1, "listener" # Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;
.line 3015
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList;
invoke-virtual {v0, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 3016
return-void
.end method
.method public addOnScrollListener(Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;)V
.registers 3
.param p1, "listener" # Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;
.line 1726
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List;
if-nez v0, :cond_b
.line 1727
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List;
.line 1729
: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
.line 1730
return-void
.end method
.method animateAppearance(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V
.registers 5
.param p1, "itemHolder" # Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.param p2, "preLayoutInfo" # Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;
.param p3, "postLayoutInfo" # Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;
.line 4290
const/4 v0, 0x0
invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->setIsRecyclable(Z)V
.line 4291
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 v0
if-eqz v0, :cond_f
.line 4292
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->postAnimationRunner()V
.line 4294
:cond_f
return-void
.end method
.method animateDisappearance(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V
.registers 5
.param p1, "holder" # Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.param p2, "preLayoutInfo" # Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;
.param p3, "postLayoutInfo" # Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;
.line 4298
invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->addAnimatingView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
.line 4299
const/4 v0, 0x0
invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->setIsRecyclable(Z)V
.line 4300
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 v0
if-eqz v0, :cond_12
.line 4301
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->postAnimationRunner()V
.line 4303
:cond_12
return-void
.end method
.method applyEdgeEffectColor(Landroid/widget/EdgeEffect;)V
.registers 4
.param p1, "edgeEffect" # Landroid/widget/EdgeEffect;
.line 623
if-eqz p1, :cond_f
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x15
if-lt v0, v1, :cond_f
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->glowColor:I
if-eqz v0, :cond_f
.line 624
invoke-virtual {p1, v0}, Landroid/widget/EdgeEffect;->setColor(I)V
.line 626
:cond_f
return-void
.end method
.method assertInLayoutOrScroll(Ljava/lang/String;)V
.registers 5
.param p1, "message" # Ljava/lang/String;
.line 2966
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isComputingLayout()Z
move-result v0
if-nez v0, :cond_3c
.line 2967
if-nez p1, :cond_23
.line 2968
new-instance v0, Ljava/lang/IllegalStateException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Cannot call this method unless RecyclerView is computing a layout or scrolling"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 2969
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
.line 2971
: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 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
.line 2974
:cond_3c
return-void
.end method
.method assertNotInLayoutOrScroll(Ljava/lang/String;)V
.registers 5
.param p1, "message" # Ljava/lang/String;
.line 2984
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isComputingLayout()Z
move-result v0
if-eqz v0, :cond_29
.line 2985
if-nez p1, :cond_23
.line 2986
new-instance v0, Ljava/lang/IllegalStateException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Cannot call this method while RecyclerView is computing a layout or scrolling"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 2987
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
.line 2989
:cond_23
new-instance v0, Ljava/lang/IllegalStateException;
invoke-direct {v0, p1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.line 2991
:cond_29
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchScrollCounter:I
if-lez v0, :cond_4e
.line 2992
new-instance v0, Ljava/lang/IllegalStateException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, ""
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 2997
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
.line 2992
const-string v1, "RecyclerView"
const-string v2, "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 {v1, v2, v0}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
.line 2999
:cond_4e
return-void
.end method
.method canReuseUpdatedViewHolder(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Z
.registers 4
.param p1, "viewHolder" # Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.line 4602
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
if-eqz v0, :cond_11
.line 4603
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getUnmodifiedPayloads()Ljava/util/List;
move-result-object v1
.line 4602
invoke-virtual {v0, p1, v1}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->canReuseUpdatedViewHolder(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Ljava/util/List;)Z
move-result v0
if-eqz v0, :cond_f
goto :goto_11
:cond_f
const/4 v0, 0x0
goto :goto_12
:cond_11
:goto_11
const/4 v0, 0x1
:goto_12
return v0
.end method
.method protected checkLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Z
.registers 4
.param p1, "p" # Landroid/view/ViewGroup$LayoutParams;
.line 4428
instance-of v0, p1, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
if-eqz v0, :cond_11
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
move-object v1, p1
check-cast v1, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->checkLayoutParams(Landroidx/recyclerview/widget/RecyclerView$LayoutParams;)Z
move-result v0
if-eqz v0, :cond_11
const/4 v0, 0x1
goto :goto_12
:cond_11
const/4 v0, 0x0
:goto_12
return v0
.end method
.method clearOldPositions()V
.registers 5
.line 4482
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
.line 4483
.local v0, "childCount":I
const/4 v1, 0x0
.local v1, "i":I
:goto_7
if-ge v1, v0, :cond_1f
.line 4484
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View;
move-result-object v2
invoke-static {v2}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v2
.line 4485
.local v2, "holder":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
move-result v3
if-nez v3, :cond_1c
.line 4486
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->clearOldPosition()V
.line 4483
.end local v2 # "holder":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
:cond_1c
add-int/lit8 v1, v1, 0x1
goto :goto_7
.line 4489
.end local v1 # "i":I
:cond_1f
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->clearOldPositions()V
.line 4490
return-void
.end method
.method public clearOnChildAttachStateChangeListeners()V
.registers 2
.line 1317
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List;
if-eqz v0, :cond_7
.line 1318
invoke-interface {v0}, Ljava/util/List;->clear()V
.line 1320
:cond_7
return-void
.end method
.method public clearOnScrollListeners()V
.registers 2
.line 1747
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List;
if-eqz v0, :cond_7
.line 1748
invoke-interface {v0}, Ljava/util/List;->clear()V
.line 1750
:cond_7
return-void
.end method
.method public computeHorizontalScrollExtent()I
.registers 3
.line 2046
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
const/4 v1, 0x0
if-nez v0, :cond_6
.line 2047
return v1
.line 2049
: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
.line 2021
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
const/4 v1, 0x0
if-nez v0, :cond_6
.line 2022
return v1
.line 2024
: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
.line 2069
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
const/4 v1, 0x0
if-nez v0, :cond_6
.line 2070
return v1
.line 2072
: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
.line 2118
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
const/4 v1, 0x0
if-nez v0, :cond_6
.line 2119
return v1
.line 2121
: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
.line 2094
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
const/4 v1, 0x0
if-nez v0, :cond_6
.line 2095
return v1
.line 2097
: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
.line 2141
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
const/4 v1, 0x0
if-nez v0, :cond_6
.line 2142
return v1
.line 2144
: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 considerReleasingGlowsOnScroll(II)V
.registers 5
.param p1, "dx" # I
.param p2, "dy" # I
.line 2513
const/4 v0, 0x0
.line 2514
.local v0, "needsInvalidate":Z
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
if-eqz v1, :cond_18
invoke-virtual {v1}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result v1
if-nez v1, :cond_18
if-lez p1, :cond_18
.line 2515
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
invoke-virtual {v1}, Landroid/widget/EdgeEffect;->onRelease()V
.line 2516
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
invoke-virtual {v1}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result v0
.line 2518
:cond_18
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
if-eqz v1, :cond_30
invoke-virtual {v1}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result v1
if-nez v1, :cond_30
if-gez p1, :cond_30
.line 2519
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
invoke-virtual {v1}, Landroid/widget/EdgeEffect;->onRelease()V
.line 2520
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
invoke-virtual {v1}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result v1
or-int/2addr v0, v1
.line 2522
:cond_30
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
if-eqz v1, :cond_48
invoke-virtual {v1}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result v1
if-nez v1, :cond_48
if-lez p2, :cond_48
.line 2523
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
invoke-virtual {v1}, Landroid/widget/EdgeEffect;->onRelease()V
.line 2524
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
invoke-virtual {v1}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result v1
or-int/2addr v0, v1
.line 2526
:cond_48
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
if-eqz v1, :cond_60
invoke-virtual {v1}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result v1
if-nez v1, :cond_60
if-gez p2, :cond_60
.line 2527
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
invoke-virtual {v1}, Landroid/widget/EdgeEffect;->onRelease()V
.line 2528
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
.line 2530
:cond_60
if-eqz v0, :cond_65
.line 2531
invoke-static {p0}, Landroidx/core/view/ViewCompat;->postInvalidateOnAnimation(Landroid/view/View;)V
.line 2533
:cond_65
return-void
.end method
.method consumePendingUpdateOperations()V
.registers 4
.line 1885
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
.line 1891
: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
.line 1892
return-void
.line 1897
: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
.line 1898
invoke-virtual {v0, v2}, Landroidx/recyclerview/widget/AdapterHelper;->hasAnyUpdateTypes(I)Z
move-result v0
if-nez v0, :cond_55
.line 1900
const-string v0, "RV PartialInvalidate"
invoke-static {v0}, Landroidx/core/os/TraceCompat;->beginSection(Ljava/lang/String;)V
.line 1901
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
.line 1902
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V
.line 1903
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->preProcess()V
.line 1904
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z
if-nez v0, :cond_4a
.line 1905
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->hasUpdatedView()Z
move-result v0
if-eqz v0, :cond_45
.line 1906
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayout()V
goto :goto_4a
.line 1909
:cond_45
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->consumePostponedUpdates()V
.line 1912
:cond_4a
:goto_4a
const/4 v0, 0x1
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
.line 1913
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V
.line 1914
invoke-static {}, Landroidx/core/os/TraceCompat;->endSection()V
goto :goto_66
.line 1915
: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
.line 1916
invoke-static {v1}, Landroidx/core/os/TraceCompat;->beginSection(Ljava/lang/String;)V
.line 1917
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayout()V
.line 1918
invoke-static {}, Landroidx/core/os/TraceCompat;->endSection()V
.line 1920
:cond_66
:goto_66
return-void
.line 1886
:cond_67
:goto_67
invoke-static {v1}, Landroidx/core/os/TraceCompat;->beginSection(Ljava/lang/String;)V
.line 1887
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayout()V
.line 1888
invoke-static {}, Landroidx/core/os/TraceCompat;->endSection()V
.line 1889
return-void
.end method
.method defaultOnMeasure(II)V
.registers 6
.param p1, "widthSpec" # I
.param p2, "heightSpec" # I
.line 3533
nop
.line 3534
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingLeft()I
move-result v0
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingRight()I
move-result v1
add-int/2addr v0, v1
.line 3535
invoke-static {p0}, Landroidx/core/view/ViewCompat;->getMinimumWidth(Landroid/view/View;)I
move-result v1
.line 3533
invoke-static {p1, v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->chooseSize(III)I
move-result v0
.line 3536
.local v0, "width":I
nop
.line 3537
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingTop()I
move-result v1
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingBottom()I
move-result v2
add-int/2addr v1, v2
.line 3538
invoke-static {p0}, Landroidx/core/view/ViewCompat;->getMinimumHeight(Landroid/view/View;)I
move-result v2
.line 3536
invoke-static {p2, v1, v2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->chooseSize(III)I
move-result v1
.line 3540
.local v1, "height":I
invoke-virtual {p0, v0, v1}, Landroidx/recyclerview/widget/RecyclerView;->setMeasuredDimension(II)V
.line 3541
return-void
.end method
.method dispatchChildAttached(Landroid/view/View;)V
.registers 6
.param p1, "child" # Landroid/view/View;
.line 7452
invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v0
.line 7453
.local v0, "viewHolder":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->onChildAttachedToWindow(Landroid/view/View;)V
.line 7454
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
if-eqz v1, :cond_10
if-eqz v0, :cond_10
.line 7455
invoke-virtual {v1, v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->onViewAttachedToWindow(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
.line 7457
:cond_10
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List;
if-eqz v1, :cond_2a
.line 7458
invoke-interface {v1}, Ljava/util/List;->size()I
move-result v1
.line 7459
.local v1, "cnt":I
add-int/lit8 v2, v1, -0x1
.local v2, "i":I
:goto_1a
if-ltz v2, :cond_2a
.line 7460
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List;
invoke-interface {v3, v2}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v3
check-cast v3, Landroidx/recyclerview/widget/RecyclerView$OnChildAttachStateChangeListener;
invoke-interface {v3, p1}, Landroidx/recyclerview/widget/RecyclerView$OnChildAttachStateChangeListener;->onChildViewAttachedToWindow(Landroid/view/View;)V
.line 7459
add-int/lit8 v2, v2, -0x1
goto :goto_1a
.line 7463
.end local v1 # "cnt":I
.end local v2 # "i":I
:cond_2a
return-void
.end method
.method dispatchChildDetached(Landroid/view/View;)V
.registers 6
.param p1, "child" # Landroid/view/View;
.line 7438
invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v0
.line 7439
.local v0, "viewHolder":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->onChildDetachedFromWindow(Landroid/view/View;)V
.line 7440
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
if-eqz v1, :cond_10
if-eqz v0, :cond_10
.line 7441
invoke-virtual {v1, v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->onViewDetachedFromWindow(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
.line 7443
:cond_10
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List;
if-eqz v1, :cond_2a
.line 7444
invoke-interface {v1}, Ljava/util/List;->size()I
move-result v1
.line 7445
.local v1, "cnt":I
add-int/lit8 v2, v1, -0x1
.local v2, "i":I
:goto_1a
if-ltz v2, :cond_2a
.line 7446
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List;
invoke-interface {v3, v2}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v3
check-cast v3, Landroidx/recyclerview/widget/RecyclerView$OnChildAttachStateChangeListener;
invoke-interface {v3, p1}, Landroidx/recyclerview/widget/RecyclerView$OnChildAttachStateChangeListener;->onChildViewDetachedFromWindow(Landroid/view/View;)V
.line 7445
add-int/lit8 v2, v2, -0x1
goto :goto_1a
.line 7449
.end local v1 # "cnt":I
.end local v2 # "i":I
:cond_2a
return-void
.end method
.method dispatchLayout()V
.registers 3
.line 3764
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
const-string v1, "RecyclerView"
if-nez v0, :cond_c
.line 3765
const-string v0, "No adapter attached; skipping layout"
invoke-static {v1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 3767
return-void
.line 3769
:cond_c
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-nez v0, :cond_16
.line 3770
const-string v0, "No layout manager attached; skipping layout"
invoke-static {v1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 3772
return-void
.line 3774
: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
.line 3775
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iget v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mLayoutStep:I
const/4 v1, 0x1
if-ne v0, v1, :cond_2e
.line 3776
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep1()V
.line 3777
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setExactMeasureSpecsFrom(Landroidx/recyclerview/widget/RecyclerView;)V
.line 3778
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep2()V
goto :goto_5d
.line 3779
:cond_2e
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_55
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->getWidth()I
move-result v0
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I
move-result v1
if-ne v0, v1, :cond_55
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
.line 3780
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->getHeight()I
move-result v0
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getHeight()I
move-result v1
if-eq v0, v1, :cond_4f
goto :goto_55
.line 3787
:cond_4f
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_5d
.line 3783
:cond_55
:goto_55
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setExactMeasureSpecsFrom(Landroidx/recyclerview/widget/RecyclerView;)V
.line 3784
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep2()V
.line 3789
:goto_5d
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep3()V
.line 3790
return-void
.end method
.method public dispatchNestedFling(FFZ)Z
.registers 5
.param p1, "velocityX" # F
.param p2, "velocityY" # F
.param p3, "consumed" # Z
.line 11478
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 v0
return v0
.end method
.method public dispatchNestedPreFling(FF)Z
.registers 4
.param p1, "velocityX" # F
.param p2, "velocityY" # F
.line 11483
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 v0
return v0
.end method
.method public dispatchNestedPreScroll(II[I[I)Z
.registers 6
.param p1, "dx" # I
.param p2, "dy" # I
.param p3, "consumed" # [I
.param p4, "offsetInWindow" # [I
.line 11466
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 v0
return v0
.end method
.method public dispatchNestedPreScroll(II[I[II)Z
.registers 12
.param p1, "dx" # I
.param p2, "dy" # I
.param p3, "consumed" # [I
.param p4, "offsetInWindow" # [I
.param p5, "type" # I
.line 11472
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 v0
return v0
.end method
.method public final dispatchNestedScroll(IIII[II[I)V
.registers 16
.param p1, "dxConsumed" # I
.param p2, "dyConsumed" # I
.param p3, "dxUnconsumed" # I
.param p4, "dyUnconsumed" # I
.param p5, "offsetInWindow" # [I
.param p6, "type" # I
.param p7, "consumed" # [I
.line 11460
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
move-result-object v0
move v1, p1
move v2, p2
move v3, p3
move v4, p4
move-object v5, p5
move v6, p6
move-object v7, p7
invoke-virtual/range {v0 .. v7}, Landroidx/core/view/NestedScrollingChildHelper;->dispatchNestedScroll(IIII[II[I)V
.line 11462
return-void
.end method
.method public dispatchNestedScroll(IIII[I)Z
.registers 12
.param p1, "dxConsumed" # I
.param p2, "dyConsumed" # I
.param p3, "dxUnconsumed" # I
.param p4, "dyUnconsumed" # I
.param p5, "offsetInWindow" # [I
.line 11446
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 v0
return v0
.end method
.method public dispatchNestedScroll(IIII[II)Z
.registers 14
.param p1, "dxConsumed" # I
.param p2, "dyConsumed" # I
.param p3, "dxUnconsumed" # I
.param p4, "dyUnconsumed" # I
.param p5, "offsetInWindow" # [I
.param p6, "type" # I
.line 11453
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 v0
return v0
.end method
.method dispatchOnScrollStateChanged(I)V
.registers 4
.param p1, "state" # I
.line 5122
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v0, :cond_7
.line 5123
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onScrollStateChanged(I)V
.line 5128
:cond_7
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->onScrollStateChanged(I)V
.line 5131
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListener:Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;
if-eqz v0, :cond_11
.line 5132
invoke-virtual {v0, p0, p1}, Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;->onScrollStateChanged(Landroidx/recyclerview/widget/RecyclerView;I)V
.line 5134
:cond_11
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List;
if-eqz v0, :cond_2b
.line 5135
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v0
add-int/lit8 v0, v0, -0x1
.local v0, "i":I
:goto_1b
if-ltz v0, :cond_2b
.line 5136
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
.line 5135
add-int/lit8 v0, v0, -0x1
goto :goto_1b
.line 5139
.end local v0 # "i":I
:cond_2b
return-void
.end method
.method dispatchOnScrolled(II)V
.registers 7
.param p1, "hresult" # I
.param p2, "vresult" # I
.line 5082
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchScrollCounter:I
add-int/lit8 v0, v0, 0x1
iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchScrollCounter:I
.line 5085
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollX()I
move-result v0
.line 5086
.local v0, "scrollX":I
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollY()I
move-result v1
.line 5087
.local v1, "scrollY":I
invoke-virtual {p0, v0, v1, v0, v1}, Landroidx/recyclerview/widget/RecyclerView;->onScrollChanged(IIII)V
.line 5090
invoke-virtual {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->onScrolled(II)V
.line 5094
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListener:Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;
if-eqz v2, :cond_1b
.line 5095
invoke-virtual {v2, p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;->onScrolled(Landroidx/recyclerview/widget/RecyclerView;II)V
.line 5097
:cond_1b
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List;
if-eqz v2, :cond_35
.line 5098
invoke-interface {v2}, Ljava/util/List;->size()I
move-result v2
add-int/lit8 v2, v2, -0x1
.local v2, "i":I
:goto_25
if-ltz v2, :cond_35
.line 5099
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List;
invoke-interface {v3, v2}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v3
check-cast v3, Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;
invoke-virtual {v3, p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;->onScrolled(Landroidx/recyclerview/widget/RecyclerView;II)V
.line 5098
add-int/lit8 v2, v2, -0x1
goto :goto_25
.line 5102
.end local v2 # "i":I
:cond_35
iget v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchScrollCounter:I
add-int/lit8 v2, v2, -0x1
iput v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchScrollCounter:I
.line 5103
return-void
.end method
.method dispatchPendingImportantForAccessibilityChanges()V
.registers 6
.line 11358
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
.local v0, "i":I
:goto_8
if-ltz v0, :cond_30
.line 11359
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingAccessibilityImportanceChange:Ljava/util/List;
invoke-interface {v1, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.line 11360
.local v1, "viewHolder":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
.line 11361
goto :goto_2d
.line 11363
:cond_21
iget v2, v1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPendingAccessibilityState:I
.line 11364
.local v2, "state":I
const/4 v3, -0x1
if-eq v2, v3, :cond_2d
.line 11366
iget-object v4, v1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
invoke-static {v4, v2}, Landroidx/core/view/ViewCompat;->setImportantForAccessibility(Landroid/view/View;I)V
.line 11367
iput v3, v1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPendingAccessibilityState:I
.line 11358
.end local v1 # "viewHolder":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.end local v2 # "state":I
:cond_2d
:goto_2d
add-int/lit8 v0, v0, -0x1
goto :goto_8
.line 11371
.end local v0 # "i":I
:cond_30
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingAccessibilityImportanceChange:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->clear()V
.line 11372
return-void
.end method
.method public dispatchPopulateAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)Z
.registers 3
.param p1, "event" # Landroid/view/accessibility/AccessibilityEvent;
.line 3668
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->onPopulateAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)V
.line 3669
const/4 v0, 0x1
return v0
.end method
.method protected dispatchRestoreInstanceState(Landroid/util/SparseArray;)V
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/util/SparseArray<",
"Landroid/os/Parcelable;",
">;)V"
}
.end annotation
.line 1439
.local p1, "container":Landroid/util/SparseArray;, "Landroid/util/SparseArray<Landroid/os/Parcelable;>;"
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->dispatchThawSelfOnly(Landroid/util/SparseArray;)V
.line 1440
return-void
.end method
.method protected dispatchSaveInstanceState(Landroid/util/SparseArray;)V
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/util/SparseArray<",
"Landroid/os/Parcelable;",
">;)V"
}
.end annotation
.line 1431
.local p1, "container":Landroid/util/SparseArray;, "Landroid/util/SparseArray<Landroid/os/Parcelable;>;"
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->dispatchFreezeSelfOnly(Landroid/util/SparseArray;)V
.line 1432
return-void
.end method
.method public draw(Landroid/graphics/Canvas;)V
.registers 11
.param p1, "c" # Landroid/graphics/Canvas;
.line 4356
invoke-super {p0, p1}, Landroid/view/ViewGroup;->draw(Landroid/graphics/Canvas;)V
.line 4358
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
move-result v0
.line 4359
.local v0, "count":I
const/4 v1, 0x0
.local v1, "i":I
:goto_a
if-ge v1, v0, :cond_1c
.line 4360
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;->onDrawOver(Landroid/graphics/Canvas;Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$State;)V
.line 4359
add-int/lit8 v1, v1, 0x1
goto :goto_a
.line 4364
.end local v1 # "i":I
:cond_1c
const/4 v1, 0x0
.line 4365
.local v1, "needsInvalidate":Z
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
const/4 v3, 0x0
const/4 v4, 0x1
const/4 v5, 0x0
if-eqz v2, :cond_58
invoke-virtual {v2}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result v2
if-nez v2, :cond_58
.line 4366
invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I
move-result v2
.line 4367
.local v2, "restore":I
iget-boolean v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
if-eqz v6, :cond_37
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingBottom()I
move-result v6
goto :goto_38
:cond_37
const/4 v6, 0x0
.line 4368
.local v6, "padding":I
:goto_38
const/high16 v7, 0x43870000 # 270.0f
invoke-virtual {p1, v7}, Landroid/graphics/Canvas;->rotate(F)V
.line 4369
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getHeight()I
move-result v7
neg-int v7, v7
add-int/2addr v7, v6
int-to-float v7, v7
invoke-virtual {p1, v7, v3}, Landroid/graphics/Canvas;->translate(FF)V
.line 4370
iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
if-eqz v7, :cond_53
invoke-virtual {v7, p1}, Landroid/widget/EdgeEffect;->draw(Landroid/graphics/Canvas;)Z
move-result v7
if-eqz v7, :cond_53
const/4 v7, 0x1
goto :goto_54
:cond_53
const/4 v7, 0x0
:goto_54
move v1, v7
.line 4371
invoke-virtual {p1, v2}, Landroid/graphics/Canvas;->restoreToCount(I)V
.line 4373
.end local v2 # "restore":I
.end local v6 # "padding":I
:cond_58
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
if-eqz v2, :cond_8e
invoke-virtual {v2}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result v2
if-nez v2, :cond_8e
.line 4374
invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I
move-result v2
.line 4375
.restart local v2 # "restore":I
iget-boolean v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
if-eqz v6, :cond_77
.line 4376
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingLeft()I
move-result v6
int-to-float v6, v6
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingTop()I
move-result v7
int-to-float v7, v7
invoke-virtual {p1, v6, v7}, Landroid/graphics/Canvas;->translate(FF)V
.line 4378
:cond_77
iget v6, p0, Landroidx/recyclerview/widget/RecyclerView;->topGlowOffset:I
int-to-float v6, v6
invoke-virtual {p1, v3, v6}, Landroid/graphics/Canvas;->translate(FF)V
.line 4379
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
if-eqz v3, :cond_89
invoke-virtual {v3, p1}, Landroid/widget/EdgeEffect;->draw(Landroid/graphics/Canvas;)Z
move-result v3
if-eqz v3, :cond_89
const/4 v3, 0x1
goto :goto_8a
:cond_89
const/4 v3, 0x0
:goto_8a
or-int/2addr v1, v3
.line 4380
invoke-virtual {p1, v2}, Landroid/graphics/Canvas;->restoreToCount(I)V
.line 4382
.end local v2 # "restore":I
:cond_8e
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
if-eqz v2, :cond_c7
invoke-virtual {v2}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result v2
if-nez v2, :cond_c7
.line 4383
invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I
move-result v2
.line 4384
.restart local v2 # "restore":I
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I
move-result v3
.line 4385
.local v3, "width":I
iget-boolean v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
if-eqz v6, :cond_a9
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingTop()I
move-result v6
goto :goto_aa
:cond_a9
const/4 v6, 0x0
.line 4386
.restart local v6 # "padding":I
:goto_aa
const/high16 v7, 0x42b40000 # 90.0f
invoke-virtual {p1, v7}, Landroid/graphics/Canvas;->rotate(F)V
.line 4387
neg-int v7, v6
int-to-float v7, v7
neg-int v8, v3
int-to-float v8, v8
invoke-virtual {p1, v7, v8}, Landroid/graphics/Canvas;->translate(FF)V
.line 4388
iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
if-eqz v7, :cond_c2
invoke-virtual {v7, p1}, Landroid/widget/EdgeEffect;->draw(Landroid/graphics/Canvas;)Z
move-result v7
if-eqz v7, :cond_c2
const/4 v7, 0x1
goto :goto_c3
:cond_c2
const/4 v7, 0x0
:goto_c3
or-int/2addr v1, v7
.line 4389
invoke-virtual {p1, v2}, Landroid/graphics/Canvas;->restoreToCount(I)V
.line 4391
.end local v2 # "restore":I
.end local v3 # "width":I
.end local v6 # "padding":I
:cond_c7
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
if-eqz v2, :cond_11a
invoke-virtual {v2}, Landroid/widget/EdgeEffect;->isFinished()Z
move-result v2
if-nez v2, :cond_11a
.line 4392
invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I
move-result v2
.line 4393
.restart local v2 # "restore":I
const/high16 v3, 0x43340000 # 180.0f
invoke-virtual {p1, v3}, Landroid/graphics/Canvas;->rotate(F)V
.line 4394
iget-boolean v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
if-eqz v3, :cond_f8
.line 4395
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I
move-result v3
neg-int v3, v3
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingRight()I
move-result v6
add-int/2addr v3, v6
int-to-float v3, v3
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getHeight()I
move-result v6
neg-int v6, v6
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingBottom()I
move-result v7
add-int/2addr v6, v7
int-to-float v6, v6
invoke-virtual {p1, v3, v6}, Landroid/graphics/Canvas;->translate(FF)V
goto :goto_10a
.line 4397
:cond_f8
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I
move-result v3
neg-int v3, v3
int-to-float v3, v3
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getHeight()I
move-result v6
neg-int v6, v6
iget v7, p0, Landroidx/recyclerview/widget/RecyclerView;->bottomGlowOffset:I
add-int/2addr v6, v7
int-to-float v6, v6
invoke-virtual {p1, v3, v6}, Landroid/graphics/Canvas;->translate(FF)V
.line 4399
:goto_10a
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
if-eqz v3, :cond_115
invoke-virtual {v3, p1}, Landroid/widget/EdgeEffect;->draw(Landroid/graphics/Canvas;)Z
move-result v3
if-eqz v3, :cond_115
goto :goto_116
:cond_115
const/4 v4, 0x0
:goto_116
or-int/2addr v1, v4
.line 4400
invoke-virtual {p1, v2}, Landroid/graphics/Canvas;->restoreToCount(I)V
.line 4406
.end local v2 # "restore":I
:cond_11a
if-nez v1, :cond_131
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
if-eqz v2, :cond_131
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
move-result v2
if-lez v2, :cond_131
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
.line 4407
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->isRunning()Z
move-result v2
if-eqz v2, :cond_131
.line 4408
const/4 v1, 0x1
.line 4411
:cond_131
if-eqz v1, :cond_136
.line 4412
invoke-static {p0}, Landroidx/core/view/ViewCompat;->postInvalidateOnAnimation(Landroid/view/View;)V
.line 4414
:cond_136
return-void
.end method
.method public drawChild(Landroid/graphics/Canvas;Landroid/view/View;J)Z
.registers 6
.param p1, "canvas" # Landroid/graphics/Canvas;
.param p2, "child" # Landroid/view/View;
.param p3, "drawingTime" # J
.line 4958
invoke-super {p0, p1, p2, p3, p4}, Landroid/view/ViewGroup;->drawChild(Landroid/graphics/Canvas;Landroid/view/View;J)Z
move-result v0
return v0
.end method
.method ensureBottomGlow()V
.registers 5
.line 2608
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
if-eqz v0, :cond_5
.line 2609
return-void
.line 2611
: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;
.line 2612
iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
if-eqz v1, :cond_32
.line 2613
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredWidth()I
move-result v1
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingLeft()I
move-result v2
sub-int/2addr v1, v2
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingRight()I
move-result v2
sub-int/2addr v1, v2
.line 2614
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredHeight()I
move-result v2
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingTop()I
move-result v3
sub-int/2addr v2, v3
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingBottom()I
move-result v3
sub-int/2addr v2, v3
.line 2613
invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V
goto :goto_3d
.line 2616
:cond_32
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredWidth()I
move-result v1
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredHeight()I
move-result v2
invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V
.line 2618
:goto_3d
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->applyEdgeEffectColor(Landroid/widget/EdgeEffect;)V
.line 2619
return-void
.end method
.method ensureLeftGlow()V
.registers 5
.line 2566
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
if-eqz v0, :cond_5
.line 2567
return-void
.line 2569
: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;
.line 2570
iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
if-eqz v1, :cond_32
.line 2571
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredHeight()I
move-result v1
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingTop()I
move-result v2
sub-int/2addr v1, v2
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingBottom()I
move-result v2
sub-int/2addr v1, v2
.line 2572
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredWidth()I
move-result v2
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingLeft()I
move-result v3
sub-int/2addr v2, v3
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingRight()I
move-result v3
sub-int/2addr v2, v3
.line 2571
invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V
goto :goto_3d
.line 2574
:cond_32
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredHeight()I
move-result v1
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredWidth()I
move-result v2
invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V
.line 2576
:goto_3d
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->applyEdgeEffectColor(Landroid/widget/EdgeEffect;)V
.line 2577
return-void
.end method
.method ensureRightGlow()V
.registers 5
.line 2580
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
if-eqz v0, :cond_5
.line 2581
return-void
.line 2583
: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;
.line 2584
iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
if-eqz v1, :cond_32
.line 2585
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredHeight()I
move-result v1
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingTop()I
move-result v2
sub-int/2addr v1, v2
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingBottom()I
move-result v2
sub-int/2addr v1, v2
.line 2586
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredWidth()I
move-result v2
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingLeft()I
move-result v3
sub-int/2addr v2, v3
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingRight()I
move-result v3
sub-int/2addr v2, v3
.line 2585
invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V
goto :goto_3d
.line 2588
:cond_32
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredHeight()I
move-result v1
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredWidth()I
move-result v2
invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V
.line 2590
:goto_3d
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->applyEdgeEffectColor(Landroid/widget/EdgeEffect;)V
.line 2591
return-void
.end method
.method ensureTopGlow()V
.registers 5
.line 2594
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
if-eqz v0, :cond_5
.line 2595
return-void
.line 2597
: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;
.line 2598
iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
if-eqz v1, :cond_32
.line 2599
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredWidth()I
move-result v1
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingLeft()I
move-result v2
sub-int/2addr v1, v2
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingRight()I
move-result v2
sub-int/2addr v1, v2
.line 2600
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredHeight()I
move-result v2
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingTop()I
move-result v3
sub-int/2addr v2, v3
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingBottom()I
move-result v3
sub-int/2addr v2, v3
.line 2599
invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V
goto :goto_3d
.line 2602
:cond_32
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredWidth()I
move-result v1
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredHeight()I
move-result v2
invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V
.line 2604
:goto_3d
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->applyEdgeEffectColor(Landroid/widget/EdgeEffect;)V
.line 2605
return-void
.end method
.method exceptionLabel()Ljava/lang/String;
.registers 3
.line 753
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;
.line 756
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getContext()Landroid/content/Context;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 753
return-object v0
.end method
.method final fillRemainingScrollValues(Landroidx/recyclerview/widget/RecyclerView$State;)V
.registers 5
.param p1, "state" # Landroidx/recyclerview/widget/RecyclerView$State;
.line 3942
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollState()I
move-result v0
const/4 v1, 0x2
if-ne v0, v1, :cond_22
.line 3943
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;
iget-object v0, v0, Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;->mOverScroller:Landroid/widget/OverScroller;
.line 3944
.local v0, "scroller":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
.line 3945
invoke-virtual {v0}, Landroid/widget/OverScroller;->getFinalY()I
move-result v1
invoke-virtual {v0}, Landroid/widget/OverScroller;->getCurrY()I
move-result v2
sub-int/2addr v1, v2
iput v1, p1, Landroidx/recyclerview/widget/RecyclerView$State;->mRemainingScrollVertical:I
.line 3946
.end local v0 # "scroller":Landroid/widget/OverScroller;
goto :goto_27
.line 3947
:cond_22
const/4 v0, 0x0
iput v0, p1, Landroidx/recyclerview/widget/RecyclerView$State;->mRemainingScrollHorizontal:I
.line 3948
iput v0, p1, Landroidx/recyclerview/widget/RecyclerView$State;->mRemainingScrollVertical:I
.line 3950
:goto_27
return-void
.end method
.method public findChildViewUnder(FF)Landroid/view/View;
.registers 9
.param p1, "x" # F
.param p2, "y" # F
.line 4941
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
.line 4942
.local v0, "count":I
add-int/lit8 v1, v0, -0x1
.local v1, "i":I
:goto_8
if-ltz v1, :cond_44
.line 4943
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View;
move-result-object v2
.line 4944
.local v2, "child":Landroid/view/View;
invoke-virtual {v2}, Landroid/view/View;->getTranslationX()F
move-result v3
.line 4945
.local v3, "translationX":F
invoke-virtual {v2}, Landroid/view/View;->getTranslationY()F
move-result v4
.line 4946
.local v4, "translationY":F
invoke-virtual {v2}, Landroid/view/View;->getLeft()I
move-result v5
int-to-float v5, v5
add-float/2addr v5, v3
cmpl-float v5, p1, v5
if-ltz v5, :cond_41
.line 4947
invoke-virtual {v2}, Landroid/view/View;->getRight()I
move-result v5
int-to-float v5, v5
add-float/2addr v5, v3
cmpg-float v5, p1, v5
if-gtz v5, :cond_41
.line 4948
invoke-virtual {v2}, Landroid/view/View;->getTop()I
move-result v5
int-to-float v5, v5
add-float/2addr v5, v4
cmpl-float v5, p2, v5
if-ltz v5, :cond_41
.line 4949
invoke-virtual {v2}, Landroid/view/View;->getBottom()I
move-result v5
int-to-float v5, v5
add-float/2addr v5, v4
cmpg-float v5, p2, v5
if-gtz v5, :cond_41
.line 4950
return-object v2
.line 4942
.end local v2 # "child":Landroid/view/View;
.end local v3 # "translationX":F
.end local v4 # "translationY":F
:cond_41
add-int/lit8 v1, v1, -0x1
goto :goto_8
.line 4953
.end local v1 # "i":I
:cond_44
const/4 v1, 0x0
return-object v1
.end method
.method public findContainingItemView(Landroid/view/View;)Landroid/view/View;
.registers 4
.param p1, "view" # Landroid/view/View;
.line 4720
invoke-virtual {p1}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
move-result-object v0
.line 4721
.local v0, "parent":Landroid/view/ViewParent;
: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
.line 4722
move-object p1, v0
check-cast p1, Landroid/view/View;
.line 4723
invoke-virtual {p1}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
move-result-object v0
goto :goto_4
.line 4725
:cond_14
if-ne v0, p0, :cond_18
move-object v1, p1
goto :goto_19
:cond_18
const/4 v1, 0x0
:goto_19
return-object v1
.end method
.method public findContainingViewHolder(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.registers 4
.param p1, "view" # Landroid/view/View;
.line 4738
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->findContainingItemView(Landroid/view/View;)Landroid/view/View;
move-result-object v0
.line 4739
.local v0, "itemView":Landroid/view/View;
if-nez v0, :cond_8
const/4 v1, 0x0
goto :goto_c
:cond_8
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolder(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v1
:goto_c
return-object v1
.end method
.method public findViewHolderForAdapterPosition(I)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.registers 8
.param p1, "position" # I
.line 4852
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z
if-eqz v0, :cond_6
.line 4853
const/4 v0, 0x0
return-object v0
.line 4855
: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
.line 4857
.local v0, "childCount":I
const/4 v1, 0x0
.line 4858
.local v1, "hidden":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
const/4 v2, 0x0
.local v2, "i":I
:goto_e
if-ge v2, v0, :cond_38
.line 4859
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
.line 4860
.local v3, "holder":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
if-eqz v3, :cond_35
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isRemoved()Z
move-result v4
if-nez v4, :cond_35
.line 4861
invoke-virtual {p0, v3}, Landroidx/recyclerview/widget/RecyclerView;->getAdapterPositionFor(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)I
move-result v4
if-ne v4, p1, :cond_35
.line 4862
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
iget-object v5, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
invoke-virtual {v4, v5}, Landroidx/recyclerview/widget/ChildHelper;->isHidden(Landroid/view/View;)Z
move-result v4
if-eqz v4, :cond_34
.line 4863
move-object v1, v3
goto :goto_35
.line 4865
:cond_34
return-object v3
.line 4858
.end local v3 # "holder":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
:cond_35
:goto_35
add-int/lit8 v2, v2, 0x1
goto :goto_e
.line 4869
.end local v2 # "i":I
:cond_38
return-object v1
.end method
.method public findViewHolderForItemId(J)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.registers 10
.param p1, "id" # J
.line 4914
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
if-eqz v0, :cond_40
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z
move-result v0
if-nez v0, :cond_b
goto :goto_40
.line 4917
:cond_b
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
.line 4918
.local v0, "childCount":I
const/4 v1, 0x0
.line 4919
.local v1, "hidden":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
const/4 v2, 0x0
.local v2, "i":I
:goto_13
if-ge v2, v0, :cond_3f
.line 4920
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
.line 4921
.local v3, "holder":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
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
.line 4922
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
iget-object v5, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
invoke-virtual {v4, v5}, Landroidx/recyclerview/widget/ChildHelper;->isHidden(Landroid/view/View;)Z
move-result v4
if-eqz v4, :cond_3b
.line 4923
move-object v1, v3
goto :goto_3c
.line 4925
:cond_3b
return-object v3
.line 4919
.end local v3 # "holder":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
:cond_3c
:goto_3c
add-int/lit8 v2, v2, 0x1
goto :goto_13
.line 4929
.end local v2 # "i":I
:cond_3f
return-object v1
.line 4915
.end local v0 # "childCount":I
.end local v1 # "hidden":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
:cond_40
:goto_40
const/4 v0, 0x0
return-object v0
.end method
.method public findViewHolderForLayoutPosition(I)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.registers 3
.param p1, "position" # I
.line 4830
const/4 v0, 0x0
invoke-virtual {p0, p1, v0}, Landroidx/recyclerview/widget/RecyclerView;->findViewHolderForPosition(IZ)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v0
return-object v0
.end method
.method public findViewHolderForPosition(I)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.registers 3
.param p1, "position" # I
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.line 4806
const/4 v0, 0x0
invoke-virtual {p0, p1, v0}, Landroidx/recyclerview/widget/RecyclerView;->findViewHolderForPosition(IZ)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v0
return-object v0
.end method
.method findViewHolderForPosition(IZ)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.registers 9
.param p1, "position" # I
.param p2, "checkNewPosition" # Z
.line 4874
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
.line 4875
.local v0, "childCount":I
const/4 v1, 0x0
.line 4876
.local v1, "hidden":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
const/4 v2, 0x0
.local v2, "i":I
:goto_8
if-ge v2, v0, :cond_3a
.line 4877
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
.line 4878
.local v3, "holder":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
if-eqz v3, :cond_37
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isRemoved()Z
move-result v4
if-nez v4, :cond_37
.line 4879
if-eqz p2, :cond_23
.line 4880
iget v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I
if-eq v4, p1, :cond_2a
.line 4881
goto :goto_37
.line 4883
:cond_23
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getLayoutPosition()I
move-result v4
if-eq v4, p1, :cond_2a
.line 4884
goto :goto_37
.line 4886
:cond_2a
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
iget-object v5, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
invoke-virtual {v4, v5}, Landroidx/recyclerview/widget/ChildHelper;->isHidden(Landroid/view/View;)Z
move-result v4
if-eqz v4, :cond_36
.line 4887
move-object v1, v3
goto :goto_37
.line 4889
:cond_36
return-object v3
.line 4876
.end local v3 # "holder":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
:cond_37
:goto_37
add-int/lit8 v2, v2, 0x1
goto :goto_8
.line 4896
.end local v2 # "i":I
:cond_3a
return-object v1
.end method
.method public fling(II)Z
.registers 10
.param p1, "velocityX" # I
.param p2, "velocityY" # I
.line 2371
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
const/4 v1, 0x0
if-nez v0, :cond_d
.line 2372
const-string v0, "RecyclerView"
const-string v2, "Cannot fling without a LayoutManager set. Call setLayoutManager with a non-null argument."
invoke-static {v0, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 2374
return v1
.line 2376
:cond_d
iget-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
if-eqz v2, :cond_12
.line 2377
return v1
.line 2380
:cond_12
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z
move-result v0
.line 2381
.local v0, "canScrollHorizontal":Z
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
.line 2383
.local v2, "canScrollVertical":Z
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
.line 2384
:cond_26
const/4 p1, 0x0
.line 2386
: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
.line 2387
:cond_31
const/4 p2, 0x0
.line 2389
:cond_32
if-nez p1, :cond_37
if-nez p2, :cond_37
.line 2391
return v1
.line 2394
: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 v3
if-nez v3, :cond_82
.line 2395
const/4 v3, 0x1
if-nez v0, :cond_47
if-eqz v2, :cond_45
goto :goto_47
:cond_45
const/4 v4, 0x0
goto :goto_48
:cond_47
:goto_47
const/4 v4, 0x1
.line 2396
.local v4, "canScroll":Z
:goto_48
int-to-float v5, p1
int-to-float v6, p2
invoke-virtual {p0, v5, v6, v4}, Landroidx/recyclerview/widget/RecyclerView;->dispatchNestedFling(FFZ)Z
.line 2398
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnFlingListener:Landroidx/recyclerview/widget/RecyclerView$OnFlingListener;
if-eqz v5, :cond_58
invoke-virtual {v5, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$OnFlingListener;->onFling(II)Z
move-result v5
if-eqz v5, :cond_58
.line 2399
return v3
.line 2402
:cond_58
if-eqz v4, :cond_82
.line 2403
const/4 v1, 0x0
.line 2404
.local v1, "nestedScrollAxis":I
if-eqz v0, :cond_5f
.line 2405
or-int/lit8 v1, v1, 0x1
.line 2407
:cond_5f
if-eqz v2, :cond_63
.line 2408
or-int/lit8 v1, v1, 0x2
.line 2410
:cond_63
invoke-virtual {p0, v1, v3}, Landroidx/recyclerview/widget/RecyclerView;->startNestedScroll(II)Z
.line 2412
iget v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mMaxFlingVelocity:I
neg-int v6, v5
invoke-static {p1, v5}, Ljava/lang/Math;->min(II)I
move-result v5
invoke-static {v6, v5}, Ljava/lang/Math;->max(II)I
move-result p1
.line 2413
iget v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mMaxFlingVelocity:I
neg-int v6, v5
invoke-static {p2, v5}, Ljava/lang/Math;->min(II)I
move-result v5
invoke-static {v6, v5}, Ljava/lang/Math;->max(II)I
move-result p2
.line 2414
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;
invoke-virtual {v5, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;->fling(II)V
.line 2415
return v3
.line 2418
.end local v1 # "nestedScrollAxis":I
.end local v4 # "canScroll":Z
:cond_82
return v1
.end method
.method public focusSearch(Landroid/view/View;I)Landroid/view/View;
.registers 14
.param p1, "focused" # Landroid/view/View;
.param p2, "direction" # I
.line 2684
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
.line 2685
.local v0, "result":Landroid/view/View;
if-eqz v0, :cond_9
.line 2686
return-object v0
.line 2688
:cond_9
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
const/4 v2, 0x1
const/4 v3, 0x0
if-eqz v1, :cond_1f
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v1, :cond_1f
.line 2689
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isComputingLayout()Z
move-result v1
if-nez v1, :cond_1f
iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
if-nez v1, :cond_1f
const/4 v1, 0x1
goto :goto_20
:cond_1f
const/4 v1, 0x0
.line 2691
.local v1, "canRunFocusFailure":Z
:goto_20
invoke-static {}, Landroid/view/FocusFinder;->getInstance()Landroid/view/FocusFinder;
move-result-object v4
.line 2692
.local v4, "ff":Landroid/view/FocusFinder;
const/4 v5, 0x0
if-eqz v1, :cond_9b
const/4 v6, 0x2
if-eq p2, v6, :cond_2c
if-ne p2, v2, :cond_9b
.line 2696
:cond_2c
const/4 v7, 0x0
.line 2697
.local v7, "needsFocusFailureLayout":Z
iget-object v8, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v8}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z
move-result v8
if-eqz v8, :cond_4b
.line 2698
if-ne p2, v6, :cond_3a
const/16 v8, 0x82
goto :goto_3c
:cond_3a
const/16 v8, 0x21
.line 2700
.local v8, "absDir":I
:goto_3c
invoke-virtual {v4, p0, p1, v8}, Landroid/view/FocusFinder;->findNextFocus(Landroid/view/ViewGroup;Landroid/view/View;I)Landroid/view/View;
move-result-object v9
.line 2701
.local v9, "found":Landroid/view/View;
if-nez v9, :cond_44
const/4 v10, 0x1
goto :goto_45
:cond_44
const/4 v10, 0x0
:goto_45
move v7, v10
.line 2702
sget-boolean v10, Landroidx/recyclerview/widget/RecyclerView;->FORCE_ABS_FOCUS_SEARCH_DIRECTION:Z
if-eqz v10, :cond_4b
.line 2704
move p2, v8
.line 2707
.end local v8 # "absDir":I
.end local v9 # "found":Landroid/view/View;
:cond_4b
if-nez v7, :cond_7b
iget-object v8, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v8}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z
move-result v8
if-eqz v8, :cond_7b
.line 2708
iget-object v8, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v8}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->getLayoutDirection()I
move-result v8
if-ne v8, v2, :cond_5f
const/4 v8, 0x1
goto :goto_60
:cond_5f
const/4 v8, 0x0
.line 2709
.local v8, "rtl":Z
:goto_60
if-ne p2, v6, :cond_64
const/4 v6, 0x1
goto :goto_65
:cond_64
const/4 v6, 0x0
:goto_65
xor-int/2addr v6, v8
if-eqz v6, :cond_6b
const/16 v6, 0x42
goto :goto_6d
:cond_6b
const/16 v6, 0x11
.line 2711
.local v6, "absDir":I
:goto_6d
invoke-virtual {v4, p0, p1, v6}, Landroid/view/FocusFinder;->findNextFocus(Landroid/view/ViewGroup;Landroid/view/View;I)Landroid/view/View;
move-result-object v9
.line 2712
.restart local v9 # "found":Landroid/view/View;
if-nez v9, :cond_74
goto :goto_75
:cond_74
const/4 v2, 0x0
:goto_75
move v7, v2
.line 2713
sget-boolean v2, Landroidx/recyclerview/widget/RecyclerView;->FORCE_ABS_FOCUS_SEARCH_DIRECTION:Z
if-eqz v2, :cond_7b
.line 2715
move p2, v6
.line 2718
.end local v6 # "absDir":I
.end local v8 # "rtl":Z
.end local v9 # "found":Landroid/view/View;
:cond_7b
if-eqz v7, :cond_96
.line 2719
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->consumePendingUpdateOperations()V
.line 2720
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->findContainingItemView(Landroid/view/View;)Landroid/view/View;
move-result-object v2
.line 2721
.local v2, "focusedItemView":Landroid/view/View;
if-nez v2, :cond_87
.line 2723
return-object v5
.line 2725
:cond_87
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
.line 2726
iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget-object v8, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
iget-object v9, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {v6, p1, p2, v8, v9}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onFocusSearchFailed(Landroid/view/View;ILandroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)Landroid/view/View;
.line 2727
invoke-virtual {p0, v3}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
.line 2729
.end local v2 # "focusedItemView":Landroid/view/View;
:cond_96
invoke-virtual {v4, p0, p1, p2}, Landroid/view/FocusFinder;->findNextFocus(Landroid/view/ViewGroup;Landroid/view/View;I)Landroid/view/View;
move-result-object v0
.line 2730
.end local v7 # "needsFocusFailureLayout":Z
goto :goto_bd
.line 2731
:cond_9b
invoke-virtual {v4, p0, p1, p2}, Landroid/view/FocusFinder;->findNextFocus(Landroid/view/ViewGroup;Landroid/view/View;I)Landroid/view/View;
move-result-object v0
.line 2732
if-nez v0, :cond_bd
if-eqz v1, :cond_bd
.line 2733
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->consumePendingUpdateOperations()V
.line 2734
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->findContainingItemView(Landroid/view/View;)Landroid/view/View;
move-result-object v2
.line 2735
.restart local v2 # "focusedItemView":Landroid/view/View;
if-nez v2, :cond_ad
.line 2737
return-object v5
.line 2739
:cond_ad
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
.line 2740
iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
iget-object v8, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {v6, p1, p2, v7, v8}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onFocusSearchFailed(Landroid/view/View;ILandroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)Landroid/view/View;
move-result-object v0
.line 2741
invoke-virtual {p0, v3}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
.line 2744
.end local v2 # "focusedItemView":Landroid/view/View;
:cond_bd
:goto_bd
if-eqz v0, :cond_d4
invoke-virtual {v0}, Landroid/view/View;->hasFocusable()Z
move-result v2
if-nez v2, :cond_d4
.line 2745
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getFocusedChild()Landroid/view/View;
move-result-object v2
if-nez v2, :cond_d0
.line 2748
invoke-super {p0, p1, p2}, Landroid/view/ViewGroup;->focusSearch(Landroid/view/View;I)Landroid/view/View;
move-result-object v2
return-object v2
.line 2754
:cond_d0
invoke-direct {p0, v0, v5}, Landroidx/recyclerview/widget/RecyclerView;->requestChildOnScreen(Landroid/view/View;Landroid/view/View;)V
.line 2755
return-object p1
.line 2757
:cond_d4
invoke-direct {p0, p1, v0, p2}, Landroidx/recyclerview/widget/RecyclerView;->isPreferredNextFocus(Landroid/view/View;Landroid/view/View;I)Z
move-result v2
if-eqz v2, :cond_dc
move-object v2, v0
goto :goto_e0
.line 2758
:cond_dc
invoke-super {p0, p1, p2}, Landroid/view/ViewGroup;->focusSearch(Landroid/view/View;I)Landroid/view/View;
move-result-object v2
.line 2757
:goto_e0
return-object v2
.end method
.method protected generateDefaultLayoutParams()Landroid/view/ViewGroup$LayoutParams;
.registers 4
.line 4433
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v0, :cond_9
.line 4436
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->generateDefaultLayoutParams()Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
move-result-object v0
return-object v0
.line 4434
: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 5
.param p1, "attrs" # Landroid/util/AttributeSet;
.line 4441
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v0, :cond_d
.line 4444
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getContext()Landroid/content/Context;
move-result-object v1
invoke-virtual {v0, v1, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->generateLayoutParams(Landroid/content/Context;Landroid/util/AttributeSet;)Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
move-result-object v0
return-object v0
.line 4442
:cond_d
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 protected generateLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Landroid/view/ViewGroup$LayoutParams;
.registers 5
.param p1, "p" # Landroid/view/ViewGroup$LayoutParams;
.line 4449
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v0, :cond_9
.line 4452
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->generateLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
move-result-object v0
return-object v0
.line 4450
: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 getAccessibilityClassName()Ljava/lang/CharSequence;
.registers 2
.line 794
const-string v0, "androidx.recyclerview.widget.RecyclerView"
return-object v0
.end method
.method public getAdapter()Landroidx/recyclerview/widget/RecyclerView$Adapter;
.registers 2
.line 1246
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
return-object v0
.end method
.method getAdapterPositionFor(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)I
.registers 4
.param p1, "viewHolder" # Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.line 11375
const/16 v0, 0x20c
invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->hasAnyOfTheFlags(I)Z
move-result v0
if-nez v0, :cond_18
.line 11377
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isBound()Z
move-result v0
if-nez v0, :cond_f
goto :goto_18
.line 11380
:cond_f
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
iget v1, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/AdapterHelper;->applyPendingUpdatesToPosition(I)I
move-result v0
return v0
.line 11378
:cond_18
:goto_18
const/4 v0, -0x1
return v0
.end method
.method public getAttachedScrapChildAt(I)Landroid/view/View;
.registers 3
.param p1, "index" # I
.line 597
if-ltz p1, :cond_14
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
iget-object v0, v0, Landroidx/recyclerview/widget/RecyclerView$Recycler;->mAttachedScrap:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
move-result v0
if-lt p1, v0, :cond_d
goto :goto_14
.line 600
:cond_d
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->getScrapViewAt(I)Landroid/view/View;
move-result-object v0
return-object v0
.line 598
:cond_14
:goto_14
const/4 v0, 0x0
return-object v0
.end method
.method public getAttachedScrapChildCount()I
.registers 2
.line 593
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->getScrapCount()I
move-result v0
return v0
.end method
.method public getBaseline()I
.registers 2
.line 1273
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v0, :cond_9
.line 1274
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->getBaseline()I
move-result v0
return v0
.line 1276
:cond_9
invoke-super {p0}, Landroid/view/ViewGroup;->getBaseline()I
move-result v0
return v0
.end method
.method public getCachedChildAt(I)Landroid/view/View;
.registers 3
.param p1, "index" # I
.line 608
if-ltz p1, :cond_1a
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
iget-object v0, v0, Landroidx/recyclerview/widget/RecyclerView$Recycler;->mCachedViews:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
move-result v0
if-lt p1, v0, :cond_d
goto :goto_1a
.line 611
:cond_d
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
iget-object v0, v0, Landroidx/recyclerview/widget/RecyclerView$Recycler;->mCachedViews:Ljava/util/ArrayList;
invoke-virtual {v0, p1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
iget-object v0, v0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
return-object v0
.line 609
:cond_1a
:goto_1a
const/4 v0, 0x0
return-object v0
.end method
.method public getCachedChildCount()I
.registers 2
.line 604
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
iget-object v0, v0, Landroidx/recyclerview/widget/RecyclerView$Recycler;->mCachedViews:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
move-result v0
return v0
.end method
.method getChangedHolderKey(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)J
.registers 4
.param p1, "holder" # Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.line 4285
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 v0, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I
int-to-long v0, v0
:goto_10
return-wide v0
.end method
.method public getChildAdapterPosition(Landroid/view/View;)I
.registers 4
.param p1, "child" # Landroid/view/View;
.line 4766
invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v0
.line 4767
.local v0, "holder":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
if-eqz v0, :cond_b
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getAdapterPosition()I
move-result v1
goto :goto_c
:cond_b
const/4 v1, -0x1
:goto_c
return v1
.end method
.method protected getChildDrawingOrder(II)I
.registers 4
.param p1, "childCount" # I
.param p2, "i" # I
.line 13342
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildDrawingOrderCallback:Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback;
if-nez v0, :cond_9
.line 13343
invoke-super {p0, p1, p2}, Landroid/view/ViewGroup;->getChildDrawingOrder(II)I
move-result v0
return v0
.line 13345
:cond_9
invoke-interface {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback;->onGetChildDrawingOrder(II)I
move-result v0
return v0
.end method
.method public getChildItemId(Landroid/view/View;)J
.registers 5
.param p1, "child" # Landroid/view/View;
.line 4792
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
const-wide/16 v1, -0x1
if-eqz v0, :cond_18
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z
move-result v0
if-nez v0, :cond_d
goto :goto_18
.line 4795
:cond_d
invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v0
.line 4796
.local v0, "holder":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
if-eqz v0, :cond_17
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getItemId()J
move-result-wide v1
:cond_17
return-wide v1
.line 4793
.end local v0 # "holder":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
:cond_18
:goto_18
return-wide v1
.end method
.method public getChildLayoutPosition(Landroid/view/View;)I
.registers 4
.param p1, "child" # Landroid/view/View;
.line 4781
invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v0
.line 4782
.local v0, "holder":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
if-eqz v0, :cond_b
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getLayoutPosition()I
move-result v1
goto :goto_c
:cond_b
const/4 v1, -0x1
:goto_c
return v1
.end method
.method public getChildPosition(Landroid/view/View;)I
.registers 3
.param p1, "child" # Landroid/view/View;
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.line 4756
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildAdapterPosition(Landroid/view/View;)I
move-result v0
return v0
.end method
.method public getChildViewHolder(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.registers 6
.param p1, "child" # Landroid/view/View;
.line 4697
invoke-virtual {p1}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
move-result-object v0
.line 4698
.local v0, "parent":Landroid/view/ViewParent;
if-eqz v0, :cond_28
if-ne v0, p0, :cond_9
goto :goto_28
.line 4699
:cond_9
new-instance v1, Ljava/lang/IllegalArgumentException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "View "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v3, " is not a direct child of "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v1
.line 4702
:cond_28
:goto_28
invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v1
return-object v1
.end method
.method public getClipToPadding()Z
.registers 2
.line 1119
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
return v0
.end method
.method public getCompatAccessibilityDelegate()Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate;
.registers 2
.line 779
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, "view" # Landroid/view/View;
.param p2, "outBounds" # Landroid/graphics/Rect;
.line 5020
invoke-static {p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->getDecoratedBoundsWithMarginsInt(Landroid/view/View;Landroid/graphics/Rect;)V
.line 5021
return-void
.end method
.method public getEdgeEffectFactory()Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;
.registers 2
.line 2649
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;
return-object v0
.end method
.method public getHiddenChildAt(I)Landroid/view/View;
.registers 3
.param p1, "index" # I
.line 619
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/ChildHelper;->getHiddenChildAt(I)Landroid/view/View;
move-result-object v0
return-object v0
.end method
.method public getHiddenChildCount()I
.registers 2
.line 615
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getHiddenChildCount()I
move-result v0
return v0
.end method
.method public getItemAnimator()Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
.registers 2
.line 3683
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
return-object v0
.end method
.method getItemDecorInsetsForChild(Landroid/view/View;)Landroid/graphics/Rect;
.registers 10
.param p1, "child" # Landroid/view/View;
.line 5033
invoke-virtual {p1}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
move-result-object v0
check-cast v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
.line 5034
.local v0, "lp":Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
iget-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mInsetsDirty:Z
if-nez v1, :cond_d
.line 5035
iget-object v1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mDecorInsets:Landroid/graphics/Rect;
return-object v1
.line 5038
: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
.line 5040
:cond_21
iget-object v1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mDecorInsets:Landroid/graphics/Rect;
return-object v1
.line 5042
:cond_24
iget-object v1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mDecorInsets:Landroid/graphics/Rect;
.line 5043
.local v1, "insets":Landroid/graphics/Rect;
const/4 v2, 0x0
invoke-virtual {v1, v2, v2, v2, v2}, Landroid/graphics/Rect;->set(IIII)V
.line 5044
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
invoke-virtual {v3}, Ljava/util/ArrayList;->size()I
move-result v3
.line 5045
.local v3, "decorCount":I
const/4 v4, 0x0
.local v4, "i":I
:goto_31
if-ge v4, v3, :cond_6e
.line 5046
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
invoke-virtual {v5, v2, v2, v2, v2}, Landroid/graphics/Rect;->set(IIII)V
.line 5047
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
invoke-virtual {v5, v4}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v5
check-cast v5, Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;
iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {v5, v6, p1, p0, v7}, Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;->getItemOffsets(Landroid/graphics/Rect;Landroid/view/View;Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$State;)V
.line 5048
iget v5, v1, Landroid/graphics/Rect;->left:I
iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
iget v6, v6, Landroid/graphics/Rect;->left:I
add-int/2addr v5, v6
iput v5, v1, Landroid/graphics/Rect;->left:I
.line 5049
iget v5, v1, Landroid/graphics/Rect;->top:I
iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
iget v6, v6, Landroid/graphics/Rect;->top:I
add-int/2addr v5, v6
iput v5, v1, Landroid/graphics/Rect;->top:I
.line 5050
iget v5, v1, Landroid/graphics/Rect;->right:I
iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
iget v6, v6, Landroid/graphics/Rect;->right:I
add-int/2addr v5, v6
iput v5, v1, Landroid/graphics/Rect;->right:I
.line 5051
iget v5, v1, Landroid/graphics/Rect;->bottom:I
iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
iget v6, v6, Landroid/graphics/Rect;->bottom:I
add-int/2addr v5, v6
iput v5, v1, Landroid/graphics/Rect;->bottom:I
.line 5045
add-int/lit8 v4, v4, 0x1
goto :goto_31
.line 5053
.end local v4 # "i":I
:cond_6e
iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mInsetsDirty:Z
.line 5054
return-object v1
.end method
.method public getItemDecorationAt(I)Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;
.registers 6
.param p1, "index" # I
.line 1629
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getItemDecorationCount()I
move-result v0
.line 1630
.local v0, "size":I
if-ltz p1, :cond_11
if-ge p1, v0, :cond_11
.line 1634
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
invoke-virtual {v1, p1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;
return-object v1
.line 1631
: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 v3, " is an invalid index for size "
invoke-virtual {v2, v3}, 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 v2
invoke-direct {v1, v2}, Ljava/lang/IndexOutOfBoundsException;-><init>(Ljava/lang/String;)V
throw v1
.end method
.method public getItemDecorationCount()I
.registers 2
.line 1643
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
.line 1494
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
.line 2456
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMaxFlingVelocity:I
return v0
.end method
.method public getMinFlingVelocity()I
.registers 2
.line 2446
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinFlingVelocity:I
return v0
.end method
.method getNanoTime()J
.registers 3
.line 5790
sget-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->ALLOW_THREAD_GAP_WORK:Z
if-eqz v0, :cond_9
.line 5791
invoke-static {}, Ljava/lang/System;->nanoTime()J
move-result-wide v0
return-wide v0
.line 5793
:cond_9
const-wide/16 v0, 0x0
return-wide v0
.end method
.method public getOnFlingListener()Landroidx/recyclerview/widget/RecyclerView$OnFlingListener;
.registers 2
.line 1395
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
.line 4669
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPreserveFocusAfterLayout:Z
return v0
.end method
.method public getRecycledViewPool()Landroidx/recyclerview/widget/RecyclerView$RecycledViewPool;
.registers 2
.line 1507
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
.line 1555
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I
return v0
.end method
.method public hasFixedSize()Z
.registers 2
.line 1090
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mHasFixedSize:Z
return v0
.end method
.method public hasNestedScrollingParent()Z
.registers 2
.line 11435
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
.param p1, "type" # I
.line 11440
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 v0
return v0
.end method
.method public hasPendingAdapterUpdates()Z
.registers 2
.line 5155
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;
.line 5156
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
.line 5155
:goto_14
return v0
.end method
.method initAdapterManager()V
.registers 3
.line 988
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;
.line 1068
return-void
.end method
.method initFastScroller(Landroid/graphics/drawable/StateListDrawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/StateListDrawable;Landroid/graphics/drawable/Drawable;)V
.registers 15
.param p1, "verticalThumbDrawable" # Landroid/graphics/drawable/StateListDrawable;
.param p2, "verticalTrackDrawable" # Landroid/graphics/drawable/Drawable;
.param p3, "horizontalThumbDrawable" # Landroid/graphics/drawable/StateListDrawable;
.param p4, "horizontalTrackDrawable" # Landroid/graphics/drawable/Drawable;
.line 11387
if-eqz p1, :cond_28
if-eqz p2, :cond_28
if-eqz p3, :cond_28
if-eqz p4, :cond_28
.line 11393
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getContext()Landroid/content/Context;
move-result-object v0
invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v0
.line 11394
.local v0, "resources":Landroid/content/res/Resources;
new-instance v1, Landroidx/recyclerview/widget/FastScroller;
const/high16 v2, 0x41000000 # 8.0f
.line 11396
invoke-static {v2}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I
move-result v7
const/high16 v2, 0x42480000 # 50.0f
.line 11397
invoke-static {v2}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I
move-result v8
const/4 v9, 0x0
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
.line 11399
return-void
.line 11389
.end local v0 # "resources":Landroid/content/res/Resources;
:cond_28
new-instance v0, Ljava/lang/IllegalArgumentException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Trying to set fast scroller without both required drawables."
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 11390
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/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method invalidateGlows()V
.registers 2
.line 2622
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;
.line 2623
return-void
.end method
.method public invalidateItemDecorations()V
.registers 3
.line 4646
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
.line 4647
return-void
.line 4649
:cond_9
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v0, :cond_12
.line 4650
const-string v1, "Cannot invalidate item decorations during a scroll or layout"
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->assertNotInLayoutOrScroll(Ljava/lang/String;)V
.line 4653
:cond_12
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->markItemDecorInsetsDirty()V
.line 4654
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
.line 4655
return-void
.end method
.method isAccessibilityEnabled()Z
.registers 2
.line 3598
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
.line 4464
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
.line 2955
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mIsAttached:Z
return v0
.end method
.method public isComputingLayout()Z
.registers 2
.line 3632
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
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.line 2301
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isLayoutSuppressed()Z
move-result v0
return v0
.end method
.method public final isLayoutSuppressed()Z
.registers 2
.line 2262
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
return v0
.end method
.method public isNestedScrollingEnabled()Z
.registers 2
.line 11410
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
move-result-object v0
invoke-virtual {v0}, Landroidx/core/view/NestedScrollingChildHelper;->isNestedScrollingEnabled()Z
move-result v0
return v0
.end method
.method jumpToPositionForSmoothScroller(I)V
.registers 3
.param p1, "position" # I
.line 1775
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-nez v0, :cond_5
.line 1776
return-void
.line 1781
:cond_5
const/4 v0, 0x2
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V
.line 1782
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->scrollToPosition(I)V
.line 1783
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->awakenScrollBars()Z
.line 1784
return-void
.end method
.method markItemDecorInsetsDirty()V
.registers 6
.line 4346
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
.line 4347
.local v0, "childCount":I
const/4 v1, 0x0
.local v1, "i":I
:goto_7
if-ge v1, v0, :cond_1b
.line 4348
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View;
move-result-object v2
.line 4349
.local v2, "child":Landroid/view/View;
invoke-virtual {v2}, 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
.line 4347
.end local v2 # "child":Landroid/view/View;
add-int/lit8 v1, v1, 0x1
goto :goto_7
.line 4351
.end local v1 # "i":I
:cond_1b
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->markItemDecorInsetsDirty()V
.line 4352
return-void
.end method
.method markKnownViewsInvalid()V
.registers 5
.line 4630
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
.line 4631
.local v0, "childCount":I
const/4 v1, 0x0
.local v1, "i":I
:goto_7
if-ge v1, v0, :cond_22
.line 4632
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View;
move-result-object v2
invoke-static {v2}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v2
.line 4633
.local v2, "holder":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
if-eqz v2, :cond_1f
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
move-result v3
if-nez v3, :cond_1f
.line 4634
const/4 v3, 0x6
invoke-virtual {v2, v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->addFlags(I)V
.line 4631
.end local v2 # "holder":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
:cond_1f
add-int/lit8 v1, v1, 0x1
goto :goto_7
.line 4637
.end local v1 # "i":I
:cond_22
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->markItemDecorInsetsDirty()V
.line 4638
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->markKnownViewsInvalid()V
.line 4639
return-void
.end method
.method public offsetChildrenHorizontal(I)V
.registers 5
.param p1, "dx" # I
.line 5006
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
.line 5007
.local v0, "childCount":I
const/4 v1, 0x0
.local v1, "i":I
:goto_7
if-ge v1, v0, :cond_15
.line 5008
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
.line 5007
add-int/lit8 v1, v1, 0x1
goto :goto_7
.line 5010
.end local v1 # "i":I
:cond_15
return-void
.end method
.method public offsetChildrenVertical(I)V
.registers 5
.param p1, "dy" # I
.line 4968
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
.line 4969
.local v0, "childCount":I
const/4 v1, 0x0
.local v1, "i":I
:goto_7
if-ge v1, v0, :cond_15
.line 4970
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
.line 4969
add-int/lit8 v1, v1, 0x1
goto :goto_7
.line 4972
.end local v1 # "i":I
:cond_15
return-void
.end method
.method offsetPositionRecordsForInsert(II)V
.registers 8
.param p1, "positionStart" # I
.param p2, "itemCount" # I
.line 4527
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
.line 4528
.local v0, "childCount":I
const/4 v1, 0x0
.local v1, "i":I
:goto_7
if-ge v1, v0, :cond_2b
.line 4529
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View;
move-result-object v2
invoke-static {v2}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v2
.line 4530
.local v2, "holder":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
if-eqz v2, :cond_28
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
move-result v3
if-nez v3, :cond_28
iget v3, v2, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I
if-lt v3, p1, :cond_28
.line 4535
const/4 v3, 0x0
invoke-virtual {v2, p2, v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->offsetPosition(IZ)V
.line 4536
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
.line 4528
.end local v2 # "holder":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
:cond_28
add-int/lit8 v1, v1, 0x1
goto :goto_7
.line 4539
.end local v1 # "i":I
:cond_2b
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v1, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->offsetPositionRecordsForInsert(II)V
.line 4540
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
.line 4541
return-void
.end method
.method offsetPositionRecordsForMove(II)V
.registers 11
.param p1, "from" # I
.param p2, "to" # I
.line 4493
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
.line 4495
.local v0, "childCount":I
if-ge p1, p2, :cond_c
.line 4496
move v1, p1
.line 4497
.local v1, "start":I
move v2, p2
.line 4498
.local v2, "end":I
const/4 v3, -0x1
.local v3, "inBetweenOffset":I
goto :goto_f
.line 4500
.end local v1 # "start":I
.end local v2 # "end":I
.end local v3 # "inBetweenOffset":I
:cond_c
move v1, p2
.line 4501
.restart local v1 # "start":I
move v2, p1
.line 4502
.restart local v2 # "end":I
const/4 v3, 0x1
.line 4505
.restart local v3 # "inBetweenOffset":I
:goto_f
const/4 v4, 0x0
.local v4, "i":I
:goto_10
if-ge v4, v0, :cond_3d
.line 4506
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v5, v4}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View;
move-result-object v5
invoke-static {v5}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v5
.line 4507
.local v5, "holder":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
if-eqz v5, :cond_3a
iget v6, v5, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I
if-lt v6, v1, :cond_3a
iget v6, v5, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I
if-le v6, v2, :cond_27
.line 4508
goto :goto_3a
.line 4514
:cond_27
iget v6, v5, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I
const/4 v7, 0x0
if-ne v6, p1, :cond_32
.line 4515
sub-int v6, p2, p1
invoke-virtual {v5, v6, v7}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->offsetPosition(IZ)V
goto :goto_35
.line 4517
:cond_32
invoke-virtual {v5, v3, v7}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->offsetPosition(IZ)V
.line 4520
:goto_35
iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
const/4 v7, 0x1
iput-boolean v7, v6, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z
.line 4505
.end local v5 # "holder":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
:cond_3a
:goto_3a
add-int/lit8 v4, v4, 0x1
goto :goto_10
.line 4522
.end local v4 # "i":I
:cond_3d
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v4, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->offsetPositionRecordsForMove(II)V
.line 4523
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
.line 4524
return-void
.end method
.method offsetPositionRecordsForRemove(IIZ)V
.registers 11
.param p1, "positionStart" # I
.param p2, "itemCount" # I
.param p3, "applyToPreLayout" # Z
.line 4545
add-int v0, p1, p2
.line 4546
.local v0, "positionEnd":I
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
.line 4547
.local v1, "childCount":I
const/4 v2, 0x0
.local v2, "i":I
:goto_9
if-ge v2, v1, :cond_3c
.line 4548
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
.line 4549
.local v3, "holder":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
if-eqz v3, :cond_39
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
move-result v4
if-nez v4, :cond_39
.line 4550
iget v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I
const/4 v5, 0x1
if-lt v4, v0, :cond_2b
.line 4556
neg-int v4, p2
invoke-virtual {v3, v4, p3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->offsetPosition(IZ)V
.line 4557
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iput-boolean v5, v4, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z
goto :goto_39
.line 4558
:cond_2b
iget v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I
if-lt v4, p1, :cond_39
.line 4563
add-int/lit8 v4, p1, -0x1
neg-int v6, p2
invoke-virtual {v3, v4, v6, p3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->flagRemovedAndOffsetPosition(IIZ)V
.line 4565
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iput-boolean v5, v4, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z
.line 4547
.end local v3 # "holder":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
:cond_39
:goto_39
add-int/lit8 v2, v2, 0x1
goto :goto_9
.line 4569
.end local v2 # "i":I
:cond_3c
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v2, p1, p2, p3}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->offsetPositionRecordsForRemove(IIZ)V
.line 4570
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
.line 4571
return-void
.end method
.method protected onAttachedToWindow()V
.registers 6
.line 2896
invoke-super {p0}, Landroid/view/ViewGroup;->onAttachedToWindow()V
.line 2897
const/4 v0, 0x0
iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I
.line 2898
const/4 v1, 0x1
iput-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mIsAttached:Z
.line 2899
iget-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z
if-eqz v2, :cond_14
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->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
.line 2900
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v1, :cond_1e
.line 2901
invoke-virtual {v1, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->dispatchAttachedToWindow(Landroidx/recyclerview/widget/RecyclerView;)V
.line 2903
:cond_1e
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPostedAnimatorRunner:Z
.line 2905
sget-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->ALLOW_THREAD_GAP_WORK:Z
if-eqz v0, :cond_65
.line 2907
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;
.line 2908
if-nez v0, :cond_60
.line 2909
new-instance v0, Landroidx/recyclerview/widget/GapWorker;
invoke-direct {v0}, Landroidx/recyclerview/widget/GapWorker;-><init>()V
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/GapWorker;
.line 2913
invoke-static {p0}, Landroidx/core/view/ViewCompat;->getDisplay(Landroid/view/View;)Landroid/view/Display;
move-result-object v0
.line 2914
.local v0, "display":Landroid/view/Display;
const/high16 v1, 0x42700000 # 60.0f
.line 2915
.local v1, "refreshRate":F
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isInEditMode()Z
move-result v2
if-nez v2, :cond_50
if-eqz v0, :cond_50
.line 2916
invoke-virtual {v0}, Landroid/view/Display;->getRefreshRate()F
move-result v2
.line 2917
.local v2, "displayRefreshRate":F
const/high16 v3, 0x41f00000 # 30.0f
cmpl-float v3, v2, v3
if-ltz v3, :cond_50
.line 2918
move v1, v2
.line 2921
.end local v2 # "displayRefreshRate":F
:cond_50
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/GapWorker;
const v3, 0x4e6e6b28 # 1.0E9f
div-float/2addr v3, v1
float-to-long v3, v3
iput-wide v3, v2, Landroidx/recyclerview/widget/GapWorker;->mFrameIntervalNs:J
.line 2922
sget-object v2, Landroidx/recyclerview/widget/GapWorker;->sGapWorker:Ljava/lang/ThreadLocal;
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/GapWorker;
invoke-virtual {v2, v3}, Ljava/lang/ThreadLocal;->set(Ljava/lang/Object;)V
.line 2924
.end local v0 # "display":Landroid/view/Display;
.end local v1 # "refreshRate":F
:cond_60
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
.line 2926
:cond_65
return-void
.end method
.method public onChildAttachedToWindow(Landroid/view/View;)V
.registers 2
.param p1, "child" # Landroid/view/View;
.line 4985
return-void
.end method
.method public onChildDetachedFromWindow(Landroid/view/View;)V
.registers 2
.param p1, "child" # Landroid/view/View;
.line 4997
return-void
.end method
.method protected onDetachedFromWindow()V
.registers 3
.line 2930
invoke-super {p0}, Landroid/view/ViewGroup;->onDetachedFromWindow()V
.line 2931
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
if-eqz v0, :cond_a
.line 2932
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->endAnimations()V
.line 2934
:cond_a
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->stopScroll()V
.line 2935
const/4 v0, 0x0
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mIsAttached:Z
.line 2936
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v0, :cond_19
.line 2937
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v0, p0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->dispatchDetachedFromWindow(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$Recycler;)V
.line 2939
:cond_19
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingAccessibilityImportanceChange:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->clear()V
.line 2940
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimatorRunner:Ljava/lang/Runnable;
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->removeCallbacks(Ljava/lang/Runnable;)Z
.line 2941
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
invoke-virtual {v0}, Landroidx/recyclerview/widget/ViewInfoStore;->onDetach()V
.line 2943
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
.line 2945
invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/GapWorker;->remove(Landroidx/recyclerview/widget/RecyclerView;)V
.line 2946
const/4 v0, 0x0
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/GapWorker;
.line 2948
:cond_36
return-void
.end method
.method public onDraw(Landroid/graphics/Canvas;)V
.registers 6
.param p1, "c" # Landroid/graphics/Canvas;
.line 4418
invoke-super {p0, p1}, Landroid/view/ViewGroup;->onDraw(Landroid/graphics/Canvas;)V
.line 4420
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
move-result v0
.line 4421
.local v0, "count":I
const/4 v1, 0x0
.local v1, "i":I
:goto_a
if-ge v1, v0, :cond_1c
.line 4422
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
.line 4421
add-int/lit8 v1, v1, 0x1
goto :goto_a
.line 4424
.end local v1 # "i":I
:cond_1c
return-void
.end method
.method onEnterLayoutOrScroll()V
.registers 2
.line 3575
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I
add-int/lit8 v0, v0, 0x1
iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I
.line 3576
return-void
.end method
.method onExitLayoutOrScroll()V
.registers 2
.line 3579
const/4 v0, 0x1
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll(Z)V
.line 3580
return-void
.end method
.method onExitLayoutOrScroll(Z)V
.registers 4
.param p1, "enableChangeEvents" # Z
.line 3583
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
.line 3584
if-ge v0, v1, :cond_13
.line 3589
const/4 v0, 0x0
iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I
.line 3590
if-eqz p1, :cond_13
.line 3591
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchContentChangedIfNecessary()V
.line 3592
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchPendingImportantForAccessibilityChanges()V
.line 3595
:cond_13
return-void
.end method
.method public onGenericMotionEvent(Landroid/view/MotionEvent;)Z
.registers 7
.param p1, "event" # Landroid/view/MotionEvent;
.line 3387
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
const/4 v1, 0x0
if-nez v0, :cond_6
.line 3388
return v1
.line 3390
:cond_6
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
if-eqz v0, :cond_b
.line 3391
return v1
.line 3393
:cond_b
invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I
move-result v0
const/16 v2, 0x8
if-ne v0, v2, :cond_83
.line 3395
invoke-virtual {p1}, Landroid/view/MotionEvent;->getSource()I
move-result v0
and-int/lit8 v0, v0, 0x2
if-eqz v0, :cond_3d
.line 3396
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_2b
.line 3399
const/16 v0, 0x9
invoke-virtual {p1, v0}, Landroid/view/MotionEvent;->getAxisValue(I)F
move-result v0
neg-float v0, v0
.local v0, "vScroll":F
goto :goto_2c
.line 3401
.end local v0 # "vScroll":F
:cond_2b
const/4 v0, 0x0
.line 3403
.restart local v0 # "vScroll":F
:goto_2c
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z
move-result v2
if-eqz v2, :cond_3b
.line 3404
const/16 v2, 0xa
invoke-virtual {p1, v2}, Landroid/view/MotionEvent;->getAxisValue(I)F
move-result v2
.local v2, "hScroll":F
goto :goto_6d
.line 3406
.end local v2 # "hScroll":F
:cond_3b
const/4 v2, 0x0
.restart local v2 # "hScroll":F
goto :goto_6d
.line 3408
.end local v0 # "vScroll":F
.end local v2 # "hScroll":F
:cond_3d
invoke-virtual {p1}, Landroid/view/MotionEvent;->getSource()I
move-result v0
const/high16 v2, 0x400000
and-int/2addr v0, v2
if-eqz v0, :cond_6b
.line 3409
const/16 v0, 0x1a
invoke-virtual {p1, v0}, Landroid/view/MotionEvent;->getAxisValue(I)F
move-result v0
.line 3410
.local v0, "axisScroll":F
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 v2, :cond_59
.line 3413
neg-float v2, v0
.line 3414
.local v2, "vScroll":F
const/4 v3, 0x0
move v0, v2
move v2, v3
.local v3, "hScroll":F
goto :goto_6a
.line 3415
.end local v2 # "vScroll":F
.end local v3 # "hScroll":F
:cond_59
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z
move-result v2
if-eqz v2, :cond_66
.line 3416
const/4 v2, 0x0
.line 3417
.restart local v2 # "vScroll":F
move v3, v0
move v0, v2
move v2, v3
.restart local v3 # "hScroll":F
goto :goto_6a
.line 3419
.end local v2 # "vScroll":F
.end local v3 # "hScroll":F
:cond_66
const/4 v2, 0x0
.line 3420
.restart local v2 # "vScroll":F
const/4 v3, 0x0
move v0, v2
move v2, v3
.line 3422
.local v0, "vScroll":F
.local v2, "hScroll":F
:goto_6a
goto :goto_6d
.line 3423
.end local v0 # "vScroll":F
.end local v2 # "hScroll":F
:cond_6b
const/4 v0, 0x0
.line 3424
.restart local v0 # "vScroll":F
const/4 v2, 0x0
.line 3427
.restart local v2 # "hScroll":F
:goto_6d
const/4 v3, 0x0
cmpl-float v4, v0, v3
if-nez v4, :cond_76
cmpl-float v3, v2, v3
if-eqz v3, :cond_83
.line 3428
:cond_76
iget v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mScaledHorizontalScrollFactor:F
mul-float v3, v3, v2
float-to-int v3, v3
iget v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mScaledVerticalScrollFactor:F
mul-float v4, v4, v0
float-to-int v4, v4
invoke-virtual {p0, v3, v4, p1}, Landroidx/recyclerview/widget/RecyclerView;->scrollByInternal(IILandroid/view/MotionEvent;)Z
.line 3432
.end local v0 # "vScroll":F
.end local v2 # "hScroll":F
:cond_83
return v1
.end method
.method public onInterceptTouchEvent(Landroid/view/MotionEvent;)Z
.registers 16
.param p1, "e" # Landroid/view/MotionEvent;
.line 3097
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
const/4 v1, 0x0
if-eqz v0, :cond_6
.line 3100
return v1
.line 3105
:cond_6
const/4 v0, 0x0
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptingOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;
.line 3106
invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->findInterceptingOnItemTouchListener(Landroid/view/MotionEvent;)Z
move-result v0
const/4 v2, 0x1
if-eqz v0, :cond_14
.line 3107
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->cancelScroll()V
.line 3108
return v2
.line 3111
:cond_14
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-nez v0, :cond_19
.line 3112
return v1
.line 3115
:cond_19
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z
move-result v0
.line 3116
.local v0, "canScrollHorizontally":Z
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z
move-result v3
.line 3118
.local v3, "canScrollVertically":Z
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
if-nez v4, :cond_2d
.line 3119
invoke-static {}, Landroid/view/VelocityTracker;->obtain()Landroid/view/VelocityTracker;
move-result-object v4
iput-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
.line 3121
:cond_2d
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
invoke-virtual {v4, p1}, Landroid/view/VelocityTracker;->addMovement(Landroid/view/MotionEvent;)V
.line 3123
invoke-virtual {p1}, Landroid/view/MotionEvent;->getActionMasked()I
move-result v4
.line 3124
.local v4, "action":I
invoke-virtual {p1}, Landroid/view/MotionEvent;->getActionIndex()I
move-result v5
.line 3126
.local v5, "actionIndex":I
const/4 v6, 0x2
const/high16 v7, 0x3f000000 # 0.5f
if-eqz v4, :cond_dc
if-eq v4, v2, :cond_d3
if-eq v4, v6, :cond_74
const/4 v6, 0x3
if-eq v4, v6, :cond_6f
const/4 v6, 0x5
if-eq v4, v6, :cond_53
const/4 v6, 0x6
if-eq v4, v6, :cond_4e
goto/16 :goto_120
.line 3189
:cond_4e
invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->onPointerUp(Landroid/view/MotionEvent;)V
.line 3190
goto/16 :goto_120
.line 3155
:cond_53
invoke-virtual {p1, v5}, Landroid/view/MotionEvent;->getPointerId(I)I
move-result v6
iput v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
.line 3156
invoke-virtual {p1, v5}, Landroid/view/MotionEvent;->getX(I)F
move-result v6
add-float/2addr v6, v7
float-to-int v6, v6
iput v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I
iput v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchX:I
.line 3157
invoke-virtual {p1, v5}, Landroid/view/MotionEvent;->getY(I)F
move-result v6
add-float/2addr v6, v7
float-to-int v6, v6
iput v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I
iput v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchY:I
.line 3158
goto/16 :goto_120
.line 3198
:cond_6f
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->cancelScroll()V
goto/16 :goto_120
.line 3161
:cond_74
iget v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
invoke-virtual {p1, v6}, Landroid/view/MotionEvent;->findPointerIndex(I)I
move-result v6
.line 3162
.local v6, "index":I
if-gez v6, :cond_9a
.line 3163
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v7, "Error processing scroll; pointer index for id "
invoke-virtual {v2, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
invoke-virtual {v2, v7}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v7, " not found. Did any MotionEvents get skipped?"
invoke-virtual {v2, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
const-string v7, "RecyclerView"
invoke-static {v7, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 3165
return v1
.line 3168
:cond_9a
invoke-virtual {p1, v6}, Landroid/view/MotionEvent;->getX(I)F
move-result v8
add-float/2addr v8, v7
float-to-int v8, v8
.line 3169
.local v8, "x":I
invoke-virtual {p1, v6}, Landroid/view/MotionEvent;->getY(I)F
move-result v9
add-float/2addr v9, v7
float-to-int v7, v9
.line 3170
.local v7, "y":I
iget v9, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I
if-eq v9, v2, :cond_d2
.line 3171
iget v9, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchX:I
sub-int v9, v8, v9
.line 3172
.local v9, "dx":I
iget v10, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchY:I
sub-int v10, v7, v10
.line 3173
.local v10, "dy":I
const/4 v11, 0x0
.line 3174
.local v11, "startScroll":Z
if-eqz v0, :cond_c0
invoke-static {v9}, Ljava/lang/Math;->abs(I)I
move-result v12
iget v13, p0, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I
if-le v12, v13, :cond_c0
.line 3175
iput v8, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I
.line 3176
const/4 v11, 0x1
.line 3178
:cond_c0
if-eqz v3, :cond_cd
invoke-static {v10}, Ljava/lang/Math;->abs(I)I
move-result v12
iget v13, p0, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I
if-le v12, v13, :cond_cd
.line 3179
iput v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I
.line 3180
const/4 v11, 0x1
.line 3182
:cond_cd
if-eqz v11, :cond_d2
.line 3183
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V
.line 3186
.end local v6 # "index":I
.end local v7 # "y":I
.end local v8 # "x":I
.end local v9 # "dx":I
.end local v10 # "dy":I
.end local v11 # "startScroll":Z
:cond_d2
goto :goto_120
.line 3193
:cond_d3
iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
invoke-virtual {v6}, Landroid/view/VelocityTracker;->clear()V
.line 3194
invoke-virtual {p0, v1}, Landroidx/recyclerview/widget/RecyclerView;->stopNestedScroll(I)V
.line 3195
goto :goto_120
.line 3128
:cond_dc
iget-boolean v8, p0, Landroidx/recyclerview/widget/RecyclerView;->mIgnoreMotionEventTillDown:Z
if-eqz v8, :cond_e2
.line 3129
iput-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mIgnoreMotionEventTillDown:Z
.line 3131
:cond_e2
invoke-virtual {p1, v1}, Landroid/view/MotionEvent;->getPointerId(I)I
move-result v8
iput v8, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
.line 3132
invoke-virtual {p1}, Landroid/view/MotionEvent;->getX()F
move-result v8
add-float/2addr v8, v7
float-to-int v8, v8
iput v8, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I
iput v8, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchX:I
.line 3133
invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F
move-result v8
add-float/2addr v8, v7
float-to-int v7, v8
iput v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I
iput v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchY:I
.line 3135
iget v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I
if-ne v7, v6, :cond_10d
.line 3136
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getParent()Landroid/view/ViewParent;
move-result-object v6
invoke-interface {v6, v2}, Landroid/view/ViewParent;->requestDisallowInterceptTouchEvent(Z)V
.line 3137
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V
.line 3138
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopNestedScroll(I)V
.line 3142
:cond_10d
iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I
aput v1, v6, v2
aput v1, v6, v1
.line 3144
const/4 v6, 0x0
.line 3145
.local v6, "nestedScrollAxis":I
if-eqz v0, :cond_118
.line 3146
or-int/lit8 v6, v6, 0x1
.line 3148
:cond_118
if-eqz v3, :cond_11c
.line 3149
or-int/lit8 v6, v6, 0x2
.line 3151
:cond_11c
invoke-virtual {p0, v6, v1}, Landroidx/recyclerview/widget/RecyclerView;->startNestedScroll(II)Z
.line 3152
nop
.line 3201
.end local v6 # "nestedScrollAxis":I
:goto_120
iget v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I
if-ne v6, v2, :cond_125
const/4 v1, 0x1
:cond_125
return v1
.end method
.method protected onLayout(ZIIII)V
.registers 7
.param p1, "changed" # Z
.param p2, "l" # I
.param p3, "t" # I
.param p4, "r" # I
.param p5, "b" # I
.line 4330
const-string v0, "RV OnLayout"
invoke-static {v0}, Landroidx/core/os/TraceCompat;->beginSection(Ljava/lang/String;)V
.line 4331
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayout()V
.line 4332
invoke-static {}, Landroidx/core/os/TraceCompat;->endSection()V
.line 4333
const/4 v0, 0x1
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z
.line 4334
return-void
.end method
.method protected onMeasure(II)V
.registers 11
.param p1, "widthSpec" # I
.param p2, "heightSpec" # I
.line 3437
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-nez v0, :cond_8
.line 3438
invoke-virtual {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->defaultOnMeasure(II)V
.line 3439
return-void
.line 3441
: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
.line 3442
invoke-static {p1}, Landroid/view/View$MeasureSpec;->getMode(I)I
move-result v0
.line 3443
.local v0, "widthMode":I
invoke-static {p2}, Landroid/view/View$MeasureSpec;->getMode(I)I
move-result v3
.line 3452
.local v3, "heightMode":I
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
.line 3454
const/high16 v4, 0x40000000 # 2.0f
if-ne v0, v4, :cond_28
if-ne v3, v4, :cond_28
const/4 v2, 0x1
.line 3456
.local v2, "measureSpecModeIsExactly":Z
:cond_28
if-nez v2, :cond_73
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
if-nez v5, :cond_2f
goto :goto_73
.line 3460
:cond_2f
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iget v5, v5, Landroidx/recyclerview/widget/RecyclerView$State;->mLayoutStep:I
if-ne v5, v1, :cond_38
.line 3461
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep1()V
.line 3465
:cond_38
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v5, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setMeasureSpecs(II)V
.line 3466
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iput-boolean v1, v5, Landroidx/recyclerview/widget/RecyclerView$State;->mIsMeasuring:Z
.line 3467
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep2()V
.line 3470
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v5, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setMeasuredDimensionFromChildren(II)V
.line 3474
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v5}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->shouldMeasureTwice()Z
move-result v5
if-eqz v5, :cond_72
.line 3475
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
.line 3476
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredWidth()I
move-result v6
invoke-static {v6, v4}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result v6
.line 3477
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredHeight()I
move-result v7
invoke-static {v7, v4}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result v4
.line 3475
invoke-virtual {v5, v6, v4}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setMeasureSpecs(II)V
.line 3478
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iput-boolean v1, v4, Landroidx/recyclerview/widget/RecyclerView$State;->mIsMeasuring:Z
.line 3479
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep2()V
.line 3481
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v1, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setMeasuredDimensionFromChildren(II)V
.line 3483
.end local v0 # "widthMode":I
.end local v2 # "measureSpecModeIsExactly":Z
.end local v3 # "heightMode":I
:cond_72
goto :goto_e2
.line 3457
.restart local v0 # "widthMode":I
.restart local v2 # "measureSpecModeIsExactly":Z
.restart local v3 # "heightMode":I
:cond_73
:goto_73
return-void
.line 3484
.end local v0 # "widthMode":I
.end local v2 # "measureSpecModeIsExactly":Z
.end local v3 # "heightMode":I
:cond_74
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mHasFixedSize:Z
if-eqz v0, :cond_82
.line 3485
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
.line 3486
return-void
.line 3489
:cond_82
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterUpdateDuringMeasure:Z
if-eqz v0, :cond_ac
.line 3490
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
.line 3491
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V
.line 3492
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->processAdapterUpdatesAndSetAnimationFlags()V
.line 3493
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V
.line 3495
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_9d
.line 3496
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mInPreLayout:Z
goto :goto_a6
.line 3499
:cond_9d
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->consumeUpdatesInOnePass()V
.line 3500
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mInPreLayout:Z
.line 3502
:goto_a6
iput-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterUpdateDuringMeasure:Z
.line 3503
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
goto :goto_be
.line 3504
:cond_ac
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_be
.line 3510
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredWidth()I
move-result v0
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredHeight()I
move-result v1
invoke-virtual {p0, v0, v1}, Landroidx/recyclerview/widget/RecyclerView;->setMeasuredDimension(II)V
.line 3511
return-void
.line 3514
:cond_be
:goto_be
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
if-eqz v0, :cond_cb
.line 3515
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_cf
.line 3517
:cond_cb
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iput v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mItemCount:I
.line 3519
:goto_cf
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
.line 3520
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {v0, v1, v3, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onMeasure(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;II)V
.line 3521
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
.line 3522
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mInPreLayout:Z
.line 3524
:goto_e2
return-void
.end method
.method protected onRequestFocusInDescendants(ILandroid/graphics/Rect;)Z
.registers 4
.param p1, "direction" # I
.param p2, "previouslyFocusedRect" # Landroid/graphics/Rect;
.line 2886
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isComputingLayout()Z
move-result v0
if-eqz v0, :cond_8
.line 2889
const/4 v0, 0x0
return v0
.line 2891
:cond_8
invoke-super {p0, p1, p2}, Landroid/view/ViewGroup;->onRequestFocusInDescendants(ILandroid/graphics/Rect;)Z
move-result v0
return v0
.end method
.method protected onRestoreInstanceState(Landroid/os/Parcelable;)V
.registers 4
.param p1, "state" # Landroid/os/Parcelable;
.line 1414
instance-of v0, p1, Landroidx/recyclerview/widget/RecyclerView$SavedState;
if-nez v0, :cond_8
.line 1415
invoke-super {p0, p1}, Landroid/view/ViewGroup;->onRestoreInstanceState(Landroid/os/Parcelable;)V
.line 1416
return-void
.line 1419
:cond_8
move-object v0, p1
check-cast v0, Landroidx/recyclerview/widget/RecyclerView$SavedState;
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingSavedState:Landroidx/recyclerview/widget/RecyclerView$SavedState;
.line 1420
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$SavedState;->getSuperState()Landroid/os/Parcelable;
move-result-object v0
invoke-super {p0, v0}, Landroid/view/ViewGroup;->onRestoreInstanceState(Landroid/os/Parcelable;)V
.line 1421
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v0, :cond_27
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_27
.line 1422
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingSavedState:Landroidx/recyclerview/widget/RecyclerView$SavedState;
iget-object v1, v1, Landroidx/recyclerview/widget/RecyclerView$SavedState;->mLayoutState:Landroid/os/Parcelable;
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onRestoreInstanceState(Landroid/os/Parcelable;)V
.line 1424
:cond_27
return-void
.end method
.method protected onSaveInstanceState()Landroid/os/Parcelable;
.registers 3
.line 1400
new-instance v0, Landroidx/recyclerview/widget/RecyclerView$SavedState;
invoke-super {p0}, Landroid/view/ViewGroup;->onSaveInstanceState()Landroid/os/Parcelable;
move-result-object v1
invoke-direct {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$SavedState;-><init>(Landroid/os/Parcelable;)V
.line 1401
.local v0, "state":Landroidx/recyclerview/widget/RecyclerView$SavedState;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingSavedState:Landroidx/recyclerview/widget/RecyclerView$SavedState;
if-eqz v1, :cond_11
.line 1402
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$SavedState;->copyFrom(Landroidx/recyclerview/widget/RecyclerView$SavedState;)V
goto :goto_1f
.line 1403
:cond_11
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v1, :cond_1c
.line 1404
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
.line 1406
:cond_1c
const/4 v1, 0x0
iput-object v1, v0, Landroidx/recyclerview/widget/RecyclerView$SavedState;->mLayoutState:Landroid/os/Parcelable;
.line 1409
:goto_1f
return-object v0
.end method
.method public onScrollStateChanged(I)V
.registers 2
.param p1, "state" # I
.line 5117
return-void
.end method
.method public onScrolled(II)V
.registers 3
.param p1, "dx" # I
.param p2, "dy" # I
.line 5079
return-void
.end method
.method protected onSizeChanged(IIII)V
.registers 5
.param p1, "w" # I
.param p2, "h" # I
.param p3, "oldw" # I
.param p4, "oldh" # I
.line 3545
invoke-super {p0, p1, p2, p3, p4}, Landroid/view/ViewGroup;->onSizeChanged(IIII)V
.line 3546
if-ne p1, p3, :cond_7
if-eq p2, p4, :cond_a
.line 3547
:cond_7
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->invalidateGlows()V
.line 3550
:cond_a
return-void
.end method
.method public onTouchEvent(Landroid/view/MotionEvent;)Z
.registers 24
.param p1, "e" # Landroid/view/MotionEvent;
.line 3216
move-object/from16 v6, p0
move-object/from16 v7, p1
iget-boolean v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
const/4 v8, 0x0
if-nez v0, :cond_1f4
iget-boolean v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mIgnoreMotionEventTillDown:Z
if-eqz v0, :cond_f
goto/16 :goto_1f4
.line 3219
:cond_f
invoke-direct/range {p0 .. p1}, Landroidx/recyclerview/widget/RecyclerView;->dispatchToOnItemTouchListeners(Landroid/view/MotionEvent;)Z
move-result v0
const/4 v9, 0x1
if-eqz v0, :cond_1a
.line 3220
invoke-direct/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->cancelScroll()V
.line 3221
return v9
.line 3224
:cond_1a
iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-nez v0, :cond_1f
.line 3225
return v8
.line 3228
:cond_1f
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z
move-result v10
.line 3229
.local v10, "canScrollHorizontally":Z
iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z
move-result v11
.line 3231
.local v11, "canScrollVertically":Z
iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
if-nez v0, :cond_33
.line 3232
invoke-static {}, Landroid/view/VelocityTracker;->obtain()Landroid/view/VelocityTracker;
move-result-object v0
iput-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
.line 3234
:cond_33
const/4 v12, 0x0
.line 3236
.local v12, "eventAddedToVelocityTracker":Z
invoke-static/range {p1 .. p1}, Landroid/view/MotionEvent;->obtain(Landroid/view/MotionEvent;)Landroid/view/MotionEvent;
move-result-object v13
.line 3237
.local v13, "vtev":Landroid/view/MotionEvent;
invoke-virtual/range {p1 .. p1}, Landroid/view/MotionEvent;->getActionMasked()I
move-result v14
.line 3238
.local v14, "action":I
invoke-virtual/range {p1 .. p1}, Landroid/view/MotionEvent;->getActionIndex()I
move-result v15
.line 3240
.local v15, "actionIndex":I
if-nez v14, :cond_48
.line 3241
iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I
aput v8, v0, v9
aput v8, v0, v8
.line 3243
:cond_48
iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I
aget v1, v0, v8
int-to-float v1, v1
aget v0, v0, v9
int-to-float v0, v0
invoke-virtual {v13, v1, v0}, Landroid/view/MotionEvent;->offsetLocation(FF)V
.line 3245
const/high16 v0, 0x3f000000 # 0.5f
if-eqz v14, :cond_1c2
if-eq v14, v9, :cond_180
const/4 v1, 0x2
if-eq v14, v1, :cond_8d
const/4 v1, 0x3
if-eq v14, v1, :cond_88
const/4 v1, 0x5
if-eq v14, v1, :cond_6c
const/4 v0, 0x6
if-eq v14, v0, :cond_67
goto/16 :goto_1e9
.line 3331
:cond_67
invoke-direct/range {p0 .. p1}, Landroidx/recyclerview/widget/RecyclerView;->onPointerUp(Landroid/view/MotionEvent;)V
.line 3332
goto/16 :goto_1e9
.line 3262
:cond_6c
invoke-virtual {v7, v15}, Landroid/view/MotionEvent;->getPointerId(I)I
move-result v1
iput v1, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
.line 3263
invoke-virtual {v7, v15}, Landroid/view/MotionEvent;->getX(I)F
move-result v1
add-float/2addr v1, v0
float-to-int v1, v1
iput v1, v6, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I
iput v1, v6, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchX:I
.line 3264
invoke-virtual {v7, v15}, Landroid/view/MotionEvent;->getY(I)F
move-result v1
add-float/2addr v1, v0
float-to-int v0, v1
iput v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I
iput v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchY:I
.line 3265
goto/16 :goto_1e9
.line 3349
:cond_88
invoke-direct/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->cancelScroll()V
goto/16 :goto_1e9
.line 3268
:cond_8d
iget v1, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
invoke-virtual {v7, v1}, Landroid/view/MotionEvent;->findPointerIndex(I)I
move-result v5
.line 3269
.local v5, "index":I
if-gez v5, :cond_b3
.line 3270
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "Error processing scroll; pointer index for id "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v1, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v1, " not found. Did any MotionEvents get skipped?"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
const-string v1, "RecyclerView"
invoke-static {v1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 3272
return v8
.line 3275
:cond_b3
invoke-virtual {v7, v5}, Landroid/view/MotionEvent;->getX(I)F
move-result v1
add-float/2addr v1, v0
float-to-int v4, v1
.line 3276
.local v4, "x":I
invoke-virtual {v7, v5}, Landroid/view/MotionEvent;->getY(I)F
move-result v1
add-float/2addr v1, v0
float-to-int v3, v1
.line 3277
.local v3, "y":I
iget v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I
sub-int v16, v0, v4
.line 3278
.local v16, "dx":I
iget v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I
sub-int v17, v0, v3
.line 3280
.local v17, "dy":I
iget-object v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I
aput v8, v2, v8
.line 3281
aput v8, v2, v9
.line 3282
iget-object v1, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I
const/16 v18, 0x0
move-object/from16 v0, p0
move-object/from16 v19, v1
move/from16 v1, v16
move-object/from16 v20, v2
move/from16 v2, v17
move/from16 v21, v3
.end local v3 # "y":I
.local v21, "y":I
move-object/from16 v3, v20
move/from16 v20, v4
.end local v4 # "x":I
.local v20, "x":I
move-object/from16 v4, v19
move/from16 v19, v5
.end local v5 # "index":I
.local v19, "index":I
move/from16 v5, v18
invoke-virtual/range {v0 .. v5}, Landroidx/recyclerview/widget/RecyclerView;->dispatchNestedPreScroll(II[I[II)Z
move-result v0
if-eqz v0, :cond_114
.line 3283
iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I
aget v1, v0, v8
sub-int v16, v16, v1
.line 3284
aget v0, v0, v9
sub-int v17, v17, v0
.line 3285
iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I
aget v1, v0, v8
int-to-float v1, v1
aget v0, v0, v9
int-to-float v0, v0
invoke-virtual {v13, v1, v0}, Landroid/view/MotionEvent;->offsetLocation(FF)V
.line 3287
iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I
aget v1, v0, v8
iget-object v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I
aget v3, v2, v8
add-int/2addr v1, v3
aput v1, v0, v8
.line 3288
aget v1, v0, v9
aget v2, v2, v9
add-int/2addr v1, v2
aput v1, v0, v9
.line 3291
:cond_114
iget v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I
if-eq v0, v9, :cond_147
.line 3292
const/4 v0, 0x0
.line 3293
.local v0, "startScroll":Z
if-eqz v10, :cond_12b
invoke-static/range {v16 .. v16}, Ljava/lang/Math;->abs(I)I
move-result v1
iget v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I
if-le v1, v2, :cond_12b
.line 3294
if-lez v16, :cond_128
.line 3295
sub-int v16, v16, v2
goto :goto_12a
.line 3297
:cond_128
add-int v16, v16, v2
.line 3299
:goto_12a
const/4 v0, 0x1
.line 3301
:cond_12b
if-eqz v11, :cond_13d
invoke-static/range {v17 .. v17}, Ljava/lang/Math;->abs(I)I
move-result v1
iget v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I
if-le v1, v2, :cond_13d
.line 3302
if-lez v17, :cond_13a
.line 3303
sub-int v17, v17, v2
goto :goto_13c
.line 3305
:cond_13a
add-int v17, v17, v2
.line 3307
:goto_13c
const/4 v0, 0x1
.line 3309
:cond_13d
if-eqz v0, :cond_142
.line 3310
invoke-virtual {v6, v9}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V
.line 3314
.end local v0 # "startScroll":Z
:cond_142
move/from16 v0, v16
move/from16 v1, v17
goto :goto_14b
.line 3291
:cond_147
move/from16 v0, v16
move/from16 v1, v17
.line 3314
.end local v16 # "dx":I
.end local v17 # "dy":I
.local v0, "dx":I
.local v1, "dy":I
:goto_14b
iget v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I
if-ne v2, v9, :cond_17f
.line 3315
iget-object v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I
aget v3, v2, v8
sub-int v4, v20, v3
iput v4, v6, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I
.line 3316
aget v2, v2, v9
sub-int v3, v21, v2
iput v3, v6, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I
.line 3318
if-eqz v10, :cond_161
move v2, v0
goto :goto_162
:cond_161
const/4 v2, 0x0
:goto_162
if-eqz v11, :cond_165
move v8, v1
:cond_165
invoke-virtual {v6, v2, v8, v13}, Landroidx/recyclerview/widget/RecyclerView;->scrollByInternal(IILandroid/view/MotionEvent;)Z
move-result v2
if-eqz v2, :cond_172
.line 3322
invoke-virtual/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->getParent()Landroid/view/ViewParent;
move-result-object v2
invoke-interface {v2, v9}, Landroid/view/ViewParent;->requestDisallowInterceptTouchEvent(Z)V
.line 3324
:cond_172
iget-object v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/GapWorker;
if-eqz v2, :cond_17f
if-nez v0, :cond_17a
if-eqz v1, :cond_17f
.line 3325
:cond_17a
iget-object v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/GapWorker;
invoke-virtual {v2, v6, v0, v1}, Landroidx/recyclerview/widget/GapWorker;->postFromTraversal(Landroidx/recyclerview/widget/RecyclerView;II)V
.line 3328
.end local v0 # "dx":I
.end local v1 # "dy":I
.end local v19 # "index":I
.end local v20 # "x":I
.end local v21 # "y":I
:cond_17f
goto :goto_1e9
.line 3335
:cond_180
iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
invoke-virtual {v0, v13}, Landroid/view/VelocityTracker;->addMovement(Landroid/view/MotionEvent;)V
.line 3336
const/4 v12, 0x1
.line 3337
iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
const/16 v1, 0x3e8
iget v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mMaxFlingVelocity:I
int-to-float v2, v2
invoke-virtual {v0, v1, v2}, Landroid/view/VelocityTracker;->computeCurrentVelocity(IF)V
.line 3338
const/4 v0, 0x0
if-eqz v10, :cond_19d
iget-object v1, v6, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
iget v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
.line 3339
invoke-virtual {v1, v2}, Landroid/view/VelocityTracker;->getXVelocity(I)F
move-result v1
neg-float v1, v1
goto :goto_19e
:cond_19d
const/4 v1, 0x0
.line 3340
.local v1, "xvel":F
:goto_19e
if-eqz v11, :cond_1aa
iget-object v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
iget v3, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
.line 3341
invoke-virtual {v2, v3}, Landroid/view/VelocityTracker;->getYVelocity(I)F
move-result v2
neg-float v2, v2
goto :goto_1ab
:cond_1aa
const/4 v2, 0x0
.line 3342
.local v2, "yvel":F
:goto_1ab
cmpl-float v3, v1, v0
if-nez v3, :cond_1b3
cmpl-float v0, v2, v0
if-eqz v0, :cond_1bb
:cond_1b3
float-to-int v0, v1
float-to-int v3, v2
invoke-virtual {v6, v0, v3}, Landroidx/recyclerview/widget/RecyclerView;->fling(II)Z
move-result v0
if-nez v0, :cond_1be
.line 3343
:cond_1bb
invoke-virtual {v6, v8}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V
.line 3345
:cond_1be
invoke-direct/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->resetScroll()V
.line 3346
.end local v1 # "xvel":F
.end local v2 # "yvel":F
goto :goto_1e9
.line 3247
:cond_1c2
invoke-virtual {v7, v8}, Landroid/view/MotionEvent;->getPointerId(I)I
move-result v1
iput v1, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
.line 3248
invoke-virtual/range {p1 .. p1}, Landroid/view/MotionEvent;->getX()F
move-result v1
add-float/2addr v1, v0
float-to-int v1, v1
iput v1, v6, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I
iput v1, v6, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchX:I
.line 3249
invoke-virtual/range {p1 .. p1}, Landroid/view/MotionEvent;->getY()F
move-result v1
add-float/2addr v1, v0
float-to-int v0, v1
iput v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I
iput v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchY:I
.line 3251
const/4 v0, 0x0
.line 3252
.local v0, "nestedScrollAxis":I
if-eqz v10, :cond_1e1
.line 3253
or-int/lit8 v0, v0, 0x1
.line 3255
:cond_1e1
if-eqz v11, :cond_1e5
.line 3256
or-int/lit8 v0, v0, 0x2
.line 3258
:cond_1e5
invoke-virtual {v6, v0, v8}, Landroidx/recyclerview/widget/RecyclerView;->startNestedScroll(II)Z
.line 3259
.end local v0 # "nestedScrollAxis":I
nop
.line 3353
:goto_1e9
if-nez v12, :cond_1f0
.line 3354
iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
invoke-virtual {v0, v13}, Landroid/view/VelocityTracker;->addMovement(Landroid/view/MotionEvent;)V
.line 3356
:cond_1f0
invoke-virtual {v13}, Landroid/view/MotionEvent;->recycle()V
.line 3358
return v9
.line 3217
.end local v10 # "canScrollHorizontally":Z
.end local v11 # "canScrollVertically":Z
.end local v12 # "eventAddedToVelocityTracker":Z
.end local v13 # "vtev":Landroid/view/MotionEvent;
.end local v14 # "action":I
.end local v15 # "actionIndex":I
:cond_1f4
:goto_1f4
return v8
.end method
.method postAnimationRunner()V
.registers 2
.line 3691
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
.line 3692
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
.line 3693
const/4 v0, 0x1
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPostedAnimatorRunner:Z
.line 3695
:cond_10
return-void
.end method
.method processDataSetCompletelyChanged(Z)V
.registers 3
.param p1, "dispatchItemsChanged" # Z
.line 4620
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchItemsChangedEvent:Z
or-int/2addr v0, p1
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchItemsChangedEvent:Z
.line 4621
const/4 v0, 0x1
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z
.line 4622
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->markKnownViewsInvalid()V
.line 4623
return-void
.end method
.method recordAnimationInfoIfBouncedHiddenView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V
.registers 6
.param p1, "viewHolder" # Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.param p2, "animationInfo" # Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;
.line 4218
const/4 v0, 0x0
const/16 v1, 0x2000
invoke-virtual {p1, v0, v1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->setFlags(II)V
.line 4219
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
.line 4220
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
.line 4221
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->getChangedHolderKey(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)J
move-result-wide v0
.line 4222
.local v0, "key":J
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
invoke-virtual {v2, v0, v1, p1}, Landroidx/recyclerview/widget/ViewInfoStore;->addToOldChangeHolders(JLandroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
.line 4224
.end local v0 # "key":J
: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
.line 4225
return-void
.end method
.method removeAndRecycleViews()V
.registers 3
.line 1191
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
if-eqz v0, :cond_7
.line 1192
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->endAnimations()V
.line 1198
:cond_7
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v0, :cond_17
.line 1199
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->removeAndRecycleAllViews(Landroidx/recyclerview/widget/RecyclerView$Recycler;)V
.line 1200
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->removeAndRecycleScrapInt(Landroidx/recyclerview/widget/RecyclerView$Recycler;)V
.line 1203
: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
.line 1204
return-void
.end method
.method removeAnimatingView(Landroid/view/View;)Z
.registers 5
.param p1, "view" # Landroid/view/View;
.line 1471
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
.line 1472
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
.line 1473
.local v0, "removed":Z
if-eqz v0, :cond_19
.line 1474
invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v1
.line 1475
.local v1, "viewHolder":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->unscrapView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
.line 1476
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->recycleViewHolderInternal(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
.line 1482
.end local v1 # "viewHolder":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
:cond_19
xor-int/lit8 v1, v0, 0x1
invoke-virtual {p0, v1}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
.line 1483
return v0
.end method
.method protected removeDetachedView(Landroid/view/View;Z)V
.registers 7
.param p1, "child" # Landroid/view/View;
.param p2, "animate" # Z
.line 4261
invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v0
.line 4262
.local v0, "vh":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
if-eqz v0, :cond_35
.line 4263
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isTmpDetached()Z
move-result v1
if-eqz v1, :cond_10
.line 4264
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->clearTmpDetachFlag()V
goto :goto_35
.line 4265
:cond_10
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
move-result v1
if-eqz v1, :cond_17
goto :goto_35
.line 4266
:cond_17
new-instance v1, Ljava/lang/IllegalArgumentException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Called removeDetachedView with a view which is not flagged as tmp detached."
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
.line 4267
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v1
.line 4274
:cond_35
:goto_35
invoke-virtual {p1}, Landroid/view/View;->clearAnimation()V
.line 4276
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->dispatchChildDetached(Landroid/view/View;)V
.line 4277
invoke-super {p0, p1, p2}, Landroid/view/ViewGroup;->removeDetachedView(Landroid/view/View;Z)V
.line 4278
return-void
.end method
.method public removeItemDecoration(Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;)V
.registers 4
.param p1, "decor" # Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;
.line 1670
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v0, :cond_9
.line 1671
const-string v1, "Cannot remove item decoration during a scroll or layout"
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->assertNotInLayoutOrScroll(Ljava/lang/String;)V
.line 1674
: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
.line 1675
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_23
.line 1676
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getOverScrollMode()I
move-result v0
const/4 v1, 0x2
if-ne v0, v1, :cond_1f
const/4 v0, 0x1
goto :goto_20
:cond_1f
const/4 v0, 0x0
:goto_20
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setWillNotDraw(Z)V
.line 1678
:cond_23
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->markItemDecorInsetsDirty()V
.line 1679
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
.line 1680
return-void
.end method
.method public removeItemDecorationAt(I)V
.registers 6
.param p1, "index" # I
.line 1652
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getItemDecorationCount()I
move-result v0
.line 1653
.local v0, "size":I
if-ltz p1, :cond_10
if-ge p1, v0, :cond_10
.line 1657
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->getItemDecorationAt(I)Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;
move-result-object v1
invoke-virtual {p0, v1}, Landroidx/recyclerview/widget/RecyclerView;->removeItemDecoration(Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;)V
.line 1658
return-void
.line 1654
: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 v3, " is an invalid index for size "
invoke-virtual {v2, v3}, 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 v2
invoke-direct {v1, v2}, 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, "listener" # Landroidx/recyclerview/widget/RecyclerView$OnChildAttachStateChangeListener;
.line 1306
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List;
if-nez v0, :cond_5
.line 1307
return-void
.line 1309
:cond_5
invoke-interface {v0, p1}, Ljava/util/List;->remove(Ljava/lang/Object;)Z
.line 1310
return-void
.end method
.method public removeOnItemTouchListener(Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;)V
.registers 3
.param p1, "listener" # Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;
.line 3024
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList;
invoke-virtual {v0, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
.line 3025
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptingOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;
if-ne v0, p1, :cond_c
.line 3026
const/4 v0, 0x0
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptingOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;
.line 3028
:cond_c
return-void
.end method
.method public removeOnScrollListener(Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;)V
.registers 3
.param p1, "listener" # Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;
.line 1738
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List;
if-eqz v0, :cond_7
.line 1739
invoke-interface {v0, p1}, Ljava/util/List;->remove(Ljava/lang/Object;)Z
.line 1741
:cond_7
return-void
.end method
.method repositionShadowingViews()V
.registers 10
.line 5427
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
.line 5428
.local v0, "count":I
const/4 v1, 0x0
.local v1, "i":I
:goto_7
if-ge v1, v0, :cond_42
.line 5429
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View;
move-result-object v2
.line 5430
.local v2, "view":Landroid/view/View;
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolder(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v3
.line 5431
.local v3, "holder":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
if-eqz v3, :cond_3f
iget-object v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mShadowingHolder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
if-eqz v4, :cond_3f
.line 5432
iget-object v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mShadowingHolder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
iget-object v4, v4, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
.line 5433
.local v4, "shadowingView":Landroid/view/View;
invoke-virtual {v2}, Landroid/view/View;->getLeft()I
move-result v5
.line 5434
.local v5, "left":I
invoke-virtual {v2}, Landroid/view/View;->getTop()I
move-result v6
.line 5435
.local v6, "top":I
invoke-virtual {v4}, Landroid/view/View;->getLeft()I
move-result v7
if-ne v5, v7, :cond_31
invoke-virtual {v4}, Landroid/view/View;->getTop()I
move-result v7
if-eq v6, v7, :cond_3f
.line 5436
:cond_31
nop
.line 5437
invoke-virtual {v4}, Landroid/view/View;->getWidth()I
move-result v7
add-int/2addr v7, v5
.line 5438
invoke-virtual {v4}, Landroid/view/View;->getHeight()I
move-result v8
add-int/2addr v8, v6
.line 5436
invoke-virtual {v4, v5, v6, v7, v8}, Landroid/view/View;->layout(IIII)V
.line 5428
.end local v2 # "view":Landroid/view/View;
.end local v3 # "holder":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.end local v4 # "shadowingView":Landroid/view/View;
.end local v5 # "left":I
.end local v6 # "top":I
:cond_3f
add-int/lit8 v1, v1, 0x1
goto :goto_7
.line 5442
.end local v1 # "i":I
:cond_42
return-void
.end method
.method public requestChildFocus(Landroid/view/View;Landroid/view/View;)V
.registers 5
.param p1, "child" # Landroid/view/View;
.param p2, "focused" # Landroid/view/View;
.line 2829
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
.line 2830
invoke-direct {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->requestChildOnScreen(Landroid/view/View;Landroid/view/View;)V
.line 2832
:cond_f
invoke-super {p0, p1, p2}, Landroid/view/ViewGroup;->requestChildFocus(Landroid/view/View;Landroid/view/View;)V
.line 2833
return-void
.end method
.method public requestChildRectangleOnScreen(Landroid/view/View;Landroid/graphics/Rect;Z)Z
.registers 5
.param p1, "child" # Landroid/view/View;
.param p2, "rect" # Landroid/graphics/Rect;
.param p3, "immediate" # Z
.line 2874
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 v0
return v0
.end method
.method public requestDisallowInterceptTouchEvent(Z)V
.registers 5
.param p1, "disallowIntercept" # Z
.line 3206
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
move-result v0
.line 3207
.local v0, "listenerCount":I
const/4 v1, 0x0
.local v1, "i":I
:goto_7
if-ge v1, v0, :cond_17
.line 3208
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList;
invoke-virtual {v2, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v2
check-cast v2, Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;
.line 3209
.local v2, "listener":Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;
invoke-interface {v2, p1}, Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;->onRequestDisallowInterceptTouchEvent(Z)V
.line 3207
.end local v2 # "listener":Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;
add-int/lit8 v1, v1, 0x1
goto :goto_7
.line 3211
.end local v1 # "i":I
:cond_17
invoke-super {p0, p1}, Landroid/view/ViewGroup;->requestDisallowInterceptTouchEvent(Z)V
.line 3212
return-void
.end method
.method public requestLayout()V
.registers 2
.line 4338
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I
if-nez v0, :cond_c
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
if-nez v0, :cond_c
.line 4339
invoke-super {p0}, Landroid/view/ViewGroup;->requestLayout()V
goto :goto_f
.line 4341
:cond_c
const/4 v0, 0x1
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z
.line 4343
:goto_f
return-void
.end method
.method saveOldPositions()V
.registers 5
.line 4468
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
.line 4469
.local v0, "childCount":I
const/4 v1, 0x0
.local v1, "i":I
:goto_7
if-ge v1, v0, :cond_1f
.line 4470
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View;
move-result-object v2
invoke-static {v2}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v2
.line 4475
.local v2, "holder":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
move-result v3
if-nez v3, :cond_1c
.line 4476
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->saveOldPosition()V
.line 4469
.end local v2 # "holder":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
:cond_1c
add-int/lit8 v1, v1, 0x1
goto :goto_7
.line 4479
.end local v1 # "i":I
:cond_1f
return-void
.end method
.method public scrollBy(II)V
.registers 8
.param p1, "x" # I
.param p2, "y" # I
.line 1821
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-nez v0, :cond_c
.line 1822
const-string v0, "RecyclerView"
const-string v1, "Cannot scroll without a LayoutManager set. Call setLayoutManager with a non-null argument."
invoke-static {v0, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 1824
return-void
.line 1826
:cond_c
iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
if-eqz v1, :cond_11
.line 1827
return-void
.line 1829
:cond_11
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z
move-result v0
.line 1830
.local v0, "canScrollHorizontal":Z
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
.line 1831
.local v1, "canScrollVertical":Z
if-nez v0, :cond_1f
if-eqz v1, :cond_2c
.line 1832
:cond_1f
const/4 v2, 0x0
if-eqz v0, :cond_24
move v3, p1
goto :goto_25
:cond_24
const/4 v3, 0x0
:goto_25
if-eqz v1, :cond_28
move v2, p2
:cond_28
const/4 v4, 0x0
invoke-virtual {p0, v3, v2, v4}, Landroidx/recyclerview/widget/RecyclerView;->scrollByInternal(IILandroid/view/MotionEvent;)Z
.line 1834
:cond_2c
return-void
.end method
.method scrollByInternal(IILandroid/view/MotionEvent;)Z
.registers 25
.param p1, "x" # I
.param p2, "y" # I
.param p3, "ev" # Landroid/view/MotionEvent;
.line 1951
move-object/from16 v8, p0
move/from16 v9, p1
move/from16 v10, p2
move-object/from16 v11, p3
const/4 v0, 0x0
.line 1952
.local v0, "unconsumedX":I
const/4 v1, 0x0
.line 1953
.local v1, "unconsumedY":I
const/4 v2, 0x0
.line 1954
.local v2, "consumedX":I
const/4 v3, 0x0
.line 1956
.local v3, "consumedY":I
invoke-virtual/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->consumePendingUpdateOperations()V
.line 1957
iget-object v4, v8, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
const/4 v12, 0x1
const/4 v13, 0x0
if-eqz v4, :cond_2d
.line 1958
iget-object v4, v8, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I
aput v13, v4, v13
.line 1959
aput v13, v4, v12
.line 1960
invoke-virtual {v8, v9, v10, v4}, Landroidx/recyclerview/widget/RecyclerView;->scrollStep(II[I)V
.line 1961
iget-object v4, v8, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I
aget v2, v4, v13
.line 1962
aget v3, v4, v12
.line 1963
sub-int v0, v9, v2
.line 1964
sub-int v1, v10, v3
move v14, v0
move v15, v1
move v7, v2
move v6, v3
goto :goto_31
.line 1957
:cond_2d
move v14, v0
move v15, v1
move v7, v2
move v6, v3
.line 1966
.end local v0 # "unconsumedX":I
.end local v1 # "unconsumedY":I
.end local v2 # "consumedX":I
.end local v3 # "consumedY":I
.local v6, "consumedY":I
.local v7, "consumedX":I
.local v14, "unconsumedX":I
.local v15, "unconsumedY":I
:goto_31
iget-object v0, v8, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->isEmpty()Z
move-result v0
if-nez v0, :cond_3c
.line 1967
invoke-virtual/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->invalidate()V
.line 1970
:cond_3c
iget-object v5, v8, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I
aput v13, v5, v13
.line 1971
aput v13, v5, v12
.line 1972
iget-object v4, v8, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I
const/16 v16, 0x0
move-object/from16 v0, p0
move v1, v7
move v2, v6
move v3, v14
move-object/from16 v17, v4
move v4, v15
move-object/from16 v18, v5
move-object/from16 v5, v17
move/from16 v19, v6
.end local v6 # "consumedY":I
.local v19, "consumedY":I
move/from16 v6, v16
move/from16 v20, v7
.end local v7 # "consumedX":I
.local v20, "consumedX":I
move-object/from16 v7, v18
invoke-virtual/range {v0 .. v7}, Landroidx/recyclerview/widget/RecyclerView;->dispatchNestedScroll(IIII[II[I)V
.line 1974
iget-object v0, v8, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I
aget v1, v0, v13
sub-int/2addr v14, v1
.line 1975
aget v0, v0, v12
sub-int/2addr v15, v0
.line 1978
iget v0, v8, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I
iget-object v1, v8, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I
aget v2, v1, v13
sub-int/2addr v0, v2
iput v0, v8, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I
.line 1979
iget v0, v8, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I
aget v2, v1, v12
sub-int/2addr v0, v2
iput v0, v8, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I
.line 1980
if-eqz v11, :cond_80
.line 1981
aget v0, v1, v13
int-to-float v0, v0
aget v1, v1, v12
int-to-float v1, v1
invoke-virtual {v11, v0, v1}, Landroid/view/MotionEvent;->offsetLocation(FF)V
.line 1983
:cond_80
iget-object v0, v8, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I
aget v1, v0, v13
iget-object v2, v8, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I
aget v3, v2, v13
add-int/2addr v1, v3
aput v1, v0, v13
.line 1984
aget v1, v0, v12
aget v2, v2, v12
add-int/2addr v1, v2
aput v1, v0, v12
.line 1986
invoke-virtual/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->getOverScrollMode()I
move-result v0
const/4 v1, 0x2
if-eq v0, v1, :cond_b3
.line 1987
if-eqz v11, :cond_b0
const/16 v0, 0x2002
invoke-static {v11, v0}, Landroidx/core/view/MotionEventCompat;->isFromSource(Landroid/view/MotionEvent;I)Z
move-result v0
if-nez v0, :cond_b0
.line 1988
invoke-virtual/range {p3 .. p3}, Landroid/view/MotionEvent;->getX()F
move-result v0
int-to-float v1, v14
invoke-virtual/range {p3 .. p3}, Landroid/view/MotionEvent;->getY()F
move-result v2
int-to-float v3, v15
invoke-direct {v8, v0, v1, v2, v3}, Landroidx/recyclerview/widget/RecyclerView;->pullGlows(FFFF)V
.line 1990
:cond_b0
invoke-virtual/range {p0 .. p2}, Landroidx/recyclerview/widget/RecyclerView;->considerReleasingGlowsOnScroll(II)V
.line 1992
:cond_b3
move/from16 v2, v20
.end local v20 # "consumedX":I
.restart local v2 # "consumedX":I
if-nez v2, :cond_bc
move/from16 v3, v19
.end local v19 # "consumedY":I
.restart local v3 # "consumedY":I
if-eqz v3, :cond_c1
goto :goto_be
.end local v3 # "consumedY":I
.restart local v19 # "consumedY":I
:cond_bc
move/from16 v3, v19
.line 1993
.end local v19 # "consumedY":I
.restart local v3 # "consumedY":I
:goto_be
invoke-virtual {v8, v2, v3}, Landroidx/recyclerview/widget/RecyclerView;->dispatchOnScrolled(II)V
.line 1995
:cond_c1
invoke-virtual/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->awakenScrollBars()Z
move-result v0
if-nez v0, :cond_ca
.line 1996
invoke-virtual/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->invalidate()V
.line 1998
:cond_ca
if-nez v2, :cond_d0
if-eqz v3, :cond_cf
goto :goto_d0
:cond_cf
const/4 v12, 0x0
:cond_d0
:goto_d0
return v12
.end method
.method scrollStep(II[I)V
.registers 9
.param p1, "dx" # I
.param p2, "dy" # I
.param p3, "consumed" # [I
.line 1849
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
.line 1850
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V
.line 1852
const-string v0, "RV Scroll"
invoke-static {v0}, Landroidx/core/os/TraceCompat;->beginSection(Ljava/lang/String;)V
.line 1853
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->fillRemainingScrollValues(Landroidx/recyclerview/widget/RecyclerView$State;)V
.line 1855
const/4 v0, 0x0
.line 1856
.local v0, "consumedX":I
const/4 v1, 0x0
.line 1857
.local v1, "consumedY":I
if-eqz p1, :cond_1e
.line 1858
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;
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {v2, p1, v3, v4}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->scrollHorizontallyBy(ILandroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)I
move-result v0
.line 1860
:cond_1e
if-eqz p2, :cond_2a
.line 1861
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;
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
invoke-virtual {v2, p2, v3, v4}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->scrollVerticallyBy(ILandroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)I
move-result v1
.line 1864
:cond_2a
invoke-static {}, Landroidx/core/os/TraceCompat;->endSection()V
.line 1865
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->repositionShadowingViews()V
.line 1867
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V
.line 1868
const/4 v2, 0x0
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
.line 1870
if-eqz p3, :cond_3e
.line 1871
aput v0, p3, v2
.line 1872
const/4 v2, 0x1
aput v1, p3, v2
.line 1874
:cond_3e
return-void
.end method
.method public scrollTo(II)V
.registers 5
.param p1, "x" # I
.param p2, "y" # I
.line 1815
const-string v0, "RecyclerView"
const-string v1, "RecyclerView does not support scrolling to an absolute position. Use scrollToPosition instead"
invoke-static {v0, v1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
.line 1817
return-void
.end method
.method public scrollToPosition(I)V
.registers 4
.param p1, "position" # I
.line 1761
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
if-eqz v0, :cond_5
.line 1762
return-void
.line 1764
:cond_5
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->stopScroll()V
.line 1765
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-nez v0, :cond_14
.line 1766
const-string v0, "RecyclerView"
const-string v1, "Cannot scroll to position a LayoutManager set. Call setLayoutManager with a non-null argument."
invoke-static {v0, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 1768
return-void
.line 1770
:cond_14
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->scrollToPosition(I)V
.line 1771
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->awakenScrollBars()Z
.line 1772
return-void
.end method
.method public sendAccessibilityEventUnchecked(Landroid/view/accessibility/AccessibilityEvent;)V
.registers 3
.param p1, "event" # Landroid/view/accessibility/AccessibilityEvent;
.line 3660
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->shouldDeferAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)Z
move-result v0
if-eqz v0, :cond_7
.line 3661
return-void
.line 3663
:cond_7
invoke-super {p0, p1}, Landroid/view/ViewGroup;->sendAccessibilityEventUnchecked(Landroid/view/accessibility/AccessibilityEvent;)V
.line 3664
return-void
.end method
.method public setAccessibilityDelegateCompat(Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate;)V
.registers 2
.param p1, "accessibilityDelegate" # Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate;
.line 788
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAccessibilityDelegate:Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate;
.line 789
invoke-static {p0, p1}, Landroidx/core/view/ViewCompat;->setAccessibilityDelegate(Landroid/view/View;Landroidx/core/view/AccessibilityDelegateCompat;)V
.line 790
return-void
.end method
.method public setAdapter(Landroidx/recyclerview/widget/RecyclerView$Adapter;)V
.registers 4
.param p1, "adapter" # Landroidx/recyclerview/widget/RecyclerView$Adapter;
.line 1180
const/4 v0, 0x0
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setLayoutFrozen(Z)V
.line 1181
const/4 v1, 0x1
invoke-direct {p0, p1, v0, v1}, Landroidx/recyclerview/widget/RecyclerView;->setAdapterInternal(Landroidx/recyclerview/widget/RecyclerView$Adapter;ZZ)V
.line 1182
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->processDataSetCompletelyChanged(Z)V
.line 1183
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
.line 1184
return-void
.end method
.method public setBottomGlowOffset(I)V
.registers 2
.param p1, "offset" # I
.line 585
iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->bottomGlowOffset:I
.line 586
return-void
.end method
.method public setChildDrawingOrderCallback(Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback;)V
.registers 3
.param p1, "childDrawingOrderCallback" # Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback;
.line 1696
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildDrawingOrderCallback:Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback;
if-ne p1, v0, :cond_5
.line 1697
return-void
.line 1699
:cond_5
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildDrawingOrderCallback:Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback;
.line 1700
if-eqz p1, :cond_b
const/4 v0, 0x1
goto :goto_c
:cond_b
const/4 v0, 0x0
:goto_c
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setChildrenDrawingOrderEnabled(Z)V
.line 1701
return-void
.end method
.method setChildImportantForAccessibilityInternal(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;I)Z
.registers 4
.param p1, "viewHolder" # Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.param p2, "importantForAccessibility" # I
.line 11348
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isComputingLayout()Z
move-result v0
if-eqz v0, :cond_f
.line 11349
iput p2, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPendingAccessibilityState:I
.line 11350
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingAccessibilityImportanceChange:Ljava/util/List;
invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 11351
const/4 v0, 0x0
return v0
.line 11353
:cond_f
iget-object v0, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
invoke-static {v0, p2}, Landroidx/core/view/ViewCompat;->setImportantForAccessibility(Landroid/view/View;I)V
.line 11354
const/4 v0, 0x1
return v0
.end method
.method public setClipToPadding(Z)V
.registers 3
.param p1, "clipToPadding" # Z
.line 1095
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
if-eq p1, v0, :cond_7
.line 1096
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->invalidateGlows()V
.line 1098
:cond_7
iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
.line 1099
invoke-super {p0, p1}, Landroid/view/ViewGroup;->setClipToPadding(Z)V
.line 1100
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z
if-eqz v0, :cond_13
.line 1101
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
.line 1103
:cond_13
return-void
.end method
.method public setEdgeEffectFactory(Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;)V
.registers 2
.param p1, "edgeEffectFactory" # Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;
.line 2635
invoke-static {p1}, Landroidx/core/util/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 2636
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;
.line 2637
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->invalidateGlows()V
.line 2638
return-void
.end method
.method public setGlowColor(I)V
.registers 2
.param p1, "color" # I
.line 589
iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->glowColor:I
.line 590
return-void
.end method
.method public setHasFixedSize(Z)V
.registers 2
.param p1, "hasFixedSize" # Z
.line 1082
iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mHasFixedSize:Z
.line 1083
return-void
.end method
.method public setItemAnimator(Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;)V
.registers 4
.param p1, "animator" # Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
.line 3564
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
if-eqz v0, :cond_d
.line 3565
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->endAnimations()V
.line 3566
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
const/4 v1, 0x0
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->setListener(Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemAnimatorListener;)V
.line 3568
:cond_d
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
.line 3569
if-eqz p1, :cond_16
.line 3570
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
.line 3572
:cond_16
return-void
.end method
.method public setItemViewCacheSize(I)V
.registers 3
.param p1, "size" # I
.line 1545
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
.line 1546
return-void
.end method
.method public setLayoutFrozen(Z)V
.registers 2
.param p1, "frozen" # Z
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.line 2291
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->suppressLayout(Z)V
.line 2292
return-void
.end method
.method public setLayoutManager(Landroidx/recyclerview/widget/RecyclerView$LayoutManager;)V
.registers 5
.param p1, "layout" # Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
.line 1335
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-ne p1, v0, :cond_5
.line 1336
return-void
.line 1338
:cond_5
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->stopScroll()V
.line 1341
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v0, :cond_3a
.line 1343
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
if-eqz v0, :cond_13
.line 1344
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->endAnimations()V
.line 1346
: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
.line 1347
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->removeAndRecycleScrapInt(Landroidx/recyclerview/widget/RecyclerView$Recycler;)V
.line 1348
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->clear()V
.line 1350
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mIsAttached:Z
if-eqz v0, :cond_31
.line 1351
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v0, p0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->dispatchDetachedFromWindow(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$Recycler;)V
.line 1353
: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
.line 1354
iput-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
goto :goto_3f
.line 1356
: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
.line 1359
:goto_3f
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->removeAllViewsUnfiltered()V
.line 1360
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
.line 1361
if-eqz p1, :cond_80
.line 1362
iget-object v0, p1, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
if-nez v0, :cond_5b
.line 1367
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setRecyclerView(Landroidx/recyclerview/widget/RecyclerView;)V
.line 1368
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mIsAttached:Z
if-eqz v0, :cond_80
.line 1369
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->dispatchAttachedToWindow(Landroidx/recyclerview/widget/RecyclerView;)V
goto :goto_80
.line 1363
:cond_5b
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 v2, p1, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
.line 1365
invoke-virtual {v2}, 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/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.line 1372
:cond_80
:goto_80
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->updateViewCacheSize()V
.line 1373
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
.line 1374
return-void
.end method
.method public setLayoutTransition(Landroid/animation/LayoutTransition;)V
.registers 4
.param p1, "transition" # Landroid/animation/LayoutTransition;
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.line 2310
if-nez p1, :cond_7
.line 2311
const/4 v0, 0x0
invoke-super {p0, v0}, Landroid/view/ViewGroup;->setLayoutTransition(Landroid/animation/LayoutTransition;)V
.line 2317
return-void
.line 2313
:cond_7
new-instance v0, Ljava/lang/IllegalArgumentException;
const-string v1, "Providing a LayoutTransition into RecyclerView is not supported. Please use setItemAnimator() instead for animating changes to the items in this RecyclerView"
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public setNestedScrollingEnabled(Z)V
.registers 3
.param p1, "enabled" # Z
.line 11405
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
.line 11406
return-void
.end method
.method public setOnFlingListener(Landroidx/recyclerview/widget/RecyclerView$OnFlingListener;)V
.registers 2
.param p1, "onFlingListener" # Landroidx/recyclerview/widget/RecyclerView$OnFlingListener;
.line 1385
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnFlingListener:Landroidx/recyclerview/widget/RecyclerView$OnFlingListener;
.line 1386
return-void
.end method
.method public setOnScrollListener(Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;)V
.registers 2
.param p1, "listener" # Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.line 1713
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListener:Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;
.line 1714
return-void
.end method
.method public setPreserveFocusAfterLayout(Z)V
.registers 2
.param p1, "preserveFocusAfterLayout" # Z
.line 4687
iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mPreserveFocusAfterLayout:Z
.line 4688
return-void
.end method
.method public setRecycledViewPool(Landroidx/recyclerview/widget/RecyclerView$RecycledViewPool;)V
.registers 3
.param p1, "pool" # Landroidx/recyclerview/widget/RecyclerView$RecycledViewPool;
.line 1519
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
.line 1520
return-void
.end method
.method public setRecyclerListener(Landroidx/recyclerview/widget/RecyclerView$RecyclerListener;)V
.registers 2
.param p1, "listener" # Landroidx/recyclerview/widget/RecyclerView$RecyclerListener;
.line 1260
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecyclerListener:Landroidx/recyclerview/widget/RecyclerView$RecyclerListener;
.line 1261
return-void
.end method
.method setScrollState(I)V
.registers 3
.param p1, "state" # I
.line 1559
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I
if-ne p1, v0, :cond_5
.line 1560
return-void
.line 1566
:cond_5
iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I
.line 1567
const/4 v0, 0x2
if-eq p1, v0, :cond_d
.line 1568
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->stopScrollersInternal()V
.line 1570
:cond_d
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->dispatchOnScrollStateChanged(I)V
.line 1571
return-void
.end method
.method public setScrollingTouchSlop(I)V
.registers 5
.param p1, "slopConstant" # I
.line 1132
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getContext()Landroid/content/Context;
move-result-object v0
invoke-static {v0}, Landroid/view/ViewConfiguration;->get(Landroid/content/Context;)Landroid/view/ViewConfiguration;
move-result-object v0
.line 1133
.local v0, "vc":Landroid/view/ViewConfiguration;
if-eqz p1, :cond_31
const/4 v1, 0x1
if-eq p1, v1, :cond_2a
.line 1135
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string/jumbo 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 v2, "; using default value"
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
const-string v2, "RecyclerView"
invoke-static {v2, v1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
goto :goto_31
.line 1143
:cond_2a
invoke-virtual {v0}, Landroid/view/ViewConfiguration;->getScaledPagingTouchSlop()I
move-result v1
iput v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I
goto :goto_38
.line 1139
:cond_31
:goto_31
invoke-virtual {v0}, Landroid/view/ViewConfiguration;->getScaledTouchSlop()I
move-result v1
iput v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I
.line 1140
nop
.line 1146
:goto_38
return-void
.end method
.method public setTopGlowOffset(I)V
.registers 2
.param p1, "offset" # I
.line 581
iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->topGlowOffset:I
.line 582
return-void
.end method
.method public setViewCacheExtension(Landroidx/recyclerview/widget/RecyclerView$ViewCacheExtension;)V
.registers 3
.param p1, "extension" # Landroidx/recyclerview/widget/RecyclerView$ViewCacheExtension;
.line 1530
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
.line 1531
return-void
.end method
.method shouldDeferAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)Z
.registers 4
.param p1, "event" # Landroid/view/accessibility/AccessibilityEvent;
.line 3644
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isComputingLayout()Z
move-result v0
if-eqz v0, :cond_17
.line 3645
const/4 v0, 0x0
.line 3646
.local v0, "type":I
if-eqz p1, :cond_d
.line 3647
invoke-static {p1}, Landroidx/core/view/accessibility/AccessibilityEventCompat;->getContentChangeTypes(Landroid/view/accessibility/AccessibilityEvent;)I
move-result v0
.line 3649
:cond_d
if-nez v0, :cond_10
.line 3650
const/4 v0, 0x0
.line 3652
:cond_10
iget v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mEatenAccessibilityChangeFlags:I
or-int/2addr v1, v0
iput v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mEatenAccessibilityChangeFlags:I
.line 3653
const/4 v1, 0x1
return v1
.line 3655
.end local v0 # "type":I
:cond_17
const/4 v0, 0x0
return v0
.end method
.method public smoothScrollBy(II)V
.registers 4
.param p1, "dx" # I
.param p2, "dy" # I
.line 2326
const/4 v0, 0x0
invoke-virtual {p0, p1, p2, v0}, Landroidx/recyclerview/widget/RecyclerView;->smoothScrollBy(IILandroid/view/animation/Interpolator;)V
.line 2327
return-void
.end method
.method public smoothScrollBy(IILandroid/view/animation/Interpolator;)V
.registers 6
.param p1, "dx" # I
.param p2, "dy" # I
.param p3, "interpolator" # Landroid/view/animation/Interpolator;
.line 2338
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-nez v0, :cond_c
.line 2339
const-string v0, "RecyclerView"
const-string v1, "Cannot smooth scroll without a LayoutManager set. Call setLayoutManager with a non-null argument."
invoke-static {v0, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 2341
return-void
.line 2343
:cond_c
iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
if-eqz v1, :cond_11
.line 2344
return-void
.line 2346
:cond_11
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z
move-result v0
if-nez v0, :cond_18
.line 2347
const/4 p1, 0x0
.line 2349
:cond_18
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_21
.line 2350
const/4 p2, 0x0
.line 2352
:cond_21
if-nez p1, :cond_25
if-eqz p2, :cond_2c
.line 2353
:cond_25
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;
const/high16 v1, -0x80000000
invoke-virtual {v0, p1, p2, v1, p3}, Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;->smoothScrollBy(IIILandroid/view/animation/Interpolator;)V
.line 2355
:cond_2c
return-void
.end method
.method public smoothScrollToPosition(I)V
.registers 4
.param p1, "position" # I
.line 1802
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
if-eqz v0, :cond_5
.line 1803
return-void
.line 1805
:cond_5
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-nez v0, :cond_11
.line 1806
const-string v0, "RecyclerView"
const-string v1, "Cannot smooth scroll without a LayoutManager set. Call setLayoutManager with a non-null argument."
invoke-static {v0, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 1808
return-void
.line 1810
: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
.line 1811
return-void
.end method
.method startInterceptRequestLayout()V
.registers 3
.line 2159
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
.line 2160
if-ne v0, v1, :cond_f
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
if-nez v0, :cond_f
.line 2161
const/4 v0, 0x0
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z
.line 2163
:cond_f
return-void
.end method
.method public startNestedScroll(I)Z
.registers 3
.param p1, "axes" # I
.line 11415
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 v0
return v0
.end method
.method public startNestedScroll(II)Z
.registers 4
.param p1, "axes" # I
.param p2, "type" # I
.line 11420
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 v0
return v0
.end method
.method stopInterceptRequestLayout(Z)V
.registers 5
.param p1, "performLayoutChildren" # Z
.line 2176
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I
const/4 v1, 0x1
if-ge v0, v1, :cond_7
.line 2183
iput v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I
.line 2185
:cond_7
const/4 v0, 0x0
if-nez p1, :cond_10
iget-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
if-nez v2, :cond_10
.line 2194
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z
.line 2196
:cond_10
iget v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I
if-ne v2, v1, :cond_2f
.line 2198
if-eqz p1, :cond_29
iget-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z
if-eqz v2, :cond_29
iget-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
if-nez v2, :cond_29
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v2, :cond_29
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
if-eqz v2, :cond_29
.line 2200
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayout()V
.line 2202
:cond_29
iget-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
if-nez v2, :cond_2f
.line 2203
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z
.line 2206
:cond_2f
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I
sub-int/2addr v0, v1
iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I
.line 2207
return-void
.end method
.method public stopNestedScroll()V
.registers 2
.line 11425
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
.line 11426
return-void
.end method
.method public stopNestedScroll(I)V
.registers 3
.param p1, "type" # I
.line 11430
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
.line 11431
return-void
.end method
.method public stopScroll()V
.registers 2
.line 2426
const/4 v0, 0x0
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V
.line 2427
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->stopScrollersInternal()V
.line 2428
return-void
.end method
.method public final suppressLayout(Z)V
.registers 12
.param p1, "suppress" # Z
.line 2235
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
if-eq p1, v0, :cond_39
.line 2236
const-string v0, "Do not suppressLayout in layout or scroll"
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->assertNotInLayoutOrScroll(Ljava/lang/String;)V
.line 2237
if-nez p1, :cond_20
.line 2238
const/4 v0, 0x0
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
.line 2239
iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z
if-eqz v1, :cond_1d
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v1, :cond_1d
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
if-eqz v1, :cond_1d
.line 2240
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
.line 2242
:cond_1d
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z
goto :goto_39
.line 2244
:cond_20
invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
move-result-wide v0
.line 2245
.local v0, "now":J
const/4 v6, 0x3
const/4 v7, 0x0
const/4 v8, 0x0
const/4 v9, 0x0
move-wide v2, v0
move-wide v4, v0
invoke-static/range {v2 .. v9}, Landroid/view/MotionEvent;->obtain(JJIFFI)Landroid/view/MotionEvent;
move-result-object v2
.line 2247
.local v2, "cancelEvent":Landroid/view/MotionEvent;
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->onTouchEvent(Landroid/view/MotionEvent;)Z
.line 2248
const/4 v3, 0x1
iput-boolean v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
.line 2249
iput-boolean v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mIgnoreMotionEventTillDown:Z
.line 2250
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->stopScroll()V
.line 2253
.end local v0 # "now":J
.end local v2 # "cancelEvent":Landroid/view/MotionEvent;
:cond_39
:goto_39
return-void
.end method
.method public swapAdapter(Landroidx/recyclerview/widget/RecyclerView$Adapter;Z)V
.registers 4
.param p1, "adapter" # Landroidx/recyclerview/widget/RecyclerView$Adapter;
.param p2, "removeAndRecycleExistingViews" # Z
.line 1164
const/4 v0, 0x0
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setLayoutFrozen(Z)V
.line 1165
const/4 v0, 0x1
invoke-direct {p0, p1, v0, p2}, Landroidx/recyclerview/widget/RecyclerView;->setAdapterInternal(Landroidx/recyclerview/widget/RecyclerView$Adapter;ZZ)V
.line 1166
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->processDataSetCompletelyChanged(Z)V
.line 1167
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
.line 1168
return-void
.end method
.method viewRangeUpdate(IILjava/lang/Object;)V
.registers 11
.param p1, "positionStart" # I
.param p2, "itemCount" # I
.param p3, "payload" # Ljava/lang/Object;
.line 4580
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
.line 4581
.local v0, "childCount":I
add-int v1, p1, p2
.line 4583
.local v1, "positionEnd":I
const/4 v2, 0x0
.local v2, "i":I
:goto_9
if-ge v2, v0, :cond_39
.line 4584
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View;
move-result-object v3
.line 4585
.local v3, "child":Landroid/view/View;
invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v4
.line 4586
.local v4, "holder":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
if-eqz v4, :cond_36
invoke-virtual {v4}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
move-result v5
if-eqz v5, :cond_1e
.line 4587
goto :goto_36
.line 4589
:cond_1e
iget v5, v4, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I
if-lt v5, p1, :cond_36
iget v5, v4, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I
if-ge v5, v1, :cond_36
.line 4592
const/4 v5, 0x2
invoke-virtual {v4, v5}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->addFlags(I)V
.line 4593
invoke-virtual {v4, p3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->addChangePayload(Ljava/lang/Object;)V
.line 4595
invoke-virtual {v3}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
move-result-object v5
check-cast v5, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
const/4 v6, 0x1
iput-boolean v6, v5, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mInsetsDirty:Z
.line 4583
.end local v3 # "child":Landroid/view/View;
.end local v4 # "holder":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
:cond_36
:goto_36
add-int/lit8 v2, v2, 0x1
goto :goto_9
.line 4598
.end local v2 # "i":I
:cond_39
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
invoke-virtual {v2, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->viewRangeUpdate(II)V
.line 4599
return-void
.end method