.class public Landroidx/recyclerview/widget/RecyclerView; .super Landroid/view/ViewGroup; .source "RecyclerView.java" # interfaces .implements Landroidx/core/view/NestedScrollingChild2; .implements Landroidx/core/view/ScrollingView; # 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 VERBOSE_TRACING:Z = false .field public static final VERTICAL:I = 0x1 .field static final sQuinticInterpolator:Landroid/view/animation/Interpolator; # instance fields .field mAccessibilityDelegate:Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate; .field private final mAccessibilityManager:Landroid/view/accessibility/AccessibilityManager; .field private mActiveOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener; .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; .annotation build Landroidx/annotation/NonNull; .end annotation .end field .field mEnableFastScroller:Z .field mFirstLayoutComplete:Z .annotation build Landroidx/annotation/VisibleForTesting; .end annotation .end field .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 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; .annotation build Landroidx/annotation/VisibleForTesting; .end annotation .end field .field mLayoutFrozen:Z .field private mLayoutOrScrollCounter:I .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 build Landroidx/annotation/VisibleForTesting; .end annotation .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/List<", "Landroidx/recyclerview/widget/RecyclerView$ViewHolder;", ">;" } .end annotation .end field .field 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 private mRightGlow:Landroid/widget/EdgeEffect; .field private mScaledHorizontalScrollFactor:F .field private mScaledVerticalScrollFactor:F .field final mScrollConsumed:[I .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 final mScrollStepConsumed:[I .field private mScrollingChildHelper:Landroidx/core/view/NestedScrollingChildHelper; .field final mState:Landroidx/recyclerview/widget/RecyclerView$State; .field final mTempRect:Landroid/graphics/Rect; .field private final mTempRect2:Landroid/graphics/Rect; .field final mTempRectF:Landroid/graphics/RectF; .field private mTopGlow:Landroid/widget/EdgeEffect; .field private mTouchSlop:I .field final mUpdateChildViewsRunnable:Ljava/lang/Runnable; .field private mVelocityTracker:Landroid/view/VelocityTracker; .field final mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$ViewFlinger; .field private final mViewInfoProcessCallback:Landroidx/recyclerview/widget/ViewInfoStore$ProcessCallback; .field final mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; # direct methods .method static constructor ()V .locals 4 const/4 v0, 0x1 new-array v1, v0, [I const/4 v2, 0x0 const v3, 0x1010436 aput v3, v1, v2 sput-object v1, Landroidx/recyclerview/widget/RecyclerView;->NESTED_SCROLLING_ATTRS:[I new-array v1, v0, [I const v3, 0x10100eb aput v3, v1, v2 sput-object v1, Landroidx/recyclerview/widget/RecyclerView;->CLIP_TO_PADDING_ATTR:[I sget v1, Landroid/os/Build$VERSION;->SDK_INT:I const/16 v3, 0x12 if-eq v1, v3, :cond_1 sget v1, Landroid/os/Build$VERSION;->SDK_INT:I const/16 v3, 0x13 if-eq v1, v3, :cond_1 sget v1, Landroid/os/Build$VERSION;->SDK_INT:I const/16 v3, 0x14 if-ne v1, v3, :cond_0 goto :goto_0 :cond_0 const/4 v1, 0x0 goto :goto_1 :cond_1 :goto_0 const/4 v1, 0x1 :goto_1 sput-boolean v1, Landroidx/recyclerview/widget/RecyclerView;->FORCE_INVALIDATE_DISPLAY_LIST:Z sget v1, Landroid/os/Build$VERSION;->SDK_INT:I const/16 v3, 0x17 if-lt v1, v3, :cond_2 const/4 v1, 0x1 goto :goto_2 :cond_2 const/4 v1, 0x0 :goto_2 sput-boolean v1, Landroidx/recyclerview/widget/RecyclerView;->ALLOW_SIZE_IN_UNSPECIFIED_SPEC:Z sget v1, Landroid/os/Build$VERSION;->SDK_INT:I const/16 v3, 0x10 if-lt v1, v3, :cond_3 const/4 v1, 0x1 goto :goto_3 :cond_3 const/4 v1, 0x0 :goto_3 sput-boolean v1, Landroidx/recyclerview/widget/RecyclerView;->POST_UPDATES_ON_ANIMATION:Z sget v1, Landroid/os/Build$VERSION;->SDK_INT:I const/16 v3, 0x15 if-lt v1, v3, :cond_4 const/4 v1, 0x1 goto :goto_4 :cond_4 const/4 v1, 0x0 :goto_4 sput-boolean v1, Landroidx/recyclerview/widget/RecyclerView;->ALLOW_THREAD_GAP_WORK:Z sget v1, Landroid/os/Build$VERSION;->SDK_INT:I const/16 v3, 0xf if-gt v1, v3, :cond_5 const/4 v1, 0x1 goto :goto_5 :cond_5 const/4 v1, 0x0 :goto_5 sput-boolean v1, Landroidx/recyclerview/widget/RecyclerView;->FORCE_ABS_FOCUS_SEARCH_DIRECTION:Z sget v1, Landroid/os/Build$VERSION;->SDK_INT:I if-gt v1, v3, :cond_6 const/4 v1, 0x1 goto :goto_6 :cond_6 const/4 v1, 0x0 :goto_6 sput-boolean v1, Landroidx/recyclerview/widget/RecyclerView;->IGNORE_DETACHED_FOCUSED_CHILD:Z const/4 v1, 0x4 new-array v1, v1, [Ljava/lang/Class; const-class v3, Landroid/content/Context; aput-object v3, v1, v2 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; new-instance v0, Landroidx/recyclerview/widget/RecyclerView$3; invoke-direct {v0}, Landroidx/recyclerview/widget/RecyclerView$3;->()V sput-object v0, Landroidx/recyclerview/widget/RecyclerView;->sQuinticInterpolator:Landroid/view/animation/Interpolator; return-void .end method .method public constructor (Landroid/content/Context;)V .locals 1 .param p1 # Landroid/content/Context; .annotation build Landroidx/annotation/NonNull; .end annotation .end param const/4 v0, 0x0 invoke-direct {p0, p1, v0}, Landroidx/recyclerview/widget/RecyclerView;->(Landroid/content/Context;Landroid/util/AttributeSet;)V return-void .end method .method public constructor (Landroid/content/Context;Landroid/util/AttributeSet;)V .locals 1 .param p1 # Landroid/content/Context; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p2 # Landroid/util/AttributeSet; .annotation build Landroidx/annotation/Nullable; .end annotation .end param const/4 v0, 0x0 invoke-direct {p0, p1, p2, v0}, Landroidx/recyclerview/widget/RecyclerView;->(Landroid/content/Context;Landroid/util/AttributeSet;I)V return-void .end method .method public constructor (Landroid/content/Context;Landroid/util/AttributeSet;I)V .locals 12 .param p1 # Landroid/content/Context; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p2 # Landroid/util/AttributeSet; .annotation build Landroidx/annotation/Nullable; .end annotation .end param invoke-direct {p0, p1, p2, p3}, Landroid/view/ViewGroup;->(Landroid/content/Context;Landroid/util/AttributeSet;I)V new-instance v0, Landroidx/recyclerview/widget/RecyclerView$RecyclerViewDataObserver; invoke-direct {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$RecyclerViewDataObserver;->(Landroidx/recyclerview/widget/RecyclerView;)V iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mObserver:Landroidx/recyclerview/widget/RecyclerView$RecyclerViewDataObserver; new-instance v0, Landroidx/recyclerview/widget/RecyclerView$Recycler; invoke-direct {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->(Landroidx/recyclerview/widget/RecyclerView;)V iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; new-instance v0, Landroidx/recyclerview/widget/ViewInfoStore; invoke-direct {v0}, Landroidx/recyclerview/widget/ViewInfoStore;->()V iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; new-instance v0, Landroidx/recyclerview/widget/RecyclerView$1; invoke-direct {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$1;->(Landroidx/recyclerview/widget/RecyclerView;)V iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mUpdateChildViewsRunnable:Ljava/lang/Runnable; new-instance v0, Landroid/graphics/Rect; invoke-direct {v0}, Landroid/graphics/Rect;->()V iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; new-instance v0, Landroid/graphics/Rect; invoke-direct {v0}, Landroid/graphics/Rect;->()V iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect; new-instance v0, Landroid/graphics/RectF; invoke-direct {v0}, Landroid/graphics/RectF;->()V iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRectF:Landroid/graphics/RectF; new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList; const/4 v0, 0x0 iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchItemsChangedEvent:Z iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchScrollCounter:I new-instance v1, Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory; invoke-direct {v1}, Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;->()V iput-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory; new-instance v1, Landroidx/recyclerview/widget/DefaultItemAnimator; invoke-direct {v1}, Landroidx/recyclerview/widget/DefaultItemAnimator;->()V iput-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I const/4 v1, -0x1 iput v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I const/4 v2, 0x1 iput v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mScaledHorizontalScrollFactor:F iput v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mScaledVerticalScrollFactor:F const/4 v2, 0x1 iput-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mPreserveFocusAfterLayout:Z new-instance v3, Landroidx/recyclerview/widget/RecyclerView$ViewFlinger; invoke-direct {v3, p0}, Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;->(Landroidx/recyclerview/widget/RecyclerView;)V iput-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$ViewFlinger; sget-boolean v3, Landroidx/recyclerview/widget/RecyclerView;->ALLOW_THREAD_GAP_WORK:Z if-eqz v3, :cond_0 new-instance v3, Landroidx/recyclerview/widget/GapWorker$LayoutPrefetchRegistryImpl; invoke-direct {v3}, Landroidx/recyclerview/widget/GapWorker$LayoutPrefetchRegistryImpl;->()V goto :goto_0 :cond_0 const/4 v3, 0x0 :goto_0 iput-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mPrefetchRegistry:Landroidx/recyclerview/widget/GapWorker$LayoutPrefetchRegistryImpl; new-instance v3, Landroidx/recyclerview/widget/RecyclerView$State; invoke-direct {v3}, Landroidx/recyclerview/widget/RecyclerView$State;->()V iput-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemsAddedOrRemoved:Z iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemsChanged:Z new-instance v3, Landroidx/recyclerview/widget/RecyclerView$ItemAnimatorRestoreListener; invoke-direct {v3, p0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimatorRestoreListener;->(Landroidx/recyclerview/widget/RecyclerView;)V iput-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimatorListener:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemAnimatorListener; iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPostedAnimatorRunner:Z const/4 v3, 0x2 new-array v4, v3, [I iput-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinMaxLayoutPositions:[I new-array v4, v3, [I iput-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I new-array v4, v3, [I iput-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollConsumed:[I new-array v4, v3, [I iput-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I new-array v4, v3, [I iput-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollStepConsumed:[I new-instance v4, Ljava/util/ArrayList; invoke-direct {v4}, Ljava/util/ArrayList;->()V iput-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingAccessibilityImportanceChange:Ljava/util/List; new-instance v4, Landroidx/recyclerview/widget/RecyclerView$2; invoke-direct {v4, p0}, Landroidx/recyclerview/widget/RecyclerView$2;->(Landroidx/recyclerview/widget/RecyclerView;)V iput-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimatorRunner:Ljava/lang/Runnable; new-instance v4, Landroidx/recyclerview/widget/RecyclerView$4; invoke-direct {v4, p0}, Landroidx/recyclerview/widget/RecyclerView$4;->(Landroidx/recyclerview/widget/RecyclerView;)V iput-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoProcessCallback:Landroidx/recyclerview/widget/ViewInfoStore$ProcessCallback; if-eqz p2, :cond_1 sget-object v4, Landroidx/recyclerview/widget/RecyclerView;->CLIP_TO_PADDING_ATTR:[I invoke-virtual {p1, p2, v4, p3, v0}, Landroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray; move-result-object v4 invoke-virtual {v4, v0, v2}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z move-result v5 iput-boolean v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z invoke-virtual {v4}, Landroid/content/res/TypedArray;->recycle()V goto :goto_1 :cond_1 iput-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z :goto_1 invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->setScrollContainer(Z)V invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->setFocusableInTouchMode(Z)V invoke-static {p1}, Landroid/view/ViewConfiguration;->get(Landroid/content/Context;)Landroid/view/ViewConfiguration; move-result-object v4 invoke-virtual {v4}, Landroid/view/ViewConfiguration;->getScaledTouchSlop()I move-result v5 iput v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I invoke-static {v4, p1}, Landroidx/core/view/ViewConfigurationCompat;->getScaledHorizontalScrollFactor(Landroid/view/ViewConfiguration;Landroid/content/Context;)F move-result v5 iput v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mScaledHorizontalScrollFactor:F invoke-static {v4, p1}, Landroidx/core/view/ViewConfigurationCompat;->getScaledVerticalScrollFactor(Landroid/view/ViewConfiguration;Landroid/content/Context;)F move-result v5 iput v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mScaledVerticalScrollFactor:F invoke-virtual {v4}, Landroid/view/ViewConfiguration;->getScaledMinimumFlingVelocity()I move-result v5 iput v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinFlingVelocity:I invoke-virtual {v4}, Landroid/view/ViewConfiguration;->getScaledMaximumFlingVelocity()I move-result v4 iput v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mMaxFlingVelocity:I invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getOverScrollMode()I move-result v4 if-ne v4, v3, :cond_2 const/4 v3, 0x1 goto :goto_2 :cond_2 const/4 v3, 0x0 :goto_2 invoke-virtual {p0, v3}, Landroidx/recyclerview/widget/RecyclerView;->setWillNotDraw(Z)V iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimatorListener:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemAnimatorListener; invoke-virtual {v3, v4}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->setListener(Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemAnimatorListener;)V invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->initAdapterManager()V invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->initChildrenHelper()V invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->initAutofill()V invoke-static {p0}, Landroidx/core/view/ViewCompat;->getImportantForAccessibility(Landroid/view/View;)I move-result v3 if-nez v3, :cond_3 invoke-static {p0, v2}, Landroidx/core/view/ViewCompat;->setImportantForAccessibility(Landroid/view/View;I)V :cond_3 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getContext()Landroid/content/Context; move-result-object v3 const-string v4, "accessibility" invoke-virtual {v3, v4}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; move-result-object v3 check-cast v3, Landroid/view/accessibility/AccessibilityManager; iput-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mAccessibilityManager:Landroid/view/accessibility/AccessibilityManager; new-instance v3, Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate; invoke-direct {v3, p0}, Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate;->(Landroidx/recyclerview/widget/RecyclerView;)V invoke-virtual {p0, v3}, Landroidx/recyclerview/widget/RecyclerView;->setAccessibilityDelegateCompat(Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate;)V const/high16 v3, 0x40000 if-eqz p2, :cond_6 sget-object v4, Landroidx/recyclerview/R$styleable;->RecyclerView:[I invoke-virtual {p1, p2, v4, p3, v0}, Landroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray; move-result-object v4 sget v5, Landroidx/recyclerview/R$styleable;->RecyclerView_layoutManager:I invoke-virtual {v4, v5}, Landroid/content/res/TypedArray;->getString(I)Ljava/lang/String; move-result-object v8 sget v5, Landroidx/recyclerview/R$styleable;->RecyclerView_android_descendantFocusability:I invoke-virtual {v4, v5, v1}, Landroid/content/res/TypedArray;->getInt(II)I move-result v5 if-ne v5, v1, :cond_4 invoke-virtual {p0, v3}, Landroidx/recyclerview/widget/RecyclerView;->setDescendantFocusability(I)V :cond_4 sget v1, Landroidx/recyclerview/R$styleable;->RecyclerView_fastScrollEnabled:I invoke-virtual {v4, v1, v0}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z move-result v1 iput-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mEnableFastScroller:Z iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mEnableFastScroller:Z if-eqz v1, :cond_5 sget v1, Landroidx/recyclerview/R$styleable;->RecyclerView_fastScrollVerticalThumbDrawable:I invoke-virtual {v4, v1}, Landroid/content/res/TypedArray;->getDrawable(I)Landroid/graphics/drawable/Drawable; move-result-object v1 check-cast v1, Landroid/graphics/drawable/StateListDrawable; sget v3, Landroidx/recyclerview/R$styleable;->RecyclerView_fastScrollVerticalTrackDrawable:I invoke-virtual {v4, v3}, Landroid/content/res/TypedArray;->getDrawable(I)Landroid/graphics/drawable/Drawable; move-result-object v3 sget v5, Landroidx/recyclerview/R$styleable;->RecyclerView_fastScrollHorizontalThumbDrawable:I invoke-virtual {v4, v5}, Landroid/content/res/TypedArray;->getDrawable(I)Landroid/graphics/drawable/Drawable; move-result-object v5 check-cast v5, Landroid/graphics/drawable/StateListDrawable; sget v6, Landroidx/recyclerview/R$styleable;->RecyclerView_fastScrollHorizontalTrackDrawable:I invoke-virtual {v4, v6}, Landroid/content/res/TypedArray;->getDrawable(I)Landroid/graphics/drawable/Drawable; move-result-object v6 invoke-virtual {p0, v1, v3, v5, v6}, Landroidx/recyclerview/widget/RecyclerView;->initFastScroller(Landroid/graphics/drawable/StateListDrawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/StateListDrawable;Landroid/graphics/drawable/Drawable;)V :cond_5 invoke-virtual {v4}, Landroid/content/res/TypedArray;->recycle()V const/4 v11, 0x0 move-object v6, p0 move-object v7, p1 move-object v9, p2 move v10, p3 invoke-direct/range {v6 .. v11}, Landroidx/recyclerview/widget/RecyclerView;->createLayoutManager(Landroid/content/Context;Ljava/lang/String;Landroid/util/AttributeSet;II)V sget v1, Landroid/os/Build$VERSION;->SDK_INT:I const/16 v3, 0x15 if-lt v1, v3, :cond_7 sget-object v1, Landroidx/recyclerview/widget/RecyclerView;->NESTED_SCROLLING_ATTRS:[I invoke-virtual {p1, p2, v1, p3, v0}, Landroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray; move-result-object p1 invoke-virtual {p1, v0, v2}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z move-result p2 invoke-virtual {p1}, Landroid/content/res/TypedArray;->recycle()V move v2, p2 goto :goto_3 :cond_6 invoke-virtual {p0, v3}, Landroidx/recyclerview/widget/RecyclerView;->setDescendantFocusability(I)V :cond_7 :goto_3 invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->setNestedScrollingEnabled(Z)V return-void .end method .method static synthetic access$000(Landroidx/recyclerview/widget/RecyclerView;Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V .locals 0 invoke-virtual {p0, p1, p2, p3}, Landroidx/recyclerview/widget/RecyclerView;->attachViewToParent(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V return-void .end method .method static synthetic access$100(Landroidx/recyclerview/widget/RecyclerView;I)V .locals 0 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->detachViewFromParent(I)V return-void .end method .method static synthetic access$200(Landroidx/recyclerview/widget/RecyclerView;)Z .locals 0 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->awakenScrollBars()Z move-result p0 return p0 .end method .method static synthetic access$300(Landroidx/recyclerview/widget/RecyclerView;II)V .locals 0 invoke-virtual {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->setMeasuredDimension(II)V return-void .end method .method private addAnimatingView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V .locals 5 iget-object v0, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; invoke-virtual {v0}, Landroid/view/View;->getParent()Landroid/view/ViewParent; move-result-object v1 const/4 v2, 0x1 if-ne v1, p0, :cond_0 const/4 v1, 0x1 goto :goto_0 :cond_0 const/4 v1, 0x0 :goto_0 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolder(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v4 invoke-virtual {v3, v4}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->unscrapView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isTmpDetached()Z move-result p1 if-eqz p1, :cond_1 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; const/4 v1, -0x1 invoke-virtual {v0}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams; move-result-object v3 invoke-virtual {p1, v0, v1, v3, v2}, Landroidx/recyclerview/widget/ChildHelper;->attachViewToParent(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;Z)V return-void :cond_1 if-nez v1, :cond_2 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {p1, v0, v2}, Landroidx/recyclerview/widget/ChildHelper;->addView(Landroid/view/View;Z)V return-void :cond_2 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/ChildHelper;->hide(Landroid/view/View;)V return-void .end method .method private animateChange(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;ZZ)V .locals 1 .param p1 # Landroidx/recyclerview/widget/RecyclerView$ViewHolder; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p2 # Landroidx/recyclerview/widget/RecyclerView$ViewHolder; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p3 # Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p4 # Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo; .annotation build Landroidx/annotation/NonNull; .end annotation .end param const/4 v0, 0x0 invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->setIsRecyclable(Z)V if-eqz p5, :cond_0 invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->addAnimatingView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V :cond_0 if-eq p1, p2, :cond_2 if-eqz p6, :cond_1 invoke-direct {p0, p2}, Landroidx/recyclerview/widget/RecyclerView;->addAnimatingView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V :cond_1 iput-object p2, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mShadowedHolder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder; invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->addAnimatingView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V iget-object p5, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; invoke-virtual {p5, p1}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->unscrapView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V invoke-virtual {p2, v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->setIsRecyclable(Z)V iput-object p1, p2, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mShadowingHolder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder; :cond_2 iget-object p5, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; invoke-virtual {p5, p1, p2, p3, p4}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->animateChange(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)Z move-result p1 if-eqz p1, :cond_3 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->postAnimationRunner()V :cond_3 return-void .end method .method private cancelTouch()V .locals 1 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->resetTouch()V const/4 v0, 0x0 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V return-void .end method .method static clearNestedRecyclerViewIfNotNested(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V .locals 3 .param p0 # Landroidx/recyclerview/widget/RecyclerView$ViewHolder; .annotation build Landroidx/annotation/NonNull; .end annotation .end param iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mNestedRecyclerView:Ljava/lang/ref/WeakReference; if-eqz v0, :cond_3 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; const/4 v1, 0x0 :goto_0 if-eqz v0, :cond_2 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; if-ne v0, v2, :cond_0 return-void :cond_0 invoke-virtual {v0}, Landroid/view/View;->getParent()Landroid/view/ViewParent; move-result-object v0 instance-of v2, v0, Landroid/view/View; if-eqz v2, :cond_1 check-cast v0, Landroid/view/View; goto :goto_0 :cond_1 move-object v0, v1 goto :goto_0 :cond_2 iput-object v1, p0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mNestedRecyclerView:Ljava/lang/ref/WeakReference; :cond_3 return-void .end method .method private createLayoutManager(Landroid/content/Context;Ljava/lang/String;Landroid/util/AttributeSet;II)V .locals 6 if-eqz p2, :cond_1 invoke-virtual {p2}, Ljava/lang/String;->trim()Ljava/lang/String; move-result-object p2 invoke-virtual {p2}, Ljava/lang/String;->isEmpty()Z move-result v0 if-nez v0, :cond_1 invoke-direct {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->getFullClassName(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String; move-result-object p2 :try_start_0 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isInEditMode()Z move-result v0 if-eqz v0, :cond_0 invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class; move-result-object v0 invoke-virtual {v0}, Ljava/lang/Class;->getClassLoader()Ljava/lang/ClassLoader; move-result-object v0 goto :goto_0 :cond_0 invoke-virtual {p1}, Landroid/content/Context;->getClassLoader()Ljava/lang/ClassLoader; move-result-object v0 :goto_0 invoke-virtual {v0, p2}, Ljava/lang/ClassLoader;->loadClass(Ljava/lang/String;)Ljava/lang/Class; move-result-object v0 const-class v1, Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {v0, v1}, Ljava/lang/Class;->asSubclass(Ljava/lang/Class;)Ljava/lang/Class; move-result-object v0 :try_end_0 .catch Ljava/lang/ClassNotFoundException; {:try_start_0 .. :try_end_0} :catch_6 .catch Ljava/lang/reflect/InvocationTargetException; {:try_start_0 .. :try_end_0} :catch_5 .catch Ljava/lang/InstantiationException; {:try_start_0 .. :try_end_0} :catch_4 .catch Ljava/lang/IllegalAccessException; {:try_start_0 .. :try_end_0} :catch_3 .catch Ljava/lang/ClassCastException; {:try_start_0 .. :try_end_0} :catch_2 const/4 v1, 0x0 const/4 v2, 0x1 const/4 v3, 0x0 :try_start_1 sget-object v4, Landroidx/recyclerview/widget/RecyclerView;->LAYOUT_MANAGER_CONSTRUCTOR_SIGNATURE:[Ljava/lang/Class; invoke-virtual {v0, v4}, Ljava/lang/Class;->getConstructor([Ljava/lang/Class;)Ljava/lang/reflect/Constructor; move-result-object v4 const/4 v5, 0x4 new-array v5, v5, [Ljava/lang/Object; aput-object p1, v5, v3 aput-object p3, v5, v2 const/4 p1, 0x2 invoke-static {p4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p4 aput-object p4, v5, p1 const/4 p1, 0x3 invoke-static {p5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p4 aput-object p4, v5, p1 :try_end_1 .catch Ljava/lang/NoSuchMethodException; {:try_start_1 .. :try_end_1} :catch_0 .catch Ljava/lang/ClassNotFoundException; {:try_start_1 .. :try_end_1} :catch_6 .catch Ljava/lang/reflect/InvocationTargetException; {:try_start_1 .. :try_end_1} :catch_5 .catch Ljava/lang/InstantiationException; {:try_start_1 .. :try_end_1} :catch_4 .catch Ljava/lang/IllegalAccessException; {:try_start_1 .. :try_end_1} :catch_3 .catch Ljava/lang/ClassCastException; {:try_start_1 .. :try_end_1} :catch_2 move-object v1, v5 goto :goto_1 :catch_0 move-exception p1 :try_start_2 new-array p4, v3, [Ljava/lang/Class; invoke-virtual {v0, p4}, Ljava/lang/Class;->getConstructor([Ljava/lang/Class;)Ljava/lang/reflect/Constructor; move-result-object v4 :try_end_2 .catch Ljava/lang/NoSuchMethodException; {:try_start_2 .. :try_end_2} :catch_1 .catch Ljava/lang/ClassNotFoundException; {:try_start_2 .. :try_end_2} :catch_6 .catch Ljava/lang/reflect/InvocationTargetException; {:try_start_2 .. :try_end_2} :catch_5 .catch Ljava/lang/InstantiationException; {:try_start_2 .. :try_end_2} :catch_4 .catch Ljava/lang/IllegalAccessException; {:try_start_2 .. :try_end_2} :catch_3 .catch Ljava/lang/ClassCastException; {:try_start_2 .. :try_end_2} :catch_2 :goto_1 :try_start_3 invoke-virtual {v4, v2}, Ljava/lang/reflect/Constructor;->setAccessible(Z)V invoke-virtual {v4, v1}, Ljava/lang/reflect/Constructor;->newInstance([Ljava/lang/Object;)Ljava/lang/Object; move-result-object p1 check-cast p1, Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->setLayoutManager(Landroidx/recyclerview/widget/RecyclerView$LayoutManager;)V return-void :catch_1 move-exception p4 invoke-virtual {p4, p1}, Ljava/lang/NoSuchMethodException;->initCause(Ljava/lang/Throwable;)Ljava/lang/Throwable; new-instance p1, Ljava/lang/IllegalStateException; new-instance p5, Ljava/lang/StringBuilder; invoke-direct {p5}, Ljava/lang/StringBuilder;->()V invoke-interface {p3}, Landroid/util/AttributeSet;->getPositionDescription()Ljava/lang/String; move-result-object v0 invoke-virtual {p5, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v0, ": Error creating LayoutManager " invoke-virtual {p5, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p5, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p5 invoke-direct {p1, p5, p4}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;Ljava/lang/Throwable;)V throw p1 :try_end_3 .catch Ljava/lang/ClassNotFoundException; {:try_start_3 .. :try_end_3} :catch_6 .catch Ljava/lang/reflect/InvocationTargetException; {:try_start_3 .. :try_end_3} :catch_5 .catch Ljava/lang/InstantiationException; {:try_start_3 .. :try_end_3} :catch_4 .catch Ljava/lang/IllegalAccessException; {:try_start_3 .. :try_end_3} :catch_3 .catch Ljava/lang/ClassCastException; {:try_start_3 .. :try_end_3} :catch_2 :catch_2 move-exception p1 new-instance p4, Ljava/lang/IllegalStateException; new-instance p5, Ljava/lang/StringBuilder; invoke-direct {p5}, Ljava/lang/StringBuilder;->()V invoke-interface {p3}, Landroid/util/AttributeSet;->getPositionDescription()Ljava/lang/String; move-result-object p3 invoke-virtual {p5, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string p3, ": Class is not a LayoutManager " invoke-virtual {p5, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p5, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p2 invoke-direct {p4, p2, p1}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;Ljava/lang/Throwable;)V throw p4 :catch_3 move-exception p1 new-instance p4, Ljava/lang/IllegalStateException; new-instance p5, Ljava/lang/StringBuilder; invoke-direct {p5}, Ljava/lang/StringBuilder;->()V invoke-interface {p3}, Landroid/util/AttributeSet;->getPositionDescription()Ljava/lang/String; move-result-object p3 invoke-virtual {p5, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string p3, ": Cannot access non-public constructor " invoke-virtual {p5, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p5, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p2 invoke-direct {p4, p2, p1}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;Ljava/lang/Throwable;)V throw p4 :catch_4 move-exception p1 new-instance p4, Ljava/lang/IllegalStateException; new-instance p5, Ljava/lang/StringBuilder; invoke-direct {p5}, Ljava/lang/StringBuilder;->()V invoke-interface {p3}, Landroid/util/AttributeSet;->getPositionDescription()Ljava/lang/String; move-result-object p3 invoke-virtual {p5, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string p3, ": Could not instantiate the LayoutManager: " invoke-virtual {p5, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p5, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p2 invoke-direct {p4, p2, p1}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;Ljava/lang/Throwable;)V throw p4 :catch_5 move-exception p1 new-instance p4, Ljava/lang/IllegalStateException; new-instance p5, Ljava/lang/StringBuilder; invoke-direct {p5}, Ljava/lang/StringBuilder;->()V invoke-interface {p3}, Landroid/util/AttributeSet;->getPositionDescription()Ljava/lang/String; move-result-object p3 invoke-virtual {p5, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string p3, ": Could not instantiate the LayoutManager: " invoke-virtual {p5, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p5, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p2 invoke-direct {p4, p2, p1}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;Ljava/lang/Throwable;)V throw p4 :catch_6 move-exception p1 new-instance p4, Ljava/lang/IllegalStateException; new-instance p5, Ljava/lang/StringBuilder; invoke-direct {p5}, Ljava/lang/StringBuilder;->()V invoke-interface {p3}, Landroid/util/AttributeSet;->getPositionDescription()Ljava/lang/String; move-result-object p3 invoke-virtual {p5, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string p3, ": Unable to find LayoutManager " invoke-virtual {p5, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p5, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p2 invoke-direct {p4, p2, p1}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;Ljava/lang/Throwable;)V throw p4 :cond_1 return-void .end method .method private didChildRangeChange(II)Z .locals 4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinMaxLayoutPositions:[I invoke-direct {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->findMinMaxChildLayoutPositions([I)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinMaxLayoutPositions:[I const/4 v1, 0x0 aget v2, v0, v1 const/4 v3, 0x1 if-ne v2, p1, :cond_1 aget p1, v0, v3 if-eq p1, p2, :cond_0 goto :goto_0 :cond_0 return v1 :cond_1 :goto_0 return v3 .end method .method private dispatchContentChangedIfNecessary()V .locals 3 iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mEatenAccessibilityChangeFlags:I const/4 v1, 0x0 iput v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mEatenAccessibilityChangeFlags:I if-eqz v0, :cond_0 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isAccessibilityEnabled()Z move-result v1 if-eqz v1, :cond_0 invoke-static {}, Landroid/view/accessibility/AccessibilityEvent;->obtain()Landroid/view/accessibility/AccessibilityEvent; move-result-object v1 const/16 v2, 0x800 invoke-virtual {v1, v2}, Landroid/view/accessibility/AccessibilityEvent;->setEventType(I)V invoke-static {v1, v0}, Landroidx/core/view/accessibility/AccessibilityEventCompat;->setContentChangeTypes(Landroid/view/accessibility/AccessibilityEvent;I)V invoke-virtual {p0, v1}, Landroidx/recyclerview/widget/RecyclerView;->sendAccessibilityEventUnchecked(Landroid/view/accessibility/AccessibilityEvent;)V :cond_0 return-void .end method .method private dispatchLayoutStep1()V .locals 8 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; const/4 v1, 0x1 invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$State;->assertLayoutStep(I)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->fillRemainingScrollValues(Landroidx/recyclerview/widget/RecyclerView$State;)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; const/4 v2, 0x0 iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mIsMeasuring:Z invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; invoke-virtual {v0}, Landroidx/recyclerview/widget/ViewInfoStore;->clear()V invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->processAdapterUpdatesAndSetAnimationFlags()V invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->saveFocusInfo()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iget-boolean v3, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunSimpleAnimations:Z if-eqz v3, :cond_0 iget-boolean v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemsChanged:Z if-eqz v3, :cond_0 goto :goto_0 :cond_0 const/4 v1, 0x0 :goto_0 iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mTrackOldChangeHolders:Z iput-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemsChanged:Z iput-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemsAddedOrRemoved:Z iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iget-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunPredictiveAnimations:Z iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mInPreLayout:Z iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->getItemCount()I move-result v1 iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mItemCount:I iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinMaxLayoutPositions:[I invoke-direct {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->findMinMaxChildLayoutPositions([I)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iget-boolean v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunSimpleAnimations:Z if-eqz v0, :cond_3 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I move-result v0 const/4 v1, 0x0 :goto_1 if-ge v1, v0, :cond_3 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v3, v1}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View; move-result-object v3 invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v3 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z move-result v4 if-nez v4, :cond_2 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isInvalid()Z move-result v4 if-eqz v4, :cond_1 iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; invoke-virtual {v4}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z move-result v4 if-eqz v4, :cond_2 :cond_1 iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->buildAdapterChangeFlagsForAnimations(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)I move-result v6 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getUnmodifiedPayloads()Ljava/util/List; move-result-object v7 invoke-virtual {v4, v5, v3, v6, v7}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->recordPreLayoutInformation(Landroidx/recyclerview/widget/RecyclerView$State;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;ILjava/util/List;)Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo; move-result-object v4 iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; invoke-virtual {v5, v3, v4}, Landroidx/recyclerview/widget/ViewInfoStore;->addToPreLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iget-boolean v4, v4, Landroidx/recyclerview/widget/RecyclerView$State;->mTrackOldChangeHolders:Z if-eqz v4, :cond_2 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isUpdated()Z move-result v4 if-eqz v4, :cond_2 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isRemoved()Z move-result v4 if-nez v4, :cond_2 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z move-result v4 if-nez v4, :cond_2 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isInvalid()Z move-result v4 if-nez v4, :cond_2 invoke-virtual {p0, v3}, Landroidx/recyclerview/widget/RecyclerView;->getChangedHolderKey(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)J move-result-wide v4 iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; invoke-virtual {v6, v4, v5, v3}, Landroidx/recyclerview/widget/ViewInfoStore;->addToOldChangeHolders(JLandroidx/recyclerview/widget/RecyclerView$ViewHolder;)V :cond_2 add-int/lit8 v1, v1, 0x1 goto :goto_1 :cond_3 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iget-boolean v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunPredictiveAnimations:Z if-eqz v0, :cond_8 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->saveOldPositions()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iget-boolean v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged: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 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; invoke-virtual {v3, v4, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onLayoutChildren(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)V iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iput-boolean v0, v1, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z const/4 v0, 0x0 :goto_2 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v1}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I move-result v1 if-ge v0, v1, :cond_7 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v1, v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View; move-result-object v1 invoke-static {v1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v1 invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z move-result v3 if-nez v3, :cond_6 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; invoke-virtual {v3, v1}, Landroidx/recyclerview/widget/ViewInfoStore;->isInPreLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Z move-result v3 if-nez v3, :cond_6 invoke-static {v1}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->buildAdapterChangeFlagsForAnimations(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)I move-result v3 const/16 v4, 0x2000 invoke-virtual {v1, v4}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->hasAnyOfTheFlags(I)Z move-result v4 if-nez v4, :cond_4 or-int/lit16 v3, v3, 0x1000 :cond_4 iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getUnmodifiedPayloads()Ljava/util/List; move-result-object v7 invoke-virtual {v5, v6, v1, v3, v7}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->recordPreLayoutInformation(Landroidx/recyclerview/widget/RecyclerView$State;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;ILjava/util/List;)Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo; move-result-object v3 if-eqz v4, :cond_5 invoke-virtual {p0, v1, v3}, Landroidx/recyclerview/widget/RecyclerView;->recordAnimationInfoIfBouncedHiddenView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V goto :goto_3 :cond_5 iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; invoke-virtual {v4, v1, v3}, Landroidx/recyclerview/widget/ViewInfoStore;->addToAppearedInPreLayoutHolders(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V :cond_6 :goto_3 add-int/lit8 v0, v0, 0x1 goto :goto_2 :cond_7 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->clearOldPositions()V goto :goto_4 :cond_8 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->clearOldPositions()V :goto_4 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; const/4 v1, 0x2 iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mLayoutStep:I return-void .end method .method private dispatchLayoutStep2()V .locals 4 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; const/4 v1, 0x6 invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$State;->assertLayoutStep(I)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->consumeUpdatesInOnePass()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->getItemCount()I move-result v1 iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mItemCount:I iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; const/4 v1, 0x0 iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mDeletedInvisibleItemCountSincePreviousLayout:I iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mInPreLayout:Z iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; invoke-virtual {v2, v3, v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onLayoutChildren(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z const/4 v2, 0x0 iput-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingSavedState:Landroidx/recyclerview/widget/RecyclerView$SavedState; iget-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunSimpleAnimations:Z if-eqz v2, :cond_0 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; if-eqz v2, :cond_0 const/4 v2, 0x1 goto :goto_0 :cond_0 const/4 v2, 0x0 :goto_0 iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunSimpleAnimations:Z iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; const/4 v2, 0x4 iput v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mLayoutStep:I invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V invoke-virtual {p0, v1}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V return-void .end method .method private dispatchLayoutStep3()V .locals 11 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; const/4 v1, 0x4 invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$State;->assertLayoutStep(I)V invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; const/4 v1, 0x1 iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mLayoutStep:I iget-boolean v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunSimpleAnimations:Z if-eqz v0, :cond_5 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I move-result v0 sub-int/2addr v0, v1 :goto_0 if-ltz v0, :cond_4 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v2, v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View; move-result-object v2 invoke-static {v2}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v5 invoke-virtual {v5}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z move-result v2 if-nez v2, :cond_3 invoke-virtual {p0, v5}, Landroidx/recyclerview/widget/RecyclerView;->getChangedHolderKey(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)J move-result-wide v2 iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {v4, v6, v5}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->recordPostLayoutInformation(Landroidx/recyclerview/widget/RecyclerView$State;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo; move-result-object v4 iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; invoke-virtual {v6, v2, v3}, Landroidx/recyclerview/widget/ViewInfoStore;->getFromOldChangeHolders(J)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v6 if-eqz v6, :cond_2 invoke-virtual {v6}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z move-result v7 if-nez v7, :cond_2 iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; invoke-virtual {v7, v6}, Landroidx/recyclerview/widget/ViewInfoStore;->isDisappearing(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Z move-result v8 iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; invoke-virtual {v7, v5}, Landroidx/recyclerview/widget/ViewInfoStore;->isDisappearing(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Z move-result v9 if-eqz v8, :cond_0 if-eq v6, v5, :cond_2 :cond_0 iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; invoke-virtual {v7, v6}, Landroidx/recyclerview/widget/ViewInfoStore;->popFromPreLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo; move-result-object v7 iget-object v10, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; invoke-virtual {v10, v5, v4}, Landroidx/recyclerview/widget/ViewInfoStore;->addToPostLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; invoke-virtual {v4, v5}, Landroidx/recyclerview/widget/ViewInfoStore;->popFromPostLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo; move-result-object v10 if-nez v7, :cond_1 invoke-direct {p0, v2, v3, v5, v6}, Landroidx/recyclerview/widget/RecyclerView;->handleMissingPreInfoForChangeError(JLandroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V goto :goto_1 :cond_1 move-object v3, p0 move-object v4, v6 move-object v6, v7 move-object v7, v10 invoke-direct/range {v3 .. v9}, Landroidx/recyclerview/widget/RecyclerView;->animateChange(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;ZZ)V goto :goto_1 :cond_2 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; invoke-virtual {v2, v5, v4}, Landroidx/recyclerview/widget/ViewInfoStore;->addToPostLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V :cond_3 :goto_1 add-int/lit8 v0, v0, -0x1 goto :goto_0 :cond_4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoProcessCallback:Landroidx/recyclerview/widget/ViewInfoStore$ProcessCallback; invoke-virtual {v0, v2}, Landroidx/recyclerview/widget/ViewInfoStore;->process(Landroidx/recyclerview/widget/ViewInfoStore$ProcessCallback;)V :cond_5 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; invoke-virtual {v0, v2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->removeAndRecycleScrapInt(Landroidx/recyclerview/widget/RecyclerView$Recycler;)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iget v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mItemCount:I iput v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mPreviousLayoutItemCount:I const/4 v0, 0x0 iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchItemsChangedEvent:Z iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iput-boolean v0, v2, Landroidx/recyclerview/widget/RecyclerView$State;->mRunSimpleAnimations:Z iput-boolean v0, v2, Landroidx/recyclerview/widget/RecyclerView$State;->mRunPredictiveAnimations:Z iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iput-boolean v0, v2, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mRequestedSimpleAnimations:Z iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; iget-object v2, v2, Landroidx/recyclerview/widget/RecyclerView$Recycler;->mChangedScrap:Ljava/util/ArrayList; if-eqz v2, :cond_6 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; iget-object v2, v2, Landroidx/recyclerview/widget/RecyclerView$Recycler;->mChangedScrap:Ljava/util/ArrayList; invoke-virtual {v2}, Ljava/util/ArrayList;->clear()V :cond_6 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-boolean v2, v2, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mPrefetchMaxObservedInInitialPrefetch:Z if-eqz v2, :cond_7 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iput v0, v2, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mPrefetchMaxCountObserved:I iput-boolean v0, v2, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mPrefetchMaxObservedInInitialPrefetch:Z iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->updateViewCacheSize()V :cond_7 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {v2, v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onLayoutCompleted(Landroidx/recyclerview/widget/RecyclerView$State;)V invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; invoke-virtual {v2}, Landroidx/recyclerview/widget/ViewInfoStore;->clear()V iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinMaxLayoutPositions:[I aget v3, v2, v0 aget v1, v2, v1 invoke-direct {p0, v3, v1}, Landroidx/recyclerview/widget/RecyclerView;->didChildRangeChange(II)Z move-result v1 if-eqz v1, :cond_8 invoke-virtual {p0, v0, v0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchOnScrolled(II)V :cond_8 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->recoverFocusFromState()V invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->resetFocusInfo()V return-void .end method .method private dispatchOnItemTouch(Landroid/view/MotionEvent;)Z .locals 6 invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I move-result v0 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mActiveOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener; const/4 v2, 0x1 if-eqz v1, :cond_3 const/4 v3, 0x0 if-nez v0, :cond_0 iput-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mActiveOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener; goto :goto_0 :cond_0 invoke-interface {v1, p0, p1}, Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;->onTouchEvent(Landroidx/recyclerview/widget/RecyclerView;Landroid/view/MotionEvent;)V const/4 p1, 0x3 if-eq v0, p1, :cond_1 if-ne v0, v2, :cond_2 :cond_1 iput-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mActiveOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener; :cond_2 return v2 :cond_3 :goto_0 const/4 v1, 0x0 if-eqz v0, :cond_5 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList; invoke-virtual {v0}, Ljava/util/ArrayList;->size()I move-result v0 const/4 v3, 0x0 :goto_1 if-ge v3, v0, :cond_5 iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList; invoke-virtual {v4, v3}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v4 check-cast v4, Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener; invoke-interface {v4, p0, p1}, Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;->onInterceptTouchEvent(Landroidx/recyclerview/widget/RecyclerView;Landroid/view/MotionEvent;)Z move-result v5 if-eqz v5, :cond_4 iput-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mActiveOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener; return v2 :cond_4 add-int/lit8 v3, v3, 0x1 goto :goto_1 :cond_5 return v1 .end method .method private dispatchOnItemTouchIntercept(Landroid/view/MotionEvent;)Z .locals 7 invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I move-result v0 const/4 v1, 0x3 if-eq v0, v1, :cond_0 if-nez v0, :cond_1 :cond_0 const/4 v2, 0x0 iput-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mActiveOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener; :cond_1 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList; invoke-virtual {v2}, Ljava/util/ArrayList;->size()I move-result v2 const/4 v3, 0x0 const/4 v4, 0x0 :goto_0 if-ge v4, v2, :cond_3 iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList; invoke-virtual {v5, v4}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v5 check-cast v5, Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener; invoke-interface {v5, p0, p1}, Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;->onInterceptTouchEvent(Landroidx/recyclerview/widget/RecyclerView;Landroid/view/MotionEvent;)Z move-result v6 if-eqz v6, :cond_2 if-eq v0, v1, :cond_2 iput-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mActiveOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener; const/4 p1, 0x1 return p1 :cond_2 add-int/lit8 v4, v4, 0x1 goto :goto_0 :cond_3 return v3 .end method .method private findMinMaxChildLayoutPositions([I)V .locals 8 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I move-result v0 const/4 v1, 0x1 const/4 v2, 0x0 if-nez v0, :cond_0 const/4 v0, -0x1 aput v0, p1, v2 aput v0, p1, v1 return-void :cond_0 const v3, 0x7fffffff const/high16 v4, -0x80000000 const/4 v3, 0x0 const v4, 0x7fffffff const/high16 v5, -0x80000000 :goto_0 if-ge v3, v0, :cond_3 iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v6, v3}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View; move-result-object v6 invoke-static {v6}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v6 invoke-virtual {v6}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z move-result v7 if-nez v7, :cond_2 invoke-virtual {v6}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getLayoutPosition()I move-result v6 if-ge v6, v4, :cond_1 move v4, v6 :cond_1 if-le v6, v5, :cond_2 move v5, v6 :cond_2 add-int/lit8 v3, v3, 0x1 goto :goto_0 :cond_3 aput v4, p1, v2 aput v5, p1, v1 return-void .end method .method static findNestedRecyclerView(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView; .locals 4 .param p0 # Landroid/view/View; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .annotation build Landroidx/annotation/Nullable; .end annotation instance-of v0, p0, Landroid/view/ViewGroup; const/4 v1, 0x0 if-nez v0, :cond_0 return-object v1 :cond_0 instance-of v0, p0, Landroidx/recyclerview/widget/RecyclerView; if-eqz v0, :cond_1 check-cast p0, Landroidx/recyclerview/widget/RecyclerView; return-object p0 :cond_1 check-cast p0, Landroid/view/ViewGroup; invoke-virtual {p0}, Landroid/view/ViewGroup;->getChildCount()I move-result v0 const/4 v2, 0x0 :goto_0 if-ge v2, v0, :cond_3 invoke-virtual {p0, v2}, Landroid/view/ViewGroup;->getChildAt(I)Landroid/view/View; move-result-object v3 invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->findNestedRecyclerView(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView; move-result-object v3 if-eqz v3, :cond_2 return-object v3 :cond_2 add-int/lit8 v2, v2, 0x1 goto :goto_0 :cond_3 return-object v1 .end method .method private findNextViewToFocus()Landroid/view/View; .locals 5 .annotation build Landroidx/annotation/Nullable; .end annotation iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iget v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemPosition:I const/4 v1, -0x1 if-eq v0, v1, :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iget v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemPosition:I goto :goto_0 :cond_0 const/4 v0, 0x0 :goto_0 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$State;->getItemCount()I move-result v1 move v2, v0 :goto_1 if-ge v2, v1, :cond_2 invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->findViewHolderForAdapterPosition(I)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v3 if-eqz v3, :cond_2 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_1 iget-object v0, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; return-object v0 :cond_1 add-int/lit8 v2, v2, 0x1 goto :goto_1 :cond_2 invoke-static {v1, v0}, Ljava/lang/Math;->min(II)I move-result v0 add-int/lit8 v0, v0, -0x1 :goto_2 const/4 v1, 0x0 if-ltz v0, :cond_5 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->findViewHolderForAdapterPosition(I)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v2 if-nez v2, :cond_3 return-object v1 :cond_3 iget-object v1, v2, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; invoke-virtual {v1}, Landroid/view/View;->hasFocusable()Z move-result v1 if-eqz v1, :cond_4 iget-object v0, v2, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; return-object v0 :cond_4 add-int/lit8 v0, v0, -0x1 goto :goto_2 :cond_5 return-object v1 .end method .method static getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; .locals 0 if-nez p0, :cond_0 const/4 p0, 0x0 return-object p0 :cond_0 invoke-virtual {p0}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams; move-result-object p0 check-cast p0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams; iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mViewHolder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder; return-object p0 .end method .method static getDecoratedBoundsWithMarginsInt(Landroid/view/View;Landroid/graphics/Rect;)V .locals 6 invoke-virtual {p0}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams; move-result-object v0 check-cast v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams; iget-object v1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mDecorInsets:Landroid/graphics/Rect; invoke-virtual {p0}, Landroid/view/View;->getLeft()I move-result v2 iget v3, v1, Landroid/graphics/Rect;->left:I sub-int/2addr v2, v3 iget v3, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->leftMargin:I sub-int/2addr v2, v3 invoke-virtual {p0}, Landroid/view/View;->getTop()I move-result v3 iget v4, v1, Landroid/graphics/Rect;->top:I sub-int/2addr v3, v4 iget v4, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->topMargin:I sub-int/2addr v3, v4 invoke-virtual {p0}, Landroid/view/View;->getRight()I move-result v4 iget v5, v1, Landroid/graphics/Rect;->right:I add-int/2addr v4, v5 iget v5, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->rightMargin:I add-int/2addr v4, v5 invoke-virtual {p0}, Landroid/view/View;->getBottom()I move-result p0 iget v1, v1, Landroid/graphics/Rect;->bottom:I add-int/2addr p0, v1 iget v0, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->bottomMargin:I add-int/2addr p0, v0 invoke-virtual {p1, v2, v3, v4, p0}, Landroid/graphics/Rect;->set(IIII)V return-void .end method .method private getDeepestFocusedViewWithId(Landroid/view/View;)I .locals 3 invoke-virtual {p1}, Landroid/view/View;->getId()I move-result v0 :cond_0 :goto_0 invoke-virtual {p1}, Landroid/view/View;->isFocused()Z move-result v1 if-nez v1, :cond_1 instance-of v1, p1, Landroid/view/ViewGroup; if-eqz v1, :cond_1 invoke-virtual {p1}, Landroid/view/View;->hasFocus()Z move-result v1 if-eqz v1, :cond_1 check-cast p1, Landroid/view/ViewGroup; invoke-virtual {p1}, Landroid/view/ViewGroup;->getFocusedChild()Landroid/view/View; move-result-object p1 invoke-virtual {p1}, Landroid/view/View;->getId()I move-result v1 const/4 v2, -0x1 if-eq v1, v2, :cond_0 invoke-virtual {p1}, Landroid/view/View;->getId()I move-result v0 goto :goto_0 :cond_1 return v0 .end method .method private getFullClassName(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String; .locals 2 const/4 v0, 0x0 invoke-virtual {p2, v0}, Ljava/lang/String;->charAt(I)C move-result v0 const/16 v1, 0x2e if-ne v0, v1, :cond_0 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V invoke-virtual {p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String; move-result-object p1 invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 return-object p1 :cond_0 const-string p1, "." invoke-virtual {p2, p1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result p1 if-eqz p1, :cond_1 return-object p2 :cond_1 new-instance p1, Ljava/lang/StringBuilder; invoke-direct {p1}, Ljava/lang/StringBuilder;->()V const-class v0, Landroidx/recyclerview/widget/RecyclerView; invoke-virtual {v0}, Ljava/lang/Class;->getPackage()Ljava/lang/Package; move-result-object v0 invoke-virtual {v0}, Ljava/lang/Package;->getName()Ljava/lang/String; move-result-object v0 invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 return-object p1 .end method .method private getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper; .locals 1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollingChildHelper:Landroidx/core/view/NestedScrollingChildHelper; if-nez v0, :cond_0 new-instance v0, Landroidx/core/view/NestedScrollingChildHelper; invoke-direct {v0, p0}, Landroidx/core/view/NestedScrollingChildHelper;->(Landroid/view/View;)V iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollingChildHelper:Landroidx/core/view/NestedScrollingChildHelper; :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollingChildHelper:Landroidx/core/view/NestedScrollingChildHelper; return-object v0 .end method .method private handleMissingPreInfoForChangeError(JLandroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V .locals 6 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I move-result v0 const/4 v1, 0x0 :goto_0 if-ge v1, v0, :cond_2 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View; move-result-object v2 invoke-static {v2}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v2 if-eq v2, p3, :cond_1 invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->getChangedHolderKey(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)J move-result-wide v3 cmp-long v5, v3, p1 if-nez v5, :cond_1 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; if-eqz p1, :cond_0 invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z move-result p1 if-eqz p1, :cond_0 new-instance p1, Ljava/lang/IllegalStateException; new-instance p2, Ljava/lang/StringBuilder; const-string p4, "Two different ViewHolders have the same stable ID. Stable IDs in your adapter MUST BE unique and SHOULD NOT change.\n ViewHolder 1:" invoke-direct {p2, p4}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p2, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; const-string p4, " \n View Holder 2:" invoke-virtual {p2, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String; move-result-object p3 invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p2 invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw p1 :cond_0 new-instance p1, Ljava/lang/IllegalStateException; new-instance p2, Ljava/lang/StringBuilder; const-string p4, "Two different ViewHolders have the same change ID. This might happen due to inconsistent Adapter update events or if the LayoutManager lays out the same View multiple times.\n ViewHolder 1:" invoke-direct {p2, p4}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p2, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; const-string p4, " \n View Holder 2:" invoke-virtual {p2, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String; move-result-object p3 invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p2 invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw p1 :cond_1 add-int/lit8 v1, v1, 0x1 goto :goto_0 :cond_2 const-string p1, "RecyclerView" new-instance p2, Ljava/lang/StringBuilder; const-string v0, "Problem while matching changed view holders with the newones. The pre-layout information for the change holder " invoke-direct {p2, v0}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p2, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; const-string p4, " cannot be found but it is necessary for " invoke-virtual {p2, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String; move-result-object p3 invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p2 invoke-static {p1, p2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I return-void .end method .method private hasUpdatedView()Z .locals 5 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I move-result v0 const/4 v1, 0x0 const/4 v2, 0x0 :goto_0 if-ge v2, v0, :cond_1 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View; move-result-object v3 invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v3 if-eqz v3, :cond_0 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z move-result v4 if-nez v4, :cond_0 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isUpdated()Z move-result v3 if-eqz v3, :cond_0 const/4 v0, 0x1 return v0 :cond_0 add-int/lit8 v2, v2, 0x1 goto :goto_0 :cond_1 return v1 .end method .method private initAutofill()V .locals 1 .annotation build Landroid/annotation/SuppressLint; value = { "InlinedApi" } .end annotation invoke-static {p0}, Landroidx/core/view/ViewCompat;->getImportantForAutofill(Landroid/view/View;)I move-result v0 if-nez v0, :cond_0 const/16 v0, 0x8 invoke-static {p0, v0}, Landroidx/core/view/ViewCompat;->setImportantForAutofill(Landroid/view/View;I)V :cond_0 return-void .end method .method private initChildrenHelper()V .locals 2 new-instance v0, Landroidx/recyclerview/widget/ChildHelper; new-instance v1, Landroidx/recyclerview/widget/RecyclerView$5; invoke-direct {v1, p0}, Landroidx/recyclerview/widget/RecyclerView$5;->(Landroidx/recyclerview/widget/RecyclerView;)V invoke-direct {v0, v1}, Landroidx/recyclerview/widget/ChildHelper;->(Landroidx/recyclerview/widget/ChildHelper$Callback;)V iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; return-void .end method .method private isPreferredNextFocus(Landroid/view/View;Landroid/view/View;I)Z .locals 5 const/4 v0, 0x0 if-eqz p2, :cond_19 if-ne p2, p0, :cond_0 goto/16 :goto_5 :cond_0 invoke-virtual {p0, p2}, Landroidx/recyclerview/widget/RecyclerView;->findContainingItemView(Landroid/view/View;)Landroid/view/View; move-result-object v1 if-nez v1, :cond_1 return v0 :cond_1 const/4 v1, 0x1 if-nez p1, :cond_2 return v1 :cond_2 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->findContainingItemView(Landroid/view/View;)Landroid/view/View; move-result-object v2 if-nez v2, :cond_3 return v1 :cond_3 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; invoke-virtual {p1}, Landroid/view/View;->getWidth()I move-result v3 invoke-virtual {p1}, Landroid/view/View;->getHeight()I move-result v4 invoke-virtual {v2, v0, v0, v3, v4}, Landroid/graphics/Rect;->set(IIII)V iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect; invoke-virtual {p2}, Landroid/view/View;->getWidth()I move-result v3 invoke-virtual {p2}, Landroid/view/View;->getHeight()I move-result v4 invoke-virtual {v2, v0, v0, v3, v4}, Landroid/graphics/Rect;->set(IIII)V iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; invoke-virtual {p0, p1, v2}, Landroidx/recyclerview/widget/RecyclerView;->offsetDescendantRectToMyCoords(Landroid/view/View;Landroid/graphics/Rect;)V iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect; invoke-virtual {p0, p2, p1}, Landroidx/recyclerview/widget/RecyclerView;->offsetDescendantRectToMyCoords(Landroid/view/View;Landroid/graphics/Rect;)V iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->getLayoutDirection()I move-result p1 const/4 p2, -0x1 if-ne p1, v1, :cond_4 const/4 p1, -0x1 goto :goto_0 :cond_4 const/4 p1, 0x1 :goto_0 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; iget v2, v2, Landroid/graphics/Rect;->left:I iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect; iget v3, v3, Landroid/graphics/Rect;->left:I if-lt v2, v3, :cond_5 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; iget v2, v2, Landroid/graphics/Rect;->right:I iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect; iget v3, v3, Landroid/graphics/Rect;->left:I if-gt v2, v3, :cond_6 :cond_5 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; iget v2, v2, Landroid/graphics/Rect;->right:I iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect; iget v3, v3, Landroid/graphics/Rect;->right:I if-ge v2, v3, :cond_6 const/4 v2, 0x1 goto :goto_1 :cond_6 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; iget v2, v2, Landroid/graphics/Rect;->right:I iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect; iget v3, v3, Landroid/graphics/Rect;->right:I if-gt v2, v3, :cond_7 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; iget v2, v2, Landroid/graphics/Rect;->left:I iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect; iget v3, v3, Landroid/graphics/Rect;->right:I if-lt v2, v3, :cond_8 :cond_7 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; iget v2, v2, Landroid/graphics/Rect;->left:I iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect; iget v3, v3, Landroid/graphics/Rect;->left:I if-le v2, v3, :cond_8 const/4 v2, -0x1 goto :goto_1 :cond_8 const/4 v2, 0x0 :goto_1 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; iget v3, v3, Landroid/graphics/Rect;->top:I iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect; iget v4, v4, Landroid/graphics/Rect;->top:I if-lt v3, v4, :cond_9 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; iget v3, v3, Landroid/graphics/Rect;->bottom:I iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect; iget v4, v4, Landroid/graphics/Rect;->top:I if-gt v3, v4, :cond_a :cond_9 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; iget v3, v3, Landroid/graphics/Rect;->bottom:I iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect; iget v4, v4, Landroid/graphics/Rect;->bottom:I if-ge v3, v4, :cond_a const/4 p2, 0x1 goto :goto_2 :cond_a iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; iget v3, v3, Landroid/graphics/Rect;->bottom:I iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect; iget v4, v4, Landroid/graphics/Rect;->bottom:I if-gt v3, v4, :cond_b iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; iget v3, v3, Landroid/graphics/Rect;->top:I iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect; iget v4, v4, Landroid/graphics/Rect;->bottom:I if-lt v3, v4, :cond_c :cond_b iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; iget v3, v3, Landroid/graphics/Rect;->top:I iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect; iget v4, v4, Landroid/graphics/Rect;->top:I if-le v3, v4, :cond_c goto :goto_2 :cond_c const/4 p2, 0x0 :goto_2 const/16 v3, 0x11 if-eq p3, v3, :cond_17 const/16 v3, 0x21 if-eq p3, v3, :cond_15 const/16 v3, 0x42 if-eq p3, v3, :cond_13 const/16 v3, 0x82 if-eq p3, v3, :cond_11 packed-switch p3, :pswitch_data_0 new-instance p1, Ljava/lang/IllegalArgumentException; new-instance p2, Ljava/lang/StringBuilder; const-string v0, "Invalid direction: " invoke-direct {p2, v0}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String; move-result-object p3 invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p2 invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p1 :pswitch_0 if-gtz p2, :cond_e if-nez p2, :cond_d mul-int v2, v2, p1 if-ltz v2, :cond_d goto :goto_3 :cond_d return v0 :cond_e :goto_3 return v1 :pswitch_1 if-ltz p2, :cond_10 if-nez p2, :cond_f mul-int v2, v2, p1 if-gtz v2, :cond_f goto :goto_4 :cond_f return v0 :cond_10 :goto_4 return v1 :cond_11 if-lez p2, :cond_12 return v1 :cond_12 return v0 :cond_13 if-lez v2, :cond_14 return v1 :cond_14 return v0 :cond_15 if-gez p2, :cond_16 return v1 :cond_16 return v0 :cond_17 if-gez v2, :cond_18 return v1 :cond_18 return v0 :cond_19 :goto_5 return v0 nop :pswitch_data_0 .packed-switch 0x1 :pswitch_1 :pswitch_0 .end packed-switch .end method .method private onPointerUp(Landroid/view/MotionEvent;)V .locals 3 invoke-virtual {p1}, Landroid/view/MotionEvent;->getActionIndex()I move-result v0 invoke-virtual {p1, v0}, Landroid/view/MotionEvent;->getPointerId(I)I move-result v1 iget v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I if-ne v1, v2, :cond_1 if-nez v0, :cond_0 const/4 v0, 0x1 goto :goto_0 :cond_0 const/4 v0, 0x0 :goto_0 invoke-virtual {p1, v0}, Landroid/view/MotionEvent;->getPointerId(I)I move-result v1 iput v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I invoke-virtual {p1, v0}, Landroid/view/MotionEvent;->getX(I)F move-result v1 const/high16 v2, 0x3f000000 # 0.5f add-float/2addr v1, v2 float-to-int v1, v1 iput v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I iput v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchX:I invoke-virtual {p1, v0}, Landroid/view/MotionEvent;->getY(I)F move-result p1 add-float/2addr p1, v2 float-to-int p1, p1 iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchY:I :cond_1 return-void .end method .method private predictiveItemAnimationsEnabled()Z .locals 1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; if-eqz v0, :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->supportsPredictiveItemAnimations()Z move-result v0 if-eqz v0, :cond_0 const/4 v0, 0x1 return v0 :cond_0 const/4 v0, 0x0 return v0 .end method .method private processAdapterUpdatesAndSetAnimationFlags()V .locals 5 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z if-eqz v0, :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->reset()V iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchItemsChangedEvent:Z if-eqz v0, :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onItemsChanged(Landroidx/recyclerview/widget/RecyclerView;)V :cond_0 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->predictiveItemAnimationsEnabled()Z move-result v0 if-eqz v0, :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->preProcess()V goto :goto_0 :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->consumeUpdatesInOnePass()V :goto_0 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemsAddedOrRemoved:Z const/4 v1, 0x0 const/4 v2, 0x1 if-nez v0, :cond_3 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemsChanged:Z if-eqz v0, :cond_2 goto :goto_1 :cond_2 const/4 v0, 0x0 goto :goto_2 :cond_3 :goto_1 const/4 v0, 0x1 :goto_2 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iget-boolean v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z if-eqz v4, :cond_6 iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; if-eqz v4, :cond_6 iget-boolean v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z if-nez v4, :cond_4 if-nez v0, :cond_4 iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-boolean v4, v4, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mRequestedSimpleAnimations:Z if-eqz v4, :cond_6 :cond_4 iget-boolean v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z if-eqz v4, :cond_5 iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; invoke-virtual {v4}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z move-result v4 if-eqz v4, :cond_6 :cond_5 const/4 v4, 0x1 goto :goto_3 :cond_6 const/4 v4, 0x0 :goto_3 iput-boolean v4, v3, Landroidx/recyclerview/widget/RecyclerView$State;->mRunSimpleAnimations:Z iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iget-boolean v4, v3, Landroidx/recyclerview/widget/RecyclerView$State;->mRunSimpleAnimations:Z if-eqz v4, :cond_7 if-eqz v0, :cond_7 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z if-nez v0, :cond_7 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->predictiveItemAnimationsEnabled()Z move-result v0 if-eqz v0, :cond_7 const/4 v1, 0x1 :cond_7 iput-boolean v1, v3, Landroidx/recyclerview/widget/RecyclerView$State;->mRunPredictiveAnimations:Z return-void .end method .method private pullGlows(FFFF)V .locals 6 const/high16 v0, 0x3f800000 # 1.0f const/4 v1, 0x1 const/4 v2, 0x0 cmpg-float v3, p2, v2 if-gez v3, :cond_0 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureLeftGlow()V iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; neg-float v4, p2 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I move-result v5 int-to-float v5, v5 div-float/2addr v4, v5 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getHeight()I move-result v5 int-to-float v5, v5 div-float/2addr p3, v5 sub-float p3, v0, p3 invoke-static {v3, v4, p3}, Landroidx/core/widget/EdgeEffectCompat;->onPull(Landroid/widget/EdgeEffect;FF)V const/4 p3, 0x1 goto :goto_0 :cond_0 cmpl-float v3, p2, v2 if-lez v3, :cond_1 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureRightGlow()V 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/2addr p3, v5 invoke-static {v3, v4, p3}, Landroidx/core/widget/EdgeEffectCompat;->onPull(Landroid/widget/EdgeEffect;FF)V const/4 p3, 0x1 goto :goto_0 :cond_1 const/4 p3, 0x0 :goto_0 cmpg-float v3, p4, v2 if-gez v3, :cond_2 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureTopGlow()V iget-object p3, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; neg-float v0, p4 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getHeight()I move-result v3 int-to-float v3, v3 div-float/2addr v0, v3 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I move-result v3 int-to-float v3, v3 div-float/2addr p1, v3 invoke-static {p3, v0, p1}, Landroidx/core/widget/EdgeEffectCompat;->onPull(Landroid/widget/EdgeEffect;FF)V goto :goto_1 :cond_2 cmpl-float v3, p4, v2 if-lez v3, :cond_3 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureBottomGlow()V iget-object p3, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getHeight()I move-result v3 int-to-float v3, v3 div-float v3, p4, v3 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I move-result v4 int-to-float v4, v4 div-float/2addr p1, v4 sub-float/2addr v0, p1 invoke-static {p3, v3, v0}, Landroidx/core/widget/EdgeEffectCompat;->onPull(Landroid/widget/EdgeEffect;FF)V goto :goto_1 :cond_3 move v1, p3 :goto_1 if-nez v1, :cond_4 cmpl-float p1, p2, v2 if-nez p1, :cond_4 cmpl-float p1, p4, v2 if-eqz p1, :cond_5 :cond_4 invoke-static {p0}, Landroidx/core/view/ViewCompat;->postInvalidateOnAnimation(Landroid/view/View;)V :cond_5 return-void .end method .method private recoverFocusFromState()V .locals 6 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPreserveFocusAfterLayout:Z if-eqz v0, :cond_a iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; if-eqz v0, :cond_a invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->hasFocus()Z move-result v0 if-eqz v0, :cond_a invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getDescendantFocusability()I move-result v0 const/high16 v1, 0x60000 if-eq v0, v1, :cond_a invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getDescendantFocusability()I move-result v0 const/high16 v1, 0x20000 if-ne v0, v1, :cond_0 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isFocused()Z move-result v0 if-eqz v0, :cond_0 goto/16 :goto_4 :cond_0 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isFocused()Z move-result v0 if-nez v0, :cond_3 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getFocusedChild()Landroid/view/View; move-result-object v0 sget-boolean v1, Landroidx/recyclerview/widget/RecyclerView;->IGNORE_DETACHED_FOCUSED_CHILD:Z if-eqz v1, :cond_2 invoke-virtual {v0}, Landroid/view/View;->getParent()Landroid/view/ViewParent; move-result-object v1 if-eqz v1, :cond_1 invoke-virtual {v0}, Landroid/view/View;->hasFocus()Z move-result v1 if-nez v1, :cond_2 :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I move-result v0 if-nez v0, :cond_3 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestFocus()Z return-void :cond_2 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v1, v0}, Landroidx/recyclerview/widget/ChildHelper;->isHidden(Landroid/view/View;)Z move-result v0 if-nez v0, :cond_3 return-void :cond_3 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iget-wide v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemId:J const-wide/16 v2, -0x1 const/4 v4, 0x0 cmp-long v5, v0, v2 if-eqz v5, :cond_4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z move-result v0 if-eqz v0, :cond_4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iget-wide v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemId:J invoke-virtual {p0, v0, v1}, Landroidx/recyclerview/widget/RecyclerView;->findViewHolderForItemId(J)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v0 goto :goto_0 :cond_4 move-object v0, v4 :goto_0 if-eqz v0, :cond_6 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; iget-object v5, v0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; invoke-virtual {v1, v5}, Landroidx/recyclerview/widget/ChildHelper;->isHidden(Landroid/view/View;)Z move-result v1 if-nez v1, :cond_6 iget-object v1, v0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; invoke-virtual {v1}, Landroid/view/View;->hasFocusable()Z move-result v1 if-nez v1, :cond_5 goto :goto_1 :cond_5 iget-object v4, v0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; goto :goto_2 :cond_6 :goto_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I move-result v0 if-lez v0, :cond_7 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->findNextViewToFocus()Landroid/view/View; move-result-object v4 :cond_7 :goto_2 if-eqz v4, :cond_9 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iget v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedSubChildId:I int-to-long v0, v0 cmp-long v5, v0, v2 if-eqz v5, :cond_8 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iget v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedSubChildId:I invoke-virtual {v4, v0}, Landroid/view/View;->findViewById(I)Landroid/view/View; move-result-object v0 if-eqz v0, :cond_8 invoke-virtual {v0}, Landroid/view/View;->isFocusable()Z move-result v1 if-eqz v1, :cond_8 goto :goto_3 :cond_8 move-object v0, v4 :goto_3 invoke-virtual {v0}, Landroid/view/View;->requestFocus()Z :cond_9 return-void :cond_a :goto_4 return-void .end method .method private releaseGlows()V .locals 2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; if-eqz v0, :cond_0 invoke-virtual {v0}, Landroid/widget/EdgeEffect;->onRelease()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z move-result v0 goto :goto_0 :cond_0 const/4 v0, 0x0 :goto_0 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; if-eqz v1, :cond_1 invoke-virtual {v1}, Landroid/widget/EdgeEffect;->onRelease()V iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; invoke-virtual {v1}, Landroid/widget/EdgeEffect;->isFinished()Z move-result v1 or-int/2addr v0, v1 :cond_1 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; if-eqz v1, :cond_2 invoke-virtual {v1}, Landroid/widget/EdgeEffect;->onRelease()V iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; invoke-virtual {v1}, Landroid/widget/EdgeEffect;->isFinished()Z move-result v1 or-int/2addr v0, v1 :cond_2 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; if-eqz v1, :cond_3 invoke-virtual {v1}, Landroid/widget/EdgeEffect;->onRelease()V iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; invoke-virtual {v1}, Landroid/widget/EdgeEffect;->isFinished()Z move-result v1 or-int/2addr v0, v1 :cond_3 if-eqz v0, :cond_4 invoke-static {p0}, Landroidx/core/view/ViewCompat;->postInvalidateOnAnimation(Landroid/view/View;)V :cond_4 return-void .end method .method private requestChildOnScreen(Landroid/view/View;Landroid/view/View;)V .locals 11 .param p1 # Landroid/view/View; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p2 # Landroid/view/View; .annotation build Landroidx/annotation/Nullable; .end annotation .end param if-eqz p2, :cond_0 move-object v0, p2 goto :goto_0 :cond_0 move-object v0, p1 :goto_0 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; invoke-virtual {v0}, Landroid/view/View;->getWidth()I move-result v2 invoke-virtual {v0}, Landroid/view/View;->getHeight()I move-result v3 const/4 v4, 0x0 invoke-virtual {v1, v4, v4, v2, v3}, Landroid/graphics/Rect;->set(IIII)V invoke-virtual {v0}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams; move-result-object v0 instance-of v1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams; if-eqz v1, :cond_1 check-cast v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams; iget-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mInsetsDirty:Z if-nez v1, :cond_1 iget-object v0, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mDecorInsets:Landroid/graphics/Rect; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; iget v2, v1, Landroid/graphics/Rect;->left:I iget v3, v0, Landroid/graphics/Rect;->left:I sub-int/2addr v2, v3 iput v2, v1, Landroid/graphics/Rect;->left:I iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; iget v2, v1, Landroid/graphics/Rect;->right:I iget v3, v0, Landroid/graphics/Rect;->right:I add-int/2addr v2, v3 iput v2, v1, Landroid/graphics/Rect;->right:I iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; iget v2, v1, Landroid/graphics/Rect;->top:I iget v3, v0, Landroid/graphics/Rect;->top:I sub-int/2addr v2, v3 iput v2, v1, Landroid/graphics/Rect;->top:I iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; iget v2, v1, Landroid/graphics/Rect;->bottom:I iget v0, v0, Landroid/graphics/Rect;->bottom:I add-int/2addr v2, v0 iput v2, v1, Landroid/graphics/Rect;->bottom:I :cond_1 if-eqz p2, :cond_2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; invoke-virtual {p0, p2, v0}, Landroidx/recyclerview/widget/RecyclerView;->offsetDescendantRectToMyCoords(Landroid/view/View;Landroid/graphics/Rect;)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; invoke-virtual {p0, p1, v0}, Landroidx/recyclerview/widget/RecyclerView;->offsetRectIntoDescendantCoords(Landroid/view/View;Landroid/graphics/Rect;)V :cond_2 iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v8, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z const/4 v1, 0x1 xor-int/lit8 v9, v0, 0x1 if-nez p2, :cond_3 const/4 v10, 0x1 goto :goto_1 :cond_3 const/4 v10, 0x0 :goto_1 move-object v6, p0 move-object v7, p1 invoke-virtual/range {v5 .. v10}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->requestChildRectangleOnScreen(Landroidx/recyclerview/widget/RecyclerView;Landroid/view/View;Landroid/graphics/Rect;ZZ)Z return-void .end method .method private resetFocusInfo()V .locals 3 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; const-wide/16 v1, -0x1 iput-wide v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemId:J const/4 v1, -0x1 iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemPosition:I iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedSubChildId:I return-void .end method .method private resetTouch()V .locals 1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker; if-eqz v0, :cond_0 invoke-virtual {v0}, Landroid/view/VelocityTracker;->clear()V :cond_0 const/4 v0, 0x0 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->stopNestedScroll(I)V invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->releaseGlows()V return-void .end method .method private saveFocusInfo()V .locals 4 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPreserveFocusAfterLayout:Z const/4 v1, 0x0 if-eqz v0, :cond_0 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->hasFocus()Z move-result v0 if-eqz v0, :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; if-eqz v0, :cond_0 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getFocusedChild()Landroid/view/View; move-result-object v0 goto :goto_0 :cond_0 move-object v0, v1 :goto_0 if-nez v0, :cond_1 goto :goto_1 :cond_1 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->findContainingViewHolder(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v1 :goto_1 if-nez v1, :cond_2 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->resetFocusInfo()V return-void :cond_2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z move-result v2 if-eqz v2, :cond_3 invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getItemId()J move-result-wide v2 goto :goto_2 :cond_3 const-wide/16 v2, -0x1 :goto_2 iput-wide v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemId:J iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iget-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z if-eqz v2, :cond_4 const/4 v2, -0x1 goto :goto_3 :cond_4 invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isRemoved()Z move-result v2 if-eqz v2, :cond_5 iget v2, v1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mOldPosition:I goto :goto_3 :cond_5 invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getAdapterPosition()I move-result v2 :goto_3 iput v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemPosition:I iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iget-object v1, v1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; invoke-direct {p0, v1}, Landroidx/recyclerview/widget/RecyclerView;->getDeepestFocusedViewWithId(Landroid/view/View;)I move-result v1 iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedSubChildId:I return-void .end method .method private setAdapterInternal(Landroidx/recyclerview/widget/RecyclerView$Adapter;ZZ)V .locals 2 .param p1 # Landroidx/recyclerview/widget/RecyclerView$Adapter; .annotation build Landroidx/annotation/Nullable; .end annotation .end param iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; if-eqz v0, :cond_0 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mObserver:Landroidx/recyclerview/widget/RecyclerView$RecyclerViewDataObserver; invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->unregisterAdapterDataObserver(Landroidx/recyclerview/widget/RecyclerView$AdapterDataObserver;)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->onDetachedFromRecyclerView(Landroidx/recyclerview/widget/RecyclerView;)V :cond_0 if-eqz p2, :cond_1 if-eqz p3, :cond_2 :cond_1 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->removeAndRecycleViews()V :cond_2 iget-object p3, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper; invoke-virtual {p3}, Landroidx/recyclerview/widget/AdapterHelper;->reset()V iget-object p3, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; if-eqz p1, :cond_3 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mObserver:Landroidx/recyclerview/widget/RecyclerView$RecyclerViewDataObserver; invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->registerAdapterDataObserver(Landroidx/recyclerview/widget/RecyclerView$AdapterDataObserver;)V invoke-virtual {p1, p0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->onAttachedToRecyclerView(Landroidx/recyclerview/widget/RecyclerView;)V :cond_3 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz p1, :cond_4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; invoke-virtual {p1, p3, v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onAdapterChanged(Landroidx/recyclerview/widget/RecyclerView$Adapter;Landroidx/recyclerview/widget/RecyclerView$Adapter;)V :cond_4 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; invoke-virtual {p1, p3, v0, p2}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->onAdapterChanged(Landroidx/recyclerview/widget/RecyclerView$Adapter;Landroidx/recyclerview/widget/RecyclerView$Adapter;Z)V iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; const/4 p2, 0x1 iput-boolean p2, p1, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z return-void .end method .method private stopScrollersInternal()V .locals 1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$ViewFlinger; invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;->stop()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz v0, :cond_0 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->stopSmoothScroller()V :cond_0 return-void .end method # virtual methods .method absorbGlows(II)V .locals 2 if-gez p1, :cond_0 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureLeftGlow()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; neg-int v1, p1 invoke-virtual {v0, v1}, Landroid/widget/EdgeEffect;->onAbsorb(I)V goto :goto_0 :cond_0 if-lez p1, :cond_1 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureRightGlow()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; invoke-virtual {v0, p1}, Landroid/widget/EdgeEffect;->onAbsorb(I)V :cond_1 :goto_0 if-gez p2, :cond_2 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureTopGlow()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; neg-int v1, p2 invoke-virtual {v0, v1}, Landroid/widget/EdgeEffect;->onAbsorb(I)V goto :goto_1 :cond_2 if-lez p2, :cond_3 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureBottomGlow()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; invoke-virtual {v0, p2}, Landroid/widget/EdgeEffect;->onAbsorb(I)V :cond_3 :goto_1 if-nez p1, :cond_4 if-eqz p2, :cond_5 :cond_4 invoke-static {p0}, Landroidx/core/view/ViewCompat;->postInvalidateOnAnimation(Landroid/view/View;)V :cond_5 return-void .end method .method public addFocusables(Ljava/util/ArrayList;II)V .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/ArrayList<", "Landroid/view/View;", ">;II)V" } .end annotation iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz v0, :cond_0 invoke-virtual {v0, p0, p1, p2, p3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onAddFocusables(Landroidx/recyclerview/widget/RecyclerView;Ljava/util/ArrayList;II)Z move-result v0 if-nez v0, :cond_1 :cond_0 invoke-super {p0, p1, p2, p3}, Landroid/view/ViewGroup;->addFocusables(Ljava/util/ArrayList;II)V :cond_1 return-void .end method .method public addItemDecoration(Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;)V .locals 1 .param p1 # Landroidx/recyclerview/widget/RecyclerView$ItemDecoration; .annotation build Landroidx/annotation/NonNull; .end annotation .end param const/4 v0, -0x1 invoke-virtual {p0, p1, v0}, Landroidx/recyclerview/widget/RecyclerView;->addItemDecoration(Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;I)V return-void .end method .method public addItemDecoration(Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;I)V .locals 2 .param p1 # Landroidx/recyclerview/widget/RecyclerView$ItemDecoration; .annotation build Landroidx/annotation/NonNull; .end annotation .end param iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz v0, :cond_0 const-string v1, "Cannot add item decoration during a scroll or layout" invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->assertNotInLayoutOrScroll(Ljava/lang/String;)V :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; invoke-virtual {v0}, Ljava/util/ArrayList;->isEmpty()Z move-result v0 if-eqz v0, :cond_1 const/4 v0, 0x0 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setWillNotDraw(Z)V :cond_1 if-gez p2, :cond_2 iget-object p2, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; invoke-virtual {p2, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z goto :goto_0 :cond_2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; invoke-virtual {v0, p2, p1}, Ljava/util/ArrayList;->add(ILjava/lang/Object;)V :goto_0 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->markItemDecorInsetsDirty()V invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V return-void .end method .method public addOnChildAttachStateChangeListener(Landroidx/recyclerview/widget/RecyclerView$OnChildAttachStateChangeListener;)V .locals 1 .param p1 # Landroidx/recyclerview/widget/RecyclerView$OnChildAttachStateChangeListener; .annotation build Landroidx/annotation/NonNull; .end annotation .end param iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List; if-nez v0, :cond_0 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List; :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List; invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z return-void .end method .method public addOnItemTouchListener(Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;)V .locals 1 .param p1 # Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener; .annotation build Landroidx/annotation/NonNull; .end annotation .end param iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList; invoke-virtual {v0, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z return-void .end method .method public addOnScrollListener(Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;)V .locals 1 .param p1 # Landroidx/recyclerview/widget/RecyclerView$OnScrollListener; .annotation build Landroidx/annotation/NonNull; .end annotation .end param iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List; if-nez v0, :cond_0 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List; :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List; invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z return-void .end method .method animateAppearance(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V .locals 1 .param p1 # Landroidx/recyclerview/widget/RecyclerView$ViewHolder; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p2 # Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo; .annotation build Landroidx/annotation/Nullable; .end annotation .end param .param p3 # Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo; .annotation build Landroidx/annotation/NonNull; .end annotation .end param const/4 v0, 0x0 invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->setIsRecyclable(Z)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; invoke-virtual {v0, p1, p2, p3}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->animateAppearance(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)Z move-result p1 if-eqz p1, :cond_0 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->postAnimationRunner()V :cond_0 return-void .end method .method animateDisappearance(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V .locals 1 .param p1 # Landroidx/recyclerview/widget/RecyclerView$ViewHolder; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p2 # Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p3 # Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo; .annotation build Landroidx/annotation/Nullable; .end annotation .end param invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->addAnimatingView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V const/4 v0, 0x0 invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->setIsRecyclable(Z)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; invoke-virtual {v0, p1, p2, p3}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->animateDisappearance(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)Z move-result p1 if-eqz p1, :cond_0 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->postAnimationRunner()V :cond_0 return-void .end method .method assertInLayoutOrScroll(Ljava/lang/String;)V .locals 2 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isComputingLayout()Z move-result v0 if-nez v0, :cond_1 if-nez p1, :cond_0 new-instance p1, Ljava/lang/IllegalStateException; new-instance v0, Ljava/lang/StringBuilder; const-string v1, "Cannot call this method unless RecyclerView is computing a layout or scrolling" invoke-direct {v0, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String; move-result-object v1 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw p1 :cond_0 new-instance v0, Ljava/lang/IllegalStateException; new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String; move-result-object p1 invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 invoke-direct {v0, p1}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw v0 :cond_1 return-void .end method .method assertNotInLayoutOrScroll(Ljava/lang/String;)V .locals 4 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isComputingLayout()Z move-result v0 if-eqz v0, :cond_1 if-nez p1, :cond_0 new-instance p1, Ljava/lang/IllegalStateException; new-instance v0, Ljava/lang/StringBuilder; const-string v1, "Cannot call this method while RecyclerView is computing a layout or scrolling" invoke-direct {v0, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String; move-result-object v1 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw p1 :cond_0 new-instance v0, Ljava/lang/IllegalStateException; invoke-direct {v0, p1}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw v0 :cond_1 iget p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchScrollCounter:I if-lez p1, :cond_2 const-string p1, "RecyclerView" const-string v0, "Cannot call this method in a scroll callback. Scroll callbacks mightbe run during a measure & layout pass where you cannot change theRecyclerView data. Any method call that might change the structureof the RecyclerView or the adapter contents should be postponed tothe next frame." new-instance v1, Ljava/lang/IllegalStateException; new-instance v2, Ljava/lang/StringBuilder; invoke-direct {v2}, Ljava/lang/StringBuilder;->()V 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/IllegalStateException;->(Ljava/lang/String;)V invoke-static {p1, v0, v1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I :cond_2 return-void .end method .method canReuseUpdatedViewHolder(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Z .locals 2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; if-eqz v0, :cond_1 invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getUnmodifiedPayloads()Ljava/util/List; move-result-object v1 invoke-virtual {v0, p1, v1}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->canReuseUpdatedViewHolder(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Ljava/util/List;)Z move-result p1 if-eqz p1, :cond_0 goto :goto_0 :cond_0 const/4 p1, 0x0 return p1 :cond_1 :goto_0 const/4 p1, 0x1 return p1 .end method .method protected checkLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Z .locals 1 instance-of v0, p1, Landroidx/recyclerview/widget/RecyclerView$LayoutParams; if-eqz v0, :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; check-cast p1, Landroidx/recyclerview/widget/RecyclerView$LayoutParams; invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->checkLayoutParams(Landroidx/recyclerview/widget/RecyclerView$LayoutParams;)Z move-result p1 if-eqz p1, :cond_0 const/4 p1, 0x1 return p1 :cond_0 const/4 p1, 0x0 return p1 .end method .method clearOldPositions()V .locals 4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I move-result v0 const/4 v1, 0x0 :goto_0 if-ge v1, v0, :cond_1 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View; move-result-object v2 invoke-static {v2}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v2 invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z move-result v3 if-nez v3, :cond_0 invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->clearOldPosition()V :cond_0 add-int/lit8 v1, v1, 0x1 goto :goto_0 :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->clearOldPositions()V return-void .end method .method public clearOnChildAttachStateChangeListeners()V .locals 1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List; if-eqz v0, :cond_0 invoke-interface {v0}, Ljava/util/List;->clear()V :cond_0 return-void .end method .method public clearOnScrollListeners()V .locals 1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List; if-eqz v0, :cond_0 invoke-interface {v0}, Ljava/util/List;->clear()V :cond_0 return-void .end method .method public computeHorizontalScrollExtent()I .locals 2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; const/4 v1, 0x0 if-nez v0, :cond_0 return v1 :cond_0 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z move-result v0 if-eqz v0, :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->computeHorizontalScrollExtent(Landroidx/recyclerview/widget/RecyclerView$State;)I move-result v0 return v0 :cond_1 return v1 .end method .method public computeHorizontalScrollOffset()I .locals 2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; const/4 v1, 0x0 if-nez v0, :cond_0 return v1 :cond_0 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z move-result v0 if-eqz v0, :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->computeHorizontalScrollOffset(Landroidx/recyclerview/widget/RecyclerView$State;)I move-result v0 return v0 :cond_1 return v1 .end method .method public computeHorizontalScrollRange()I .locals 2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; const/4 v1, 0x0 if-nez v0, :cond_0 return v1 :cond_0 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z move-result v0 if-eqz v0, :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->computeHorizontalScrollRange(Landroidx/recyclerview/widget/RecyclerView$State;)I move-result v0 return v0 :cond_1 return v1 .end method .method public computeVerticalScrollExtent()I .locals 2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; const/4 v1, 0x0 if-nez v0, :cond_0 return v1 :cond_0 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z move-result v0 if-eqz v0, :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->computeVerticalScrollExtent(Landroidx/recyclerview/widget/RecyclerView$State;)I move-result v0 return v0 :cond_1 return v1 .end method .method public computeVerticalScrollOffset()I .locals 2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; const/4 v1, 0x0 if-nez v0, :cond_0 return v1 :cond_0 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z move-result v0 if-eqz v0, :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->computeVerticalScrollOffset(Landroidx/recyclerview/widget/RecyclerView$State;)I move-result v0 return v0 :cond_1 return v1 .end method .method public computeVerticalScrollRange()I .locals 2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; const/4 v1, 0x0 if-nez v0, :cond_0 return v1 :cond_0 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z move-result v0 if-eqz v0, :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->computeVerticalScrollRange(Landroidx/recyclerview/widget/RecyclerView$State;)I move-result v0 return v0 :cond_1 return v1 .end method .method considerReleasingGlowsOnScroll(II)V .locals 2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; if-eqz v0, :cond_0 invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z move-result v0 if-nez v0, :cond_0 if-lez p1, :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; invoke-virtual {v0}, Landroid/widget/EdgeEffect;->onRelease()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z move-result v0 goto :goto_0 :cond_0 const/4 v0, 0x0 :goto_0 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; if-eqz v1, :cond_1 invoke-virtual {v1}, Landroid/widget/EdgeEffect;->isFinished()Z move-result v1 if-nez v1, :cond_1 if-gez p1, :cond_1 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; invoke-virtual {p1}, Landroid/widget/EdgeEffect;->onRelease()V iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; invoke-virtual {p1}, Landroid/widget/EdgeEffect;->isFinished()Z move-result p1 or-int/2addr v0, p1 :cond_1 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; if-eqz p1, :cond_2 invoke-virtual {p1}, Landroid/widget/EdgeEffect;->isFinished()Z move-result p1 if-nez p1, :cond_2 if-lez p2, :cond_2 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; invoke-virtual {p1}, Landroid/widget/EdgeEffect;->onRelease()V iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; invoke-virtual {p1}, Landroid/widget/EdgeEffect;->isFinished()Z move-result p1 or-int/2addr v0, p1 :cond_2 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; if-eqz p1, :cond_3 invoke-virtual {p1}, Landroid/widget/EdgeEffect;->isFinished()Z move-result p1 if-nez p1, :cond_3 if-gez p2, :cond_3 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; invoke-virtual {p1}, Landroid/widget/EdgeEffect;->onRelease()V iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; invoke-virtual {p1}, Landroid/widget/EdgeEffect;->isFinished()Z move-result p1 or-int/2addr v0, p1 :cond_3 if-eqz v0, :cond_4 invoke-static {p0}, Landroidx/core/view/ViewCompat;->postInvalidateOnAnimation(Landroid/view/View;)V :cond_4 return-void .end method .method consumePendingUpdateOperations()V .locals 2 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z if-eqz v0, :cond_6 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z if-eqz v0, :cond_0 goto :goto_1 :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->hasPendingUpdates()Z move-result v0 if-nez v0, :cond_1 return-void :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper; const/4 v1, 0x4 invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/AdapterHelper;->hasAnyUpdateTypes(I)Z move-result v0 if-eqz v0, :cond_4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper; const/16 v1, 0xb invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/AdapterHelper;->hasAnyUpdateTypes(I)Z move-result v0 if-nez v0, :cond_4 const-string v0, "RV PartialInvalidate" invoke-static {v0}, Landroidx/core/os/TraceCompat;->beginSection(Ljava/lang/String;)V invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->preProcess()V iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z if-nez v0, :cond_3 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->hasUpdatedView()Z move-result v0 if-eqz v0, :cond_2 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayout()V goto :goto_0 :cond_2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->consumePostponedUpdates()V :cond_3 :goto_0 const/4 v0, 0x1 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V invoke-static {}, Landroidx/core/os/TraceCompat;->endSection()V return-void :cond_4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->hasPendingUpdates()Z move-result v0 if-eqz v0, :cond_5 const-string v0, "RV FullInvalidate" invoke-static {v0}, Landroidx/core/os/TraceCompat;->beginSection(Ljava/lang/String;)V invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayout()V invoke-static {}, Landroidx/core/os/TraceCompat;->endSection()V :cond_5 return-void :cond_6 :goto_1 const-string v0, "RV FullInvalidate" invoke-static {v0}, Landroidx/core/os/TraceCompat;->beginSection(Ljava/lang/String;)V invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayout()V invoke-static {}, Landroidx/core/os/TraceCompat;->endSection()V return-void .end method .method defaultOnMeasure(II)V .locals 2 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 invoke-static {p0}, Landroidx/core/view/ViewCompat;->getMinimumWidth(Landroid/view/View;)I move-result v1 invoke-static {p1, v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->chooseSize(III)I move-result p1 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingTop()I move-result v0 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingBottom()I move-result v1 add-int/2addr v0, v1 invoke-static {p0}, Landroidx/core/view/ViewCompat;->getMinimumHeight(Landroid/view/View;)I move-result v1 invoke-static {p2, v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->chooseSize(III)I move-result p2 invoke-virtual {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->setMeasuredDimension(II)V return-void .end method .method dispatchChildAttached(Landroid/view/View;)V .locals 2 invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v0 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->onChildAttachedToWindow(Landroid/view/View;)V iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; if-eqz v1, :cond_0 if-eqz v0, :cond_0 invoke-virtual {v1, v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->onViewAttachedToWindow(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List; if-eqz v0, :cond_1 invoke-interface {v0}, Ljava/util/List;->size()I move-result v0 add-int/lit8 v0, v0, -0x1 :goto_0 if-ltz v0, :cond_1 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List; invoke-interface {v1, v0}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object v1 check-cast v1, Landroidx/recyclerview/widget/RecyclerView$OnChildAttachStateChangeListener; invoke-interface {v1, p1}, Landroidx/recyclerview/widget/RecyclerView$OnChildAttachStateChangeListener;->onChildViewAttachedToWindow(Landroid/view/View;)V add-int/lit8 v0, v0, -0x1 goto :goto_0 :cond_1 return-void .end method .method dispatchChildDetached(Landroid/view/View;)V .locals 2 invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v0 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->onChildDetachedFromWindow(Landroid/view/View;)V iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; if-eqz v1, :cond_0 if-eqz v0, :cond_0 invoke-virtual {v1, v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->onViewDetachedFromWindow(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List; if-eqz v0, :cond_1 invoke-interface {v0}, Ljava/util/List;->size()I move-result v0 add-int/lit8 v0, v0, -0x1 :goto_0 if-ltz v0, :cond_1 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List; invoke-interface {v1, v0}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object v1 check-cast v1, Landroidx/recyclerview/widget/RecyclerView$OnChildAttachStateChangeListener; invoke-interface {v1, p1}, Landroidx/recyclerview/widget/RecyclerView$OnChildAttachStateChangeListener;->onChildViewDetachedFromWindow(Landroid/view/View;)V add-int/lit8 v0, v0, -0x1 goto :goto_0 :cond_1 return-void .end method .method dispatchLayout()V .locals 2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; if-nez v0, :cond_0 const-string v0, "RecyclerView" const-string v1, "No adapter attached; skipping layout" invoke-static {v0, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I return-void :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-nez v0, :cond_1 const-string v0, "RecyclerView" const-string v1, "No layout manager attached; skipping layout" invoke-static {v0, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I return-void :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; const/4 v1, 0x0 iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mIsMeasuring:Z iget v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mLayoutStep:I const/4 v1, 0x1 if-ne v0, v1, :cond_2 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep1()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setExactMeasureSpecsFrom(Landroidx/recyclerview/widget/RecyclerView;)V invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep2()V goto :goto_1 :cond_2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->hasUpdates()Z move-result v0 if-nez v0, :cond_4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->getWidth()I move-result v0 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I move-result v1 if-ne v0, v1, :cond_4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->getHeight()I move-result v0 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getHeight()I move-result v1 if-eq v0, v1, :cond_3 goto :goto_0 :cond_3 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setExactMeasureSpecsFrom(Landroidx/recyclerview/widget/RecyclerView;)V goto :goto_1 :cond_4 :goto_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setExactMeasureSpecsFrom(Landroidx/recyclerview/widget/RecyclerView;)V invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep2()V :goto_1 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep3()V return-void .end method .method public dispatchNestedFling(FFZ)Z .locals 1 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper; move-result-object v0 invoke-virtual {v0, p1, p2, p3}, Landroidx/core/view/NestedScrollingChildHelper;->dispatchNestedFling(FFZ)Z move-result p1 return p1 .end method .method public dispatchNestedPreFling(FF)Z .locals 1 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper; move-result-object v0 invoke-virtual {v0, p1, p2}, Landroidx/core/view/NestedScrollingChildHelper;->dispatchNestedPreFling(FF)Z move-result p1 return p1 .end method .method public dispatchNestedPreScroll(II[I[I)Z .locals 1 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper; move-result-object v0 invoke-virtual {v0, p1, p2, p3, p4}, Landroidx/core/view/NestedScrollingChildHelper;->dispatchNestedPreScroll(II[I[I)Z move-result p1 return p1 .end method .method public dispatchNestedPreScroll(II[I[II)Z .locals 6 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper; move-result-object v0 move v1, p1 move v2, p2 move-object v3, p3 move-object v4, p4 move v5, p5 invoke-virtual/range {v0 .. v5}, Landroidx/core/view/NestedScrollingChildHelper;->dispatchNestedPreScroll(II[I[II)Z move-result p1 return p1 .end method .method public dispatchNestedScroll(IIII[I)Z .locals 6 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper; move-result-object v0 move v1, p1 move v2, p2 move v3, p3 move v4, p4 move-object v5, p5 invoke-virtual/range {v0 .. v5}, Landroidx/core/view/NestedScrollingChildHelper;->dispatchNestedScroll(IIII[I)Z move-result p1 return p1 .end method .method public dispatchNestedScroll(IIII[II)Z .locals 7 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper; move-result-object v0 move v1, p1 move v2, p2 move v3, p3 move v4, p4 move-object v5, p5 move v6, p6 invoke-virtual/range {v0 .. v6}, Landroidx/core/view/NestedScrollingChildHelper;->dispatchNestedScroll(IIII[II)Z move-result p1 return p1 .end method .method dispatchOnScrollStateChanged(I)V .locals 2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz v0, :cond_0 invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onScrollStateChanged(I)V :cond_0 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->onScrollStateChanged(I)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListener:Landroidx/recyclerview/widget/RecyclerView$OnScrollListener; if-eqz v0, :cond_1 invoke-virtual {v0, p0, p1}, Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;->onScrollStateChanged(Landroidx/recyclerview/widget/RecyclerView;I)V :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List; if-eqz v0, :cond_2 invoke-interface {v0}, Ljava/util/List;->size()I move-result v0 add-int/lit8 v0, v0, -0x1 :goto_0 if-ltz v0, :cond_2 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List; invoke-interface {v1, v0}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object v1 check-cast v1, Landroidx/recyclerview/widget/RecyclerView$OnScrollListener; invoke-virtual {v1, p0, p1}, Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;->onScrollStateChanged(Landroidx/recyclerview/widget/RecyclerView;I)V add-int/lit8 v0, v0, -0x1 goto :goto_0 :cond_2 return-void .end method .method dispatchOnScrolled(II)V .locals 2 iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchScrollCounter:I add-int/lit8 v0, v0, 0x1 iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchScrollCounter:I invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollX()I move-result v0 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollY()I move-result v1 invoke-virtual {p0, v0, v1, v0, v1}, Landroidx/recyclerview/widget/RecyclerView;->onScrollChanged(IIII)V invoke-virtual {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->onScrolled(II)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListener:Landroidx/recyclerview/widget/RecyclerView$OnScrollListener; if-eqz v0, :cond_0 invoke-virtual {v0, p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;->onScrolled(Landroidx/recyclerview/widget/RecyclerView;II)V :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List; if-eqz v0, :cond_1 invoke-interface {v0}, Ljava/util/List;->size()I move-result v0 add-int/lit8 v0, v0, -0x1 :goto_0 if-ltz v0, :cond_1 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List; invoke-interface {v1, v0}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object v1 check-cast v1, Landroidx/recyclerview/widget/RecyclerView$OnScrollListener; invoke-virtual {v1, p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;->onScrolled(Landroidx/recyclerview/widget/RecyclerView;II)V add-int/lit8 v0, v0, -0x1 goto :goto_0 :cond_1 iget p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchScrollCounter:I add-int/lit8 p1, p1, -0x1 iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchScrollCounter:I return-void .end method .method dispatchPendingImportantForAccessibilityChanges()V .locals 5 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingAccessibilityImportanceChange:Ljava/util/List; invoke-interface {v0}, Ljava/util/List;->size()I move-result v0 add-int/lit8 v0, v0, -0x1 :goto_0 if-ltz v0, :cond_1 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingAccessibilityImportanceChange:Ljava/util/List; invoke-interface {v1, v0}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object v1 check-cast v1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder; iget-object v2, v1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; invoke-virtual {v2}, Landroid/view/View;->getParent()Landroid/view/ViewParent; move-result-object v2 if-ne v2, p0, :cond_0 invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z move-result v2 if-nez v2, :cond_0 iget v2, v1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPendingAccessibilityState:I const/4 v3, -0x1 if-eq v2, v3, :cond_0 iget-object v4, v1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; invoke-static {v4, v2}, Landroidx/core/view/ViewCompat;->setImportantForAccessibility(Landroid/view/View;I)V iput v3, v1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPendingAccessibilityState:I :cond_0 add-int/lit8 v0, v0, -0x1 goto :goto_0 :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingAccessibilityImportanceChange:Ljava/util/List; invoke-interface {v0}, Ljava/util/List;->clear()V return-void .end method .method protected dispatchRestoreInstanceState(Landroid/util/SparseArray;)V .locals 0 .annotation system Ldalvik/annotation/Signature; value = { "(", "Landroid/util/SparseArray<", "Landroid/os/Parcelable;", ">;)V" } .end annotation invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->dispatchThawSelfOnly(Landroid/util/SparseArray;)V return-void .end method .method protected dispatchSaveInstanceState(Landroid/util/SparseArray;)V .locals 0 .annotation system Ldalvik/annotation/Signature; value = { "(", "Landroid/util/SparseArray<", "Landroid/os/Parcelable;", ">;)V" } .end annotation invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->dispatchFreezeSelfOnly(Landroid/util/SparseArray;)V return-void .end method .method public draw(Landroid/graphics/Canvas;)V .locals 7 invoke-super {p0, p1}, Landroid/view/ViewGroup;->draw(Landroid/graphics/Canvas;)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; invoke-virtual {v0}, Ljava/util/ArrayList;->size()I move-result v0 const/4 v1, 0x0 const/4 v2, 0x0 :goto_0 if-ge v2, v0, :cond_0 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; invoke-virtual {v3, v2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v3 check-cast v3, Landroidx/recyclerview/widget/RecyclerView$ItemDecoration; iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {v3, p1, p0, v4}, Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;->onDrawOver(Landroid/graphics/Canvas;Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$State;)V add-int/lit8 v2, v2, 0x1 goto :goto_0 :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; const/4 v2, 0x1 if-eqz v0, :cond_3 invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z move-result v0 if-nez v0, :cond_3 invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I move-result v0 iget-boolean v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z if-eqz v3, :cond_1 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingBottom()I move-result v3 goto :goto_1 :cond_1 const/4 v3, 0x0 :goto_1 const/high16 v4, 0x43870000 # 270.0f invoke-virtual {p1, v4}, Landroid/graphics/Canvas;->rotate(F)V invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getHeight()I move-result v4 neg-int v4, v4 add-int/2addr v4, v3 int-to-float v3, v4 const/4 v4, 0x0 invoke-virtual {p1, v3, v4}, Landroid/graphics/Canvas;->translate(FF)V iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; if-eqz v3, :cond_2 invoke-virtual {v3, p1}, Landroid/widget/EdgeEffect;->draw(Landroid/graphics/Canvas;)Z move-result v3 if-eqz v3, :cond_2 const/4 v3, 0x1 goto :goto_2 :cond_2 const/4 v3, 0x0 :goto_2 invoke-virtual {p1, v0}, Landroid/graphics/Canvas;->restoreToCount(I)V goto :goto_3 :cond_3 const/4 v3, 0x0 :goto_3 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; if-eqz v0, :cond_6 invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z move-result v0 if-nez v0, :cond_6 invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I move-result v0 iget-boolean v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z if-eqz v4, :cond_4 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingLeft()I move-result v4 int-to-float v4, v4 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingTop()I move-result v5 int-to-float v5, v5 invoke-virtual {p1, v4, v5}, Landroid/graphics/Canvas;->translate(FF)V :cond_4 iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; if-eqz v4, :cond_5 invoke-virtual {v4, p1}, Landroid/widget/EdgeEffect;->draw(Landroid/graphics/Canvas;)Z move-result v4 if-eqz v4, :cond_5 const/4 v4, 0x1 goto :goto_4 :cond_5 const/4 v4, 0x0 :goto_4 or-int/2addr v3, v4 invoke-virtual {p1, v0}, Landroid/graphics/Canvas;->restoreToCount(I)V :cond_6 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; if-eqz v0, :cond_9 invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z move-result v0 if-nez v0, :cond_9 invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I move-result v0 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I move-result v4 iget-boolean v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z if-eqz v5, :cond_7 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingTop()I move-result v5 goto :goto_5 :cond_7 const/4 v5, 0x0 :goto_5 const/high16 v6, 0x42b40000 # 90.0f invoke-virtual {p1, v6}, Landroid/graphics/Canvas;->rotate(F)V neg-int v5, v5 int-to-float v5, v5 neg-int v4, v4 int-to-float v4, v4 invoke-virtual {p1, v5, v4}, Landroid/graphics/Canvas;->translate(FF)V iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; if-eqz v4, :cond_8 invoke-virtual {v4, p1}, Landroid/widget/EdgeEffect;->draw(Landroid/graphics/Canvas;)Z move-result v4 if-eqz v4, :cond_8 const/4 v4, 0x1 goto :goto_6 :cond_8 const/4 v4, 0x0 :goto_6 or-int/2addr v3, v4 invoke-virtual {p1, v0}, Landroid/graphics/Canvas;->restoreToCount(I)V :cond_9 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; if-eqz v0, :cond_c invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z move-result v0 if-nez v0, :cond_c invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I move-result v0 const/high16 v4, 0x43340000 # 180.0f invoke-virtual {p1, v4}, Landroid/graphics/Canvas;->rotate(F)V iget-boolean v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z if-eqz v4, :cond_a invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I move-result v4 neg-int v4, v4 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingRight()I move-result v5 add-int/2addr v4, v5 int-to-float v4, v4 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getHeight()I move-result v5 neg-int v5, v5 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingBottom()I move-result v6 add-int/2addr v5, v6 int-to-float v5, v5 invoke-virtual {p1, v4, v5}, Landroid/graphics/Canvas;->translate(FF)V goto :goto_7 :cond_a invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I move-result v4 neg-int v4, v4 int-to-float v4, v4 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getHeight()I move-result v5 neg-int v5, v5 int-to-float v5, v5 invoke-virtual {p1, v4, v5}, Landroid/graphics/Canvas;->translate(FF)V :goto_7 iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; if-eqz v4, :cond_b invoke-virtual {v4, p1}, Landroid/widget/EdgeEffect;->draw(Landroid/graphics/Canvas;)Z move-result v4 if-eqz v4, :cond_b const/4 v1, 0x1 :cond_b or-int/2addr v1, v3 invoke-virtual {p1, v0}, Landroid/graphics/Canvas;->restoreToCount(I)V goto :goto_8 :cond_c move v1, v3 :goto_8 if-nez v1, :cond_d iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; if-eqz p1, :cond_d iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; invoke-virtual {p1}, Ljava/util/ArrayList;->size()I move-result p1 if-lez p1, :cond_d iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->isRunning()Z move-result p1 if-eqz p1, :cond_d const/4 v1, 0x1 :cond_d if-eqz v1, :cond_e invoke-static {p0}, Landroidx/core/view/ViewCompat;->postInvalidateOnAnimation(Landroid/view/View;)V :cond_e return-void .end method .method public drawChild(Landroid/graphics/Canvas;Landroid/view/View;J)Z .locals 0 invoke-super {p0, p1, p2, p3, p4}, Landroid/view/ViewGroup;->drawChild(Landroid/graphics/Canvas;Landroid/view/View;J)Z move-result p1 return p1 .end method .method ensureBottomGlow()V .locals 4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; if-eqz v0, :cond_0 return-void :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory; const/4 v1, 0x3 invoke-virtual {v0, p0, v1}, Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;->createEdgeEffect(Landroidx/recyclerview/widget/RecyclerView;I)Landroid/widget/EdgeEffect; move-result-object v0 iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z if-eqz v0, :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; 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 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 invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V return-void :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; 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 return-void .end method .method ensureLeftGlow()V .locals 4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; if-eqz v0, :cond_0 return-void :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory; const/4 v1, 0x0 invoke-virtual {v0, p0, v1}, Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;->createEdgeEffect(Landroidx/recyclerview/widget/RecyclerView;I)Landroid/widget/EdgeEffect; move-result-object v0 iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z if-eqz v0, :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; 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 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 invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V return-void :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; 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 return-void .end method .method ensureRightGlow()V .locals 4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; if-eqz v0, :cond_0 return-void :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory; const/4 v1, 0x2 invoke-virtual {v0, p0, v1}, Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;->createEdgeEffect(Landroidx/recyclerview/widget/RecyclerView;I)Landroid/widget/EdgeEffect; move-result-object v0 iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z if-eqz v0, :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; 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 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 invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V return-void :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; 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 return-void .end method .method ensureTopGlow()V .locals 4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; if-eqz v0, :cond_0 return-void :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory; const/4 v1, 0x1 invoke-virtual {v0, p0, v1}, Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;->createEdgeEffect(Landroidx/recyclerview/widget/RecyclerView;I)Landroid/widget/EdgeEffect; move-result-object v0 iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z if-eqz v0, :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; 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 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 invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V return-void :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; 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 return-void .end method .method exceptionLabel()Ljava/lang/String; .locals 2 new-instance v0, Ljava/lang/StringBuilder; const-string v1, " " invoke-direct {v0, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-super {p0}, Landroid/view/ViewGroup;->toString()Ljava/lang/String; move-result-object v1 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v1, ", adapter:" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; const-string v1, ", layout:" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; const-string v1, ", context:" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p0}, 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 return-object v0 .end method .method final fillRemainingScrollValues(Landroidx/recyclerview/widget/RecyclerView$State;)V .locals 3 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollState()I move-result v0 const/4 v1, 0x2 if-ne v0, v1, :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$ViewFlinger; iget-object v0, v0, Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;->mScroller:Landroid/widget/OverScroller; invoke-virtual {v0}, Landroid/widget/OverScroller;->getFinalX()I move-result v1 invoke-virtual {v0}, Landroid/widget/OverScroller;->getCurrX()I move-result v2 sub-int/2addr v1, v2 iput v1, p1, Landroidx/recyclerview/widget/RecyclerView$State;->mRemainingScrollHorizontal:I invoke-virtual {v0}, Landroid/widget/OverScroller;->getFinalY()I move-result v1 invoke-virtual {v0}, Landroid/widget/OverScroller;->getCurrY()I move-result v0 sub-int/2addr v1, v0 iput v1, p1, Landroidx/recyclerview/widget/RecyclerView$State;->mRemainingScrollVertical:I return-void :cond_0 const/4 v0, 0x0 iput v0, p1, Landroidx/recyclerview/widget/RecyclerView$State;->mRemainingScrollHorizontal:I iput v0, p1, Landroidx/recyclerview/widget/RecyclerView$State;->mRemainingScrollVertical:I return-void .end method .method public findChildViewUnder(FF)Landroid/view/View; .locals 5 .annotation build Landroidx/annotation/Nullable; .end annotation iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I move-result v0 add-int/lit8 v0, v0, -0x1 :goto_0 if-ltz v0, :cond_1 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v1, v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View; move-result-object v1 invoke-virtual {v1}, Landroid/view/View;->getTranslationX()F move-result v2 invoke-virtual {v1}, Landroid/view/View;->getTranslationY()F move-result v3 invoke-virtual {v1}, Landroid/view/View;->getLeft()I move-result v4 int-to-float v4, v4 add-float/2addr v4, v2 cmpl-float v4, p1, v4 if-ltz v4, :cond_0 invoke-virtual {v1}, Landroid/view/View;->getRight()I move-result v4 int-to-float v4, v4 add-float/2addr v4, v2 cmpg-float v2, p1, v4 if-gtz v2, :cond_0 invoke-virtual {v1}, Landroid/view/View;->getTop()I move-result v2 int-to-float v2, v2 add-float/2addr v2, v3 cmpl-float v2, p2, v2 if-ltz v2, :cond_0 invoke-virtual {v1}, Landroid/view/View;->getBottom()I move-result v2 int-to-float v2, v2 add-float/2addr v2, v3 cmpg-float v2, p2, v2 if-gtz v2, :cond_0 return-object v1 :cond_0 add-int/lit8 v0, v0, -0x1 goto :goto_0 :cond_1 const/4 p1, 0x0 return-object p1 .end method .method public findContainingItemView(Landroid/view/View;)Landroid/view/View; .locals 2 .param p1 # Landroid/view/View; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .annotation build Landroidx/annotation/Nullable; .end annotation invoke-virtual {p1}, Landroid/view/View;->getParent()Landroid/view/ViewParent; move-result-object v0 :goto_0 if-eqz v0, :cond_0 if-eq v0, p0, :cond_0 instance-of v1, v0, Landroid/view/View; if-eqz v1, :cond_0 move-object p1, v0 check-cast p1, Landroid/view/View; invoke-virtual {p1}, Landroid/view/View;->getParent()Landroid/view/ViewParent; move-result-object v0 goto :goto_0 :cond_0 if-ne v0, p0, :cond_1 return-object p1 :cond_1 const/4 p1, 0x0 return-object p1 .end method .method public findContainingViewHolder(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; .locals 0 .param p1 # Landroid/view/View; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .annotation build Landroidx/annotation/Nullable; .end annotation invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->findContainingItemView(Landroid/view/View;)Landroid/view/View; move-result-object p1 if-nez p1, :cond_0 const/4 p1, 0x0 return-object p1 :cond_0 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolder(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object p1 return-object p1 .end method .method public findViewHolderForAdapterPosition(I)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; .locals 5 .annotation build Landroidx/annotation/Nullable; .end annotation iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z const/4 v1, 0x0 if-eqz v0, :cond_0 return-object v1 :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I move-result v0 const/4 v2, 0x0 :goto_0 if-ge v2, v0, :cond_3 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View; move-result-object v3 invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v3 if-eqz v3, :cond_2 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isRemoved()Z move-result v4 if-nez v4, :cond_2 invoke-virtual {p0, v3}, Landroidx/recyclerview/widget/RecyclerView;->getAdapterPositionFor(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)I move-result v4 if-ne v4, p1, :cond_2 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; iget-object v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; invoke-virtual {v1, v4}, Landroidx/recyclerview/widget/ChildHelper;->isHidden(Landroid/view/View;)Z move-result v1 if-eqz v1, :cond_1 move-object v1, v3 goto :goto_1 :cond_1 return-object v3 :cond_2 :goto_1 add-int/lit8 v2, v2, 0x1 goto :goto_0 :cond_3 return-object v1 .end method .method public findViewHolderForItemId(J)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; .locals 7 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; const/4 v1, 0x0 if-eqz v0, :cond_4 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z move-result v0 if-nez v0, :cond_0 goto :goto_2 :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I move-result v0 const/4 v2, 0x0 :goto_0 if-ge v2, v0, :cond_3 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View; move-result-object v3 invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v3 if-eqz v3, :cond_2 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isRemoved()Z move-result v4 if-nez v4, :cond_2 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getItemId()J move-result-wide v4 cmp-long v6, v4, p1 if-nez v6, :cond_2 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; iget-object v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; invoke-virtual {v1, v4}, Landroidx/recyclerview/widget/ChildHelper;->isHidden(Landroid/view/View;)Z move-result v1 if-eqz v1, :cond_1 move-object v1, v3 goto :goto_1 :cond_1 return-object v3 :cond_2 :goto_1 add-int/lit8 v2, v2, 0x1 goto :goto_0 :cond_3 return-object v1 :cond_4 :goto_2 return-object v1 .end method .method public findViewHolderForLayoutPosition(I)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; .locals 1 .annotation build Landroidx/annotation/Nullable; .end annotation const/4 v0, 0x0 invoke-virtual {p0, p1, v0}, Landroidx/recyclerview/widget/RecyclerView;->findViewHolderForPosition(IZ)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object p1 return-object p1 .end method .method public findViewHolderForPosition(I)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; .locals 1 .annotation build Landroidx/annotation/Nullable; .end annotation .annotation runtime Ljava/lang/Deprecated; .end annotation const/4 v0, 0x0 invoke-virtual {p0, p1, v0}, Landroidx/recyclerview/widget/RecyclerView;->findViewHolderForPosition(IZ)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object p1 return-object p1 .end method .method findViewHolderForPosition(IZ)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; .locals 5 .annotation build Landroidx/annotation/Nullable; .end annotation iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I move-result v0 const/4 v1, 0x0 const/4 v2, 0x0 :goto_0 if-ge v2, v0, :cond_4 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View; move-result-object v3 invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v3 if-eqz v3, :cond_3 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isRemoved()Z move-result v4 if-nez v4, :cond_3 if-eqz p2, :cond_0 iget v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I if-eq v4, p1, :cond_1 goto :goto_1 :cond_0 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getLayoutPosition()I move-result v4 if-ne v4, p1, :cond_3 :cond_1 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; iget-object v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; invoke-virtual {v1, v4}, Landroidx/recyclerview/widget/ChildHelper;->isHidden(Landroid/view/View;)Z move-result v1 if-eqz v1, :cond_2 move-object v1, v3 goto :goto_1 :cond_2 return-object v3 :cond_3 :goto_1 add-int/lit8 v2, v2, 0x1 goto :goto_0 :cond_4 return-object v1 .end method .method public fling(II)Z .locals 7 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; const/4 v1, 0x0 if-nez v0, :cond_0 const-string p1, "RecyclerView" const-string p2, "Cannot fling without a LayoutManager set. Call setLayoutManager with a non-null argument." invoke-static {p1, p2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I return v1 :cond_0 iget-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutFrozen:Z if-eqz v2, :cond_1 return v1 :cond_1 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z move-result v0 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z move-result v2 if-eqz v0, :cond_2 invoke-static {p1}, Ljava/lang/Math;->abs(I)I move-result v3 iget v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinFlingVelocity:I if-ge v3, v4, :cond_3 :cond_2 const/4 p1, 0x0 :cond_3 if-eqz v2, :cond_4 invoke-static {p2}, Ljava/lang/Math;->abs(I)I move-result v3 iget v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinFlingVelocity:I if-ge v3, v4, :cond_5 :cond_4 const/4 p2, 0x0 :cond_5 if-nez p1, :cond_6 if-nez p2, :cond_6 return v1 :cond_6 int-to-float v3, p1 int-to-float v4, p2 invoke-virtual {p0, v3, v4}, Landroidx/recyclerview/widget/RecyclerView;->dispatchNestedPreFling(FF)Z move-result v5 if-nez v5, :cond_b const/4 v5, 0x1 if-nez v0, :cond_8 if-eqz v2, :cond_7 goto :goto_0 :cond_7 const/4 v6, 0x0 goto :goto_1 :cond_8 :goto_0 const/4 v6, 0x1 :goto_1 invoke-virtual {p0, v3, v4, v6}, Landroidx/recyclerview/widget/RecyclerView;->dispatchNestedFling(FFZ)Z iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnFlingListener:Landroidx/recyclerview/widget/RecyclerView$OnFlingListener; if-eqz v3, :cond_9 invoke-virtual {v3, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$OnFlingListener;->onFling(II)Z move-result v3 if-eqz v3, :cond_9 return v5 :cond_9 if-eqz v6, :cond_b if-eqz v2, :cond_a or-int/lit8 v0, v0, 0x2 :cond_a invoke-virtual {p0, v0, v5}, Landroidx/recyclerview/widget/RecyclerView;->startNestedScroll(II)Z iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMaxFlingVelocity:I neg-int v1, v0 invoke-static {p1, v0}, Ljava/lang/Math;->min(II)I move-result p1 invoke-static {v1, p1}, Ljava/lang/Math;->max(II)I move-result p1 iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMaxFlingVelocity:I neg-int v1, v0 invoke-static {p2, v0}, Ljava/lang/Math;->min(II)I move-result p2 invoke-static {v1, p2}, Ljava/lang/Math;->max(II)I move-result p2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$ViewFlinger; invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;->fling(II)V return v5 :cond_b return v1 .end method .method public focusSearch(Landroid/view/View;I)Landroid/view/View; .locals 8 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onInterceptFocusSearch(Landroid/view/View;I)Landroid/view/View; move-result-object v0 if-eqz v0, :cond_0 return-object v0 :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; const/4 v1, 0x1 const/4 v2, 0x0 if-eqz v0, :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz v0, :cond_1 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isComputingLayout()Z move-result v0 if-nez v0, :cond_1 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutFrozen:Z if-nez v0, :cond_1 const/4 v0, 0x1 goto :goto_0 :cond_1 const/4 v0, 0x0 :goto_0 invoke-static {}, Landroid/view/FocusFinder;->getInstance()Landroid/view/FocusFinder; move-result-object v3 const/4 v4, 0x0 if-eqz v0, :cond_e const/4 v5, 0x2 if-eq p2, v5, :cond_2 if-ne p2, v1, :cond_e :cond_2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z move-result v0 if-eqz v0, :cond_5 if-ne p2, v5, :cond_3 const/16 v0, 0x82 goto :goto_1 :cond_3 const/16 v0, 0x21 :goto_1 invoke-virtual {v3, p0, p1, v0}, Landroid/view/FocusFinder;->findNextFocus(Landroid/view/ViewGroup;Landroid/view/View;I)Landroid/view/View; move-result-object v6 if-nez v6, :cond_4 const/4 v6, 0x1 goto :goto_2 :cond_4 const/4 v6, 0x0 :goto_2 sget-boolean v7, Landroidx/recyclerview/widget/RecyclerView;->FORCE_ABS_FOCUS_SEARCH_DIRECTION:Z if-eqz v7, :cond_6 move p2, v0 goto :goto_3 :cond_5 const/4 v6, 0x0 :cond_6 :goto_3 if-nez v6, :cond_b iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z move-result v0 if-eqz v0, :cond_b iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->getLayoutDirection()I move-result v0 if-ne v0, v1, :cond_7 const/4 v0, 0x1 goto :goto_4 :cond_7 const/4 v0, 0x0 :goto_4 if-ne p2, v5, :cond_8 const/4 v5, 0x1 goto :goto_5 :cond_8 const/4 v5, 0x0 :goto_5 xor-int/2addr v0, v5 if-eqz v0, :cond_9 const/16 v0, 0x42 goto :goto_6 :cond_9 const/16 v0, 0x11 :goto_6 invoke-virtual {v3, p0, p1, v0}, Landroid/view/FocusFinder;->findNextFocus(Landroid/view/ViewGroup;Landroid/view/View;I)Landroid/view/View; move-result-object v5 if-nez v5, :cond_a const/4 v6, 0x1 goto :goto_7 :cond_a const/4 v6, 0x0 :goto_7 sget-boolean v1, Landroidx/recyclerview/widget/RecyclerView;->FORCE_ABS_FOCUS_SEARCH_DIRECTION:Z if-eqz v1, :cond_b move p2, v0 :cond_b if-eqz v6, :cond_d invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->consumePendingUpdateOperations()V invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->findContainingItemView(Landroid/view/View;)Landroid/view/View; move-result-object v0 if-nez v0, :cond_c return-object v4 :cond_c invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {v0, p1, p2, v1, v5}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onFocusSearchFailed(Landroid/view/View;ILandroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)Landroid/view/View; invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V :cond_d invoke-virtual {v3, p0, p1, p2}, Landroid/view/FocusFinder;->findNextFocus(Landroid/view/ViewGroup;Landroid/view/View;I)Landroid/view/View; move-result-object v0 goto :goto_8 :cond_e invoke-virtual {v3, p0, p1, p2}, Landroid/view/FocusFinder;->findNextFocus(Landroid/view/ViewGroup;Landroid/view/View;I)Landroid/view/View; move-result-object v1 if-nez v1, :cond_10 if-eqz v0, :cond_10 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->consumePendingUpdateOperations()V invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->findContainingItemView(Landroid/view/View;)Landroid/view/View; move-result-object v0 if-nez v0, :cond_f return-object v4 :cond_f invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {v0, p1, p2, v1, v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onFocusSearchFailed(Landroid/view/View;ILandroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)Landroid/view/View; move-result-object v0 invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V goto :goto_8 :cond_10 move-object v0, v1 :goto_8 if-eqz v0, :cond_12 invoke-virtual {v0}, Landroid/view/View;->hasFocusable()Z move-result v1 if-nez v1, :cond_12 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getFocusedChild()Landroid/view/View; move-result-object v1 if-nez v1, :cond_11 invoke-super {p0, p1, p2}, Landroid/view/ViewGroup;->focusSearch(Landroid/view/View;I)Landroid/view/View; move-result-object p1 return-object p1 :cond_11 invoke-direct {p0, v0, v4}, Landroidx/recyclerview/widget/RecyclerView;->requestChildOnScreen(Landroid/view/View;Landroid/view/View;)V return-object p1 :cond_12 invoke-direct {p0, p1, v0, p2}, Landroidx/recyclerview/widget/RecyclerView;->isPreferredNextFocus(Landroid/view/View;Landroid/view/View;I)Z move-result v1 if-eqz v1, :cond_13 return-object v0 :cond_13 invoke-super {p0, p1, p2}, Landroid/view/ViewGroup;->focusSearch(Landroid/view/View;I)Landroid/view/View; move-result-object p1 return-object p1 .end method .method protected generateDefaultLayoutParams()Landroid/view/ViewGroup$LayoutParams; .locals 3 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz v0, :cond_0 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->generateDefaultLayoutParams()Landroidx/recyclerview/widget/RecyclerView$LayoutParams; move-result-object v0 return-object v0 :cond_0 new-instance v0, Ljava/lang/IllegalStateException; new-instance v1, Ljava/lang/StringBuilder; const-string v2, "RecyclerView has no LayoutManager" invoke-direct {v1, v2}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String; move-result-object v2 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw v0 .end method .method public generateLayoutParams(Landroid/util/AttributeSet;)Landroid/view/ViewGroup$LayoutParams; .locals 2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz v0, :cond_0 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getContext()Landroid/content/Context; move-result-object v1 invoke-virtual {v0, v1, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->generateLayoutParams(Landroid/content/Context;Landroid/util/AttributeSet;)Landroidx/recyclerview/widget/RecyclerView$LayoutParams; move-result-object p1 return-object p1 :cond_0 new-instance p1, Ljava/lang/IllegalStateException; new-instance v0, Ljava/lang/StringBuilder; const-string v1, "RecyclerView has no LayoutManager" invoke-direct {v0, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String; move-result-object v1 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw p1 .end method .method protected generateLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Landroid/view/ViewGroup$LayoutParams; .locals 2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz v0, :cond_0 invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->generateLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Landroidx/recyclerview/widget/RecyclerView$LayoutParams; move-result-object p1 return-object p1 :cond_0 new-instance p1, Ljava/lang/IllegalStateException; new-instance v0, Ljava/lang/StringBuilder; const-string v1, "RecyclerView has no LayoutManager" invoke-direct {v0, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String; move-result-object v1 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw p1 .end method .method public getAdapter()Landroidx/recyclerview/widget/RecyclerView$Adapter; .locals 1 .annotation build Landroidx/annotation/Nullable; .end annotation iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; return-object v0 .end method .method getAdapterPositionFor(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)I .locals 1 const/16 v0, 0x20c invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->hasAnyOfTheFlags(I)Z move-result v0 if-nez v0, :cond_1 invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isBound()Z move-result v0 if-nez v0, :cond_0 goto :goto_0 :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper; iget p1, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/AdapterHelper;->applyPendingUpdatesToPosition(I)I move-result p1 return p1 :cond_1 :goto_0 const/4 p1, -0x1 return p1 .end method .method public getBaseline()I .locals 1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz v0, :cond_0 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->getBaseline()I move-result v0 return v0 :cond_0 invoke-super {p0}, Landroid/view/ViewGroup;->getBaseline()I move-result v0 return v0 .end method .method getChangedHolderKey(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)J .locals 2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z move-result v0 if-eqz v0, :cond_0 invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getItemId()J move-result-wide v0 return-wide v0 :cond_0 iget p1, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I int-to-long v0, p1 return-wide v0 .end method .method public getChildAdapterPosition(Landroid/view/View;)I .locals 0 .param p1 # Landroid/view/View; .annotation build Landroidx/annotation/NonNull; .end annotation .end param invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object p1 if-eqz p1, :cond_0 invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getAdapterPosition()I move-result p1 return p1 :cond_0 const/4 p1, -0x1 return p1 .end method .method protected getChildDrawingOrder(II)I .locals 1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildDrawingOrderCallback:Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback; if-nez v0, :cond_0 invoke-super {p0, p1, p2}, Landroid/view/ViewGroup;->getChildDrawingOrder(II)I move-result p1 return p1 :cond_0 invoke-interface {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback;->onGetChildDrawingOrder(II)I move-result p1 return p1 .end method .method public getChildItemId(Landroid/view/View;)J .locals 3 .param p1 # Landroid/view/View; .annotation build Landroidx/annotation/NonNull; .end annotation .end param iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; const-wide/16 v1, -0x1 if-eqz v0, :cond_2 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z move-result v0 if-nez v0, :cond_0 goto :goto_0 :cond_0 invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object p1 if-eqz p1, :cond_1 invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getItemId()J move-result-wide v0 return-wide v0 :cond_1 return-wide v1 :cond_2 :goto_0 return-wide v1 .end method .method public getChildLayoutPosition(Landroid/view/View;)I .locals 0 .param p1 # Landroid/view/View; .annotation build Landroidx/annotation/NonNull; .end annotation .end param invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object p1 if-eqz p1, :cond_0 invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getLayoutPosition()I move-result p1 return p1 :cond_0 const/4 p1, -0x1 return p1 .end method .method public getChildPosition(Landroid/view/View;)I .locals 0 .param p1 # Landroid/view/View; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .annotation runtime Ljava/lang/Deprecated; .end annotation invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildAdapterPosition(Landroid/view/View;)I move-result p1 return p1 .end method .method public getChildViewHolder(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; .locals 3 .param p1 # Landroid/view/View; .annotation build Landroidx/annotation/NonNull; .end annotation .end param invoke-virtual {p1}, Landroid/view/View;->getParent()Landroid/view/ViewParent; move-result-object v0 if-eqz v0, :cond_1 if-ne v0, p0, :cond_0 goto :goto_0 :cond_0 new-instance v0, Ljava/lang/IllegalArgumentException; new-instance v1, Ljava/lang/StringBuilder; const-string v2, "View " invoke-direct {v1, v2}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; const-string p1, " is not a direct child of " invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 invoke-direct {v0, p1}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw v0 :cond_1 :goto_0 invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object p1 return-object p1 .end method .method public getClipToPadding()Z .locals 1 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z return v0 .end method .method public getCompatAccessibilityDelegate()Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate; .locals 1 .annotation build Landroidx/annotation/Nullable; .end annotation iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAccessibilityDelegate:Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate; return-object v0 .end method .method public getDecoratedBoundsWithMargins(Landroid/view/View;Landroid/graphics/Rect;)V .locals 0 .param p1 # Landroid/view/View; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p2 # Landroid/graphics/Rect; .annotation build Landroidx/annotation/NonNull; .end annotation .end param invoke-static {p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->getDecoratedBoundsWithMarginsInt(Landroid/view/View;Landroid/graphics/Rect;)V return-void .end method .method public getEdgeEffectFactory()Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory; .locals 1 .annotation build Landroidx/annotation/NonNull; .end annotation iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory; return-object v0 .end method .method public getItemAnimator()Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; .locals 1 .annotation build Landroidx/annotation/Nullable; .end annotation iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; return-object v0 .end method .method getItemDecorInsetsForChild(Landroid/view/View;)Landroid/graphics/Rect; .locals 8 invoke-virtual {p1}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams; move-result-object v0 check-cast v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams; iget-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mInsetsDirty:Z if-nez v1, :cond_0 iget-object p1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mDecorInsets:Landroid/graphics/Rect; return-object p1 :cond_0 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$State;->isPreLayout()Z move-result v1 if-eqz v1, :cond_2 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->isItemChanged()Z move-result v1 if-nez v1, :cond_1 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->isViewInvalid()Z move-result v1 if-eqz v1, :cond_2 :cond_1 iget-object p1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mDecorInsets:Landroid/graphics/Rect; return-object p1 :cond_2 iget-object v1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mDecorInsets:Landroid/graphics/Rect; const/4 v2, 0x0 invoke-virtual {v1, v2, v2, v2, v2}, Landroid/graphics/Rect;->set(IIII)V iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; invoke-virtual {v3}, Ljava/util/ArrayList;->size()I move-result v3 const/4 v4, 0x0 :goto_0 if-ge v4, v3, :cond_3 iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; invoke-virtual {v5, v2, v2, v2, v2}, Landroid/graphics/Rect;->set(IIII)V iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; invoke-virtual {v5, v4}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v5 check-cast v5, Landroidx/recyclerview/widget/RecyclerView$ItemDecoration; iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {v5, v6, p1, p0, v7}, Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;->getItemOffsets(Landroid/graphics/Rect;Landroid/view/View;Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$State;)V iget v5, v1, Landroid/graphics/Rect;->left:I iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; iget v6, v6, Landroid/graphics/Rect;->left:I add-int/2addr v5, v6 iput v5, v1, Landroid/graphics/Rect;->left:I 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 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 iget v5, v1, Landroid/graphics/Rect;->bottom:I iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; iget v6, v6, Landroid/graphics/Rect;->bottom:I add-int/2addr v5, v6 iput v5, v1, Landroid/graphics/Rect;->bottom:I add-int/lit8 v4, v4, 0x1 goto :goto_0 :cond_3 iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mInsetsDirty:Z return-object v1 .end method .method public getItemDecorationAt(I)Landroidx/recyclerview/widget/RecyclerView$ItemDecoration; .locals 3 .annotation build Landroidx/annotation/NonNull; .end annotation invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getItemDecorationCount()I move-result v0 if-ltz p1, :cond_0 if-ge p1, v0, :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; invoke-virtual {v0, p1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object p1 check-cast p1, Landroidx/recyclerview/widget/RecyclerView$ItemDecoration; return-object p1 :cond_0 new-instance v1, Ljava/lang/IndexOutOfBoundsException; new-instance v2, Ljava/lang/StringBuilder; invoke-direct {v2}, Ljava/lang/StringBuilder;->()V invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; const-string p1, " is an invalid index for size " invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 invoke-direct {v1, p1}, Ljava/lang/IndexOutOfBoundsException;->(Ljava/lang/String;)V throw v1 .end method .method public getItemDecorationCount()I .locals 1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; invoke-virtual {v0}, Ljava/util/ArrayList;->size()I move-result v0 return v0 .end method .method public getLayoutManager()Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .locals 1 .annotation build Landroidx/annotation/Nullable; .end annotation iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; return-object v0 .end method .method public getMaxFlingVelocity()I .locals 1 iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMaxFlingVelocity:I return v0 .end method .method public getMinFlingVelocity()I .locals 1 iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinFlingVelocity:I return v0 .end method .method getNanoTime()J .locals 2 sget-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->ALLOW_THREAD_GAP_WORK:Z if-eqz v0, :cond_0 invoke-static {}, Ljava/lang/System;->nanoTime()J move-result-wide v0 return-wide v0 :cond_0 const-wide/16 v0, 0x0 return-wide v0 .end method .method public getOnFlingListener()Landroidx/recyclerview/widget/RecyclerView$OnFlingListener; .locals 1 .annotation build Landroidx/annotation/Nullable; .end annotation iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnFlingListener:Landroidx/recyclerview/widget/RecyclerView$OnFlingListener; return-object v0 .end method .method public getPreserveFocusAfterLayout()Z .locals 1 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPreserveFocusAfterLayout:Z return v0 .end method .method public getRecycledViewPool()Landroidx/recyclerview/widget/RecyclerView$RecycledViewPool; .locals 1 .annotation build Landroidx/annotation/NonNull; .end annotation iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->getRecycledViewPool()Landroidx/recyclerview/widget/RecyclerView$RecycledViewPool; move-result-object v0 return-object v0 .end method .method public getScrollState()I .locals 1 iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I return v0 .end method .method public hasFixedSize()Z .locals 1 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mHasFixedSize:Z return v0 .end method .method public hasNestedScrollingParent()Z .locals 1 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper; move-result-object v0 invoke-virtual {v0}, Landroidx/core/view/NestedScrollingChildHelper;->hasNestedScrollingParent()Z move-result v0 return v0 .end method .method public hasNestedScrollingParent(I)Z .locals 1 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper; move-result-object v0 invoke-virtual {v0, p1}, Landroidx/core/view/NestedScrollingChildHelper;->hasNestedScrollingParent(I)Z move-result p1 return p1 .end method .method public hasPendingAdapterUpdates()Z .locals 1 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z if-eqz v0, :cond_1 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z if-nez v0, :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->hasPendingUpdates()Z move-result v0 if-eqz v0, :cond_0 goto :goto_0 :cond_0 const/4 v0, 0x0 return v0 :cond_1 :goto_0 const/4 v0, 0x1 return v0 .end method .method initAdapterManager()V .locals 2 new-instance v0, Landroidx/recyclerview/widget/AdapterHelper; new-instance v1, Landroidx/recyclerview/widget/RecyclerView$6; invoke-direct {v1, p0}, Landroidx/recyclerview/widget/RecyclerView$6;->(Landroidx/recyclerview/widget/RecyclerView;)V invoke-direct {v0, v1}, Landroidx/recyclerview/widget/AdapterHelper;->(Landroidx/recyclerview/widget/AdapterHelper$Callback;)V iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper; return-void .end method .method initFastScroller(Landroid/graphics/drawable/StateListDrawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/StateListDrawable;Landroid/graphics/drawable/Drawable;)V .locals 10 .annotation build Landroidx/annotation/VisibleForTesting; .end annotation if-eqz p1, :cond_0 if-eqz p2, :cond_0 if-eqz p3, :cond_0 if-eqz p4, :cond_0 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 new-instance v1, Landroidx/recyclerview/widget/FastScroller; sget v2, Landroidx/recyclerview/R$dimen;->fastscroll_default_thickness:I invoke-virtual {v0, v2}, Landroid/content/res/Resources;->getDimensionPixelSize(I)I move-result v7 sget v2, Landroidx/recyclerview/R$dimen;->fastscroll_minimum_range:I invoke-virtual {v0, v2}, Landroid/content/res/Resources;->getDimensionPixelSize(I)I move-result v8 sget v2, Landroidx/recyclerview/R$dimen;->fastscroll_margin:I invoke-virtual {v0, v2}, Landroid/content/res/Resources;->getDimensionPixelOffset(I)I move-result v9 move-object v2, p0 move-object v3, p1 move-object v4, p2 move-object v5, p3 move-object v6, p4 invoke-direct/range {v1 .. v9}, Landroidx/recyclerview/widget/FastScroller;->(Landroidx/recyclerview/widget/RecyclerView;Landroid/graphics/drawable/StateListDrawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/StateListDrawable;Landroid/graphics/drawable/Drawable;III)V return-void :cond_0 new-instance p1, Ljava/lang/IllegalArgumentException; new-instance p2, Ljava/lang/StringBuilder; const-string p3, "Trying to set fast scroller without both required drawables." invoke-direct {p2, p3}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String; move-result-object p3 invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p2 invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p1 .end method .method invalidateGlows()V .locals 1 const/4 v0, 0x0 iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; return-void .end method .method public invalidateItemDecorations()V .locals 2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; invoke-virtual {v0}, Ljava/util/ArrayList;->size()I move-result v0 if-nez v0, :cond_0 return-void :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz v0, :cond_1 const-string v1, "Cannot invalidate item decorations during a scroll or layout" invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->assertNotInLayoutOrScroll(Ljava/lang/String;)V :cond_1 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->markItemDecorInsetsDirty()V invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V return-void .end method .method isAccessibilityEnabled()Z .locals 1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAccessibilityManager:Landroid/view/accessibility/AccessibilityManager; if-eqz v0, :cond_0 invoke-virtual {v0}, Landroid/view/accessibility/AccessibilityManager;->isEnabled()Z move-result v0 if-eqz v0, :cond_0 const/4 v0, 0x1 return v0 :cond_0 const/4 v0, 0x0 return v0 .end method .method public isAnimating()Z .locals 1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; if-eqz v0, :cond_0 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->isRunning()Z move-result v0 if-eqz v0, :cond_0 const/4 v0, 0x1 return v0 :cond_0 const/4 v0, 0x0 return v0 .end method .method public isAttachedToWindow()Z .locals 1 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mIsAttached:Z return v0 .end method .method public isComputingLayout()Z .locals 1 iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I if-lez v0, :cond_0 const/4 v0, 0x1 return v0 :cond_0 const/4 v0, 0x0 return v0 .end method .method public isLayoutFrozen()Z .locals 1 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutFrozen:Z return v0 .end method .method public isNestedScrollingEnabled()Z .locals 1 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper; move-result-object v0 invoke-virtual {v0}, Landroidx/core/view/NestedScrollingChildHelper;->isNestedScrollingEnabled()Z move-result v0 return v0 .end method .method jumpToPositionForSmoothScroller(I)V .locals 1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-nez v0, :cond_0 return-void :cond_0 invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->scrollToPosition(I)V invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->awakenScrollBars()Z return-void .end method .method markItemDecorInsetsDirty()V .locals 4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I move-result v0 const/4 v1, 0x0 :goto_0 if-ge v1, v0, :cond_0 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View; move-result-object v2 invoke-virtual {v2}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams; move-result-object v2 check-cast v2, Landroidx/recyclerview/widget/RecyclerView$LayoutParams; const/4 v3, 0x1 iput-boolean v3, v2, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mInsetsDirty:Z add-int/lit8 v1, v1, 0x1 goto :goto_0 :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->markItemDecorInsetsDirty()V return-void .end method .method markKnownViewsInvalid()V .locals 4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I move-result v0 const/4 v1, 0x0 :goto_0 if-ge v1, v0, :cond_1 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View; move-result-object v2 invoke-static {v2}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v2 if-eqz v2, :cond_0 invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z move-result v3 if-nez v3, :cond_0 const/4 v3, 0x6 invoke-virtual {v2, v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->addFlags(I)V :cond_0 add-int/lit8 v1, v1, 0x1 goto :goto_0 :cond_1 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->markItemDecorInsetsDirty()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->markKnownViewsInvalid()V return-void .end method .method public offsetChildrenHorizontal(I)V .locals 3 .param p1 # I .annotation build Landroidx/annotation/Px; .end annotation .end param iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I move-result v0 const/4 v1, 0x0 :goto_0 if-ge v1, v0, :cond_0 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View; move-result-object v2 invoke-virtual {v2, p1}, Landroid/view/View;->offsetLeftAndRight(I)V add-int/lit8 v1, v1, 0x1 goto :goto_0 :cond_0 return-void .end method .method public offsetChildrenVertical(I)V .locals 3 .param p1 # I .annotation build Landroidx/annotation/Px; .end annotation .end param iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I move-result v0 const/4 v1, 0x0 :goto_0 if-ge v1, v0, :cond_0 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View; move-result-object v2 invoke-virtual {v2, p1}, Landroid/view/View;->offsetTopAndBottom(I)V add-int/lit8 v1, v1, 0x1 goto :goto_0 :cond_0 return-void .end method .method offsetPositionRecordsForInsert(II)V .locals 5 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I move-result v0 const/4 v1, 0x0 const/4 v2, 0x0 :goto_0 if-ge v2, v0, :cond_1 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View; move-result-object v3 invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v3 if-eqz v3, :cond_0 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z move-result v4 if-nez v4, :cond_0 iget v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I if-lt v4, p1, :cond_0 invoke-virtual {v3, p2, v1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->offsetPosition(IZ)V iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; const/4 v4, 0x1 iput-boolean v4, v3, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z :cond_0 add-int/lit8 v2, v2, 0x1 goto :goto_0 :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->offsetPositionRecordsForInsert(II)V invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V return-void .end method .method offsetPositionRecordsForMove(II)V .locals 9 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I move-result v0 const/4 v1, 0x1 if-ge p1, p2, :cond_0 const/4 v2, -0x1 move v2, p1 move v3, p2 const/4 v4, -0x1 goto :goto_0 :cond_0 move v3, p1 move v2, p2 const/4 v4, 0x1 :goto_0 const/4 v5, 0x0 const/4 v6, 0x0 :goto_1 if-ge v6, v0, :cond_3 iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v7, v6}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View; move-result-object v7 invoke-static {v7}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v7 if-eqz v7, :cond_2 iget v8, v7, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I if-lt v8, v2, :cond_2 iget v8, v7, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I if-gt v8, v3, :cond_2 iget v8, v7, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I if-ne v8, p1, :cond_1 sub-int v8, p2, p1 invoke-virtual {v7, v8, v5}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->offsetPosition(IZ)V goto :goto_2 :cond_1 invoke-virtual {v7, v4, v5}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->offsetPosition(IZ)V :goto_2 iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iput-boolean v1, v7, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z :cond_2 add-int/lit8 v6, v6, 0x1 goto :goto_1 :cond_3 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->offsetPositionRecordsForMove(II)V invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V return-void .end method .method offsetPositionRecordsForRemove(IIZ)V .locals 7 add-int v0, p1, p2 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v1}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I move-result v1 const/4 v2, 0x0 :goto_0 if-ge v2, v1, :cond_2 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View; move-result-object v3 invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v3 if-eqz v3, :cond_1 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z move-result v4 if-nez v4, :cond_1 iget v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I const/4 v5, 0x1 if-lt v4, v0, :cond_0 neg-int v4, p2 invoke-virtual {v3, v4, p3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->offsetPosition(IZ)V iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iput-boolean v5, v3, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z goto :goto_1 :cond_0 iget v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I if-lt v4, p1, :cond_1 add-int/lit8 v4, p1, -0x1 neg-int v6, p2 invoke-virtual {v3, v4, v6, p3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->flagRemovedAndOffsetPosition(IIZ)V iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iput-boolean v5, v3, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z :cond_1 :goto_1 add-int/lit8 v2, v2, 0x1 goto :goto_0 :cond_2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; invoke-virtual {v0, p1, p2, p3}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->offsetPositionRecordsForRemove(IIZ)V invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V return-void .end method .method protected onAttachedToWindow()V .locals 4 invoke-super {p0}, Landroid/view/ViewGroup;->onAttachedToWindow()V const/4 v0, 0x0 iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I const/4 v1, 0x1 iput-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mIsAttached:Z iget-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z if-eqz v2, :cond_0 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isLayoutRequested()Z move-result v2 if-nez v2, :cond_0 goto :goto_0 :cond_0 const/4 v1, 0x0 :goto_0 iput-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz v1, :cond_1 invoke-virtual {v1, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->dispatchAttachedToWindow(Landroidx/recyclerview/widget/RecyclerView;)V :cond_1 iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPostedAnimatorRunner:Z sget-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->ALLOW_THREAD_GAP_WORK:Z if-eqz v0, :cond_4 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; iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/GapWorker; if-nez v0, :cond_3 new-instance v0, Landroidx/recyclerview/widget/GapWorker; invoke-direct {v0}, Landroidx/recyclerview/widget/GapWorker;->()V iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/GapWorker; invoke-static {p0}, Landroidx/core/view/ViewCompat;->getDisplay(Landroid/view/View;)Landroid/view/Display; move-result-object v0 const/high16 v1, 0x42700000 # 60.0f invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isInEditMode()Z move-result v2 if-nez v2, :cond_2 if-eqz v0, :cond_2 invoke-virtual {v0}, Landroid/view/Display;->getRefreshRate()F move-result v0 const/high16 v2, 0x41f00000 # 30.0f cmpl-float v2, v0, v2 if-ltz v2, :cond_2 goto :goto_1 :cond_2 const/high16 v0, 0x42700000 # 60.0f :goto_1 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/GapWorker; const v2, 0x4e6e6b28 # 1.0E9f div-float/2addr v2, v0 float-to-long v2, v2 iput-wide v2, v1, Landroidx/recyclerview/widget/GapWorker;->mFrameIntervalNs:J sget-object v0, Landroidx/recyclerview/widget/GapWorker;->sGapWorker:Ljava/lang/ThreadLocal; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/GapWorker; invoke-virtual {v0, v1}, Ljava/lang/ThreadLocal;->set(Ljava/lang/Object;)V :cond_3 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/GapWorker; invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/GapWorker;->add(Landroidx/recyclerview/widget/RecyclerView;)V :cond_4 return-void .end method .method public onChildAttachedToWindow(Landroid/view/View;)V .locals 0 .param p1 # Landroid/view/View; .annotation build Landroidx/annotation/NonNull; .end annotation .end param return-void .end method .method public onChildDetachedFromWindow(Landroid/view/View;)V .locals 0 .param p1 # Landroid/view/View; .annotation build Landroidx/annotation/NonNull; .end annotation .end param return-void .end method .method protected onDetachedFromWindow()V .locals 2 invoke-super {p0}, Landroid/view/ViewGroup;->onDetachedFromWindow()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; if-eqz v0, :cond_0 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->endAnimations()V :cond_0 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->stopScroll()V const/4 v0, 0x0 iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mIsAttached:Z iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz v0, :cond_1 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; invoke-virtual {v0, p0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->dispatchDetachedFromWindow(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$Recycler;)V :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingAccessibilityImportanceChange:Ljava/util/List; invoke-interface {v0}, Ljava/util/List;->clear()V 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 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; invoke-virtual {v0}, Landroidx/recyclerview/widget/ViewInfoStore;->onDetach()V sget-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->ALLOW_THREAD_GAP_WORK:Z if-eqz v0, :cond_2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/GapWorker; if-eqz v0, :cond_2 invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/GapWorker;->remove(Landroidx/recyclerview/widget/RecyclerView;)V const/4 v0, 0x0 iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/GapWorker; :cond_2 return-void .end method .method public onDraw(Landroid/graphics/Canvas;)V .locals 4 invoke-super {p0, p1}, Landroid/view/ViewGroup;->onDraw(Landroid/graphics/Canvas;)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; invoke-virtual {v0}, Ljava/util/ArrayList;->size()I move-result v0 const/4 v1, 0x0 :goto_0 if-ge v1, v0, :cond_0 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; invoke-virtual {v2, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v2 check-cast v2, Landroidx/recyclerview/widget/RecyclerView$ItemDecoration; iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {v2, p1, p0, v3}, Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;->onDraw(Landroid/graphics/Canvas;Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$State;)V add-int/lit8 v1, v1, 0x1 goto :goto_0 :cond_0 return-void .end method .method onEnterLayoutOrScroll()V .locals 1 iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I add-int/lit8 v0, v0, 0x1 iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I return-void .end method .method onExitLayoutOrScroll()V .locals 1 const/4 v0, 0x1 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll(Z)V return-void .end method .method onExitLayoutOrScroll(Z)V .locals 1 iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I add-int/lit8 v0, v0, -0x1 iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I if-gtz v0, :cond_0 const/4 v0, 0x0 iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I if-eqz p1, :cond_0 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchContentChangedIfNecessary()V invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchPendingImportantForAccessibilityChanges()V :cond_0 return-void .end method .method public onGenericMotionEvent(Landroid/view/MotionEvent;)Z .locals 5 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; const/4 v1, 0x0 if-nez v0, :cond_0 return v1 :cond_0 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutFrozen:Z if-eqz v0, :cond_1 return v1 :cond_1 invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I move-result v0 const/16 v2, 0x8 if-ne v0, v2, :cond_9 invoke-virtual {p1}, Landroid/view/MotionEvent;->getSource()I move-result v0 and-int/lit8 v0, v0, 0x2 const/4 v2, 0x0 if-eqz v0, :cond_4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z move-result v0 if-eqz v0, :cond_2 const/16 v0, 0x9 invoke-virtual {p1, v0}, Landroid/view/MotionEvent;->getAxisValue(I)F move-result v0 neg-float v0, v0 goto :goto_0 :cond_2 const/4 v0, 0x0 :goto_0 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z move-result v3 if-eqz v3, :cond_3 const/16 v3, 0xa invoke-virtual {p1, v3}, Landroid/view/MotionEvent;->getAxisValue(I)F move-result v3 goto :goto_1 :cond_3 const/4 v3, 0x0 goto :goto_1 :cond_4 invoke-virtual {p1}, Landroid/view/MotionEvent;->getSource()I move-result v0 const/high16 v3, 0x400000 and-int/2addr v0, v3 if-eqz v0, :cond_7 const/16 v0, 0x1a invoke-virtual {p1, v0}, Landroid/view/MotionEvent;->getAxisValue(I)F move-result v0 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z move-result v3 if-eqz v3, :cond_5 neg-float v0, v0 const/4 v3, 0x0 goto :goto_1 :cond_5 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z move-result v3 if-eqz v3, :cond_6 move v3, v0 const/4 v0, 0x0 goto :goto_1 :cond_6 const/4 v0, 0x0 const/4 v3, 0x0 goto :goto_1 :cond_7 const/4 v0, 0x0 const/4 v3, 0x0 :goto_1 cmpl-float v4, v0, v2 if-nez v4, :cond_8 cmpl-float v2, v3, v2 if-eqz v2, :cond_9 :cond_8 iget v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mScaledHorizontalScrollFactor:F mul-float v3, v3, v2 float-to-int v2, v3 iget v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mScaledVerticalScrollFactor:F mul-float v0, v0, v3 float-to-int v0, v0 invoke-virtual {p0, v2, v0, p1}, Landroidx/recyclerview/widget/RecyclerView;->scrollByInternal(IILandroid/view/MotionEvent;)Z :cond_9 return v1 .end method .method public onInterceptTouchEvent(Landroid/view/MotionEvent;)Z .locals 7 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutFrozen:Z const/4 v1, 0x0 if-eqz v0, :cond_0 return v1 :cond_0 invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->dispatchOnItemTouchIntercept(Landroid/view/MotionEvent;)Z move-result v0 const/4 v2, 0x1 if-eqz v0, :cond_1 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->cancelTouch()V return v2 :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-nez v0, :cond_2 return v1 :cond_2 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z move-result v0 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z move-result v3 iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker; if-nez v4, :cond_3 invoke-static {}, Landroid/view/VelocityTracker;->obtain()Landroid/view/VelocityTracker; move-result-object v4 iput-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker; :cond_3 iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker; invoke-virtual {v4, p1}, Landroid/view/VelocityTracker;->addMovement(Landroid/view/MotionEvent;)V invoke-virtual {p1}, Landroid/view/MotionEvent;->getActionMasked()I move-result v4 invoke-virtual {p1}, Landroid/view/MotionEvent;->getActionIndex()I move-result v5 const/high16 v6, 0x3f000000 # 0.5f packed-switch v4, :pswitch_data_0 :pswitch_0 goto/16 :goto_1 :pswitch_1 invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->onPointerUp(Landroid/view/MotionEvent;)V goto/16 :goto_1 :pswitch_2 invoke-virtual {p1, v5}, Landroid/view/MotionEvent;->getPointerId(I)I move-result v0 iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I invoke-virtual {p1, v5}, Landroid/view/MotionEvent;->getX(I)F move-result v0 add-float/2addr v0, v6 float-to-int v0, v0 iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchX:I invoke-virtual {p1, v5}, Landroid/view/MotionEvent;->getY(I)F move-result p1 add-float/2addr p1, v6 float-to-int p1, p1 iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchY:I goto/16 :goto_1 :pswitch_3 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->cancelTouch()V goto/16 :goto_1 :pswitch_4 iget v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I invoke-virtual {p1, v4}, Landroid/view/MotionEvent;->findPointerIndex(I)I move-result v4 if-gez v4, :cond_4 const-string p1, "RecyclerView" new-instance v0, Ljava/lang/StringBuilder; const-string v2, "Error processing scroll; pointer index for id " invoke-direct {v0, v2}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V iget v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; const-string v2, " not found. Did any MotionEvents get skipped?" invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 invoke-static {p1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I return v1 :cond_4 invoke-virtual {p1, v4}, Landroid/view/MotionEvent;->getX(I)F move-result v5 add-float/2addr v5, v6 float-to-int v5, v5 invoke-virtual {p1, v4}, Landroid/view/MotionEvent;->getY(I)F move-result p1 add-float/2addr p1, v6 float-to-int p1, p1 iget v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I if-eq v4, v2, :cond_a iget v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchX:I sub-int v4, v5, v4 iget v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchY:I sub-int v6, p1, v6 if-eqz v0, :cond_5 invoke-static {v4}, Ljava/lang/Math;->abs(I)I move-result v0 iget v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I if-le v0, v4, :cond_5 iput v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I const/4 v0, 0x1 goto :goto_0 :cond_5 const/4 v0, 0x0 :goto_0 if-eqz v3, :cond_6 invoke-static {v6}, Ljava/lang/Math;->abs(I)I move-result v3 iget v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I if-le v3, v4, :cond_6 iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I const/4 v0, 0x1 :cond_6 if-eqz v0, :cond_a invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V goto :goto_1 :pswitch_5 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker; invoke-virtual {p1}, Landroid/view/VelocityTracker;->clear()V invoke-virtual {p0, v1}, Landroidx/recyclerview/widget/RecyclerView;->stopNestedScroll(I)V goto :goto_1 :pswitch_6 iget-boolean v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mIgnoreMotionEventTillDown:Z if-eqz v4, :cond_7 iput-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mIgnoreMotionEventTillDown:Z :cond_7 invoke-virtual {p1, v1}, Landroid/view/MotionEvent;->getPointerId(I)I move-result v4 iput v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I invoke-virtual {p1}, Landroid/view/MotionEvent;->getX()F move-result v4 add-float/2addr v4, v6 float-to-int v4, v4 iput v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I iput v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchX:I invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F move-result p1 add-float/2addr p1, v6 float-to-int p1, p1 iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchY:I iget p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I const/4 v4, 0x2 if-ne p1, v4, :cond_8 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getParent()Landroid/view/ViewParent; move-result-object p1 invoke-interface {p1, v2}, Landroid/view/ViewParent;->requestDisallowInterceptTouchEvent(Z)V invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V :cond_8 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I aput v1, p1, v2 aput v1, p1, v1 if-eqz v3, :cond_9 or-int/lit8 v0, v0, 0x2 :cond_9 invoke-virtual {p0, v0, v1}, Landroidx/recyclerview/widget/RecyclerView;->startNestedScroll(II)Z :cond_a :goto_1 iget p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I if-ne p1, v2, :cond_b return v2 :cond_b return v1 :pswitch_data_0 .packed-switch 0x0 :pswitch_6 :pswitch_5 :pswitch_4 :pswitch_3 :pswitch_0 :pswitch_2 :pswitch_1 .end packed-switch .end method .method protected onLayout(ZIIII)V .locals 0 const-string p1, "RV OnLayout" invoke-static {p1}, Landroidx/core/os/TraceCompat;->beginSection(Ljava/lang/String;)V invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayout()V invoke-static {}, Landroidx/core/os/TraceCompat;->endSection()V const/4 p1, 0x1 iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z return-void .end method .method protected onMeasure(II)V .locals 7 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-nez v0, :cond_0 invoke-virtual {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->defaultOnMeasure(II)V return-void :cond_0 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->isAutoMeasureEnabled()Z move-result v0 const/4 v1, 0x1 const/4 v2, 0x0 if-eqz v0, :cond_6 invoke-static {p1}, Landroid/view/View$MeasureSpec;->getMode(I)I move-result v0 invoke-static {p2}, Landroid/view/View$MeasureSpec;->getMode(I)I move-result v3 iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {v4, v5, v6, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onMeasure(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;II)V const/high16 v4, 0x40000000 # 2.0f if-ne v0, v4, :cond_1 if-ne v3, v4, :cond_1 const/4 v2, 0x1 :cond_1 if-nez v2, :cond_5 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; if-nez v0, :cond_2 goto :goto_0 :cond_2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iget v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mLayoutStep:I if-ne v0, v1, :cond_3 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep1()V :cond_3 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setMeasureSpecs(II)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mIsMeasuring:Z invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep2()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setMeasuredDimensionFromChildren(II)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->shouldMeasureTwice()Z move-result v0 if-eqz v0, :cond_4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredWidth()I move-result v2 invoke-static {v2, v4}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I move-result v2 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredHeight()I move-result v3 invoke-static {v3, v4}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I move-result v3 invoke-virtual {v0, v2, v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setMeasureSpecs(II)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mIsMeasuring:Z invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep2()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setMeasuredDimensionFromChildren(II)V :cond_4 return-void :cond_5 :goto_0 return-void :cond_6 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mHasFixedSize:Z if-eqz v0, :cond_7 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {v0, v1, v2, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onMeasure(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;II)V return-void :cond_7 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterUpdateDuringMeasure:Z if-eqz v0, :cond_9 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->processAdapterUpdatesAndSetAnimationFlags()V invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iget-boolean v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunPredictiveAnimations:Z if-eqz v0, :cond_8 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mInPreLayout:Z goto :goto_1 :cond_8 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->consumeUpdatesInOnePass()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mInPreLayout:Z :goto_1 iput-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterUpdateDuringMeasure:Z invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V goto :goto_2 :cond_9 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iget-boolean v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunPredictiveAnimations:Z if-eqz v0, :cond_a invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredWidth()I move-result p1 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredHeight()I move-result p2 invoke-virtual {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->setMeasuredDimension(II)V return-void :cond_a :goto_2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; if-eqz v0, :cond_b iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->getItemCount()I move-result v0 iput v0, v1, Landroidx/recyclerview/widget/RecyclerView$State;->mItemCount:I goto :goto_3 :cond_b iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iput v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mItemCount:I :goto_3 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {v0, v1, v3, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onMeasure(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;II)V invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iput-boolean v2, p1, Landroidx/recyclerview/widget/RecyclerView$State;->mInPreLayout:Z return-void .end method .method protected onRequestFocusInDescendants(ILandroid/graphics/Rect;)Z .locals 1 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isComputingLayout()Z move-result v0 if-eqz v0, :cond_0 const/4 p1, 0x0 return p1 :cond_0 invoke-super {p0, p1, p2}, Landroid/view/ViewGroup;->onRequestFocusInDescendants(ILandroid/graphics/Rect;)Z move-result p1 return p1 .end method .method protected onRestoreInstanceState(Landroid/os/Parcelable;)V .locals 1 instance-of v0, p1, Landroidx/recyclerview/widget/RecyclerView$SavedState; if-nez v0, :cond_0 invoke-super {p0, p1}, Landroid/view/ViewGroup;->onRestoreInstanceState(Landroid/os/Parcelable;)V return-void :cond_0 check-cast p1, Landroidx/recyclerview/widget/RecyclerView$SavedState; iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingSavedState:Landroidx/recyclerview/widget/RecyclerView$SavedState; iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingSavedState:Landroidx/recyclerview/widget/RecyclerView$SavedState; invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$SavedState;->getSuperState()Landroid/os/Parcelable; move-result-object p1 invoke-super {p0, p1}, Landroid/view/ViewGroup;->onRestoreInstanceState(Landroid/os/Parcelable;)V iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz p1, :cond_1 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingSavedState:Landroidx/recyclerview/widget/RecyclerView$SavedState; iget-object p1, p1, Landroidx/recyclerview/widget/RecyclerView$SavedState;->mLayoutState:Landroid/os/Parcelable; if-eqz p1, :cond_1 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingSavedState:Landroidx/recyclerview/widget/RecyclerView$SavedState; iget-object v0, v0, Landroidx/recyclerview/widget/RecyclerView$SavedState;->mLayoutState:Landroid/os/Parcelable; invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onRestoreInstanceState(Landroid/os/Parcelable;)V :cond_1 return-void .end method .method protected onSaveInstanceState()Landroid/os/Parcelable; .locals 2 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;->(Landroid/os/Parcelable;)V iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingSavedState:Landroidx/recyclerview/widget/RecyclerView$SavedState; if-eqz v1, :cond_0 invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$SavedState;->copyFrom(Landroidx/recyclerview/widget/RecyclerView$SavedState;)V goto :goto_0 :cond_0 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz v1, :cond_1 invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onSaveInstanceState()Landroid/os/Parcelable; move-result-object v1 iput-object v1, v0, Landroidx/recyclerview/widget/RecyclerView$SavedState;->mLayoutState:Landroid/os/Parcelable; goto :goto_0 :cond_1 const/4 v1, 0x0 iput-object v1, v0, Landroidx/recyclerview/widget/RecyclerView$SavedState;->mLayoutState:Landroid/os/Parcelable; :goto_0 return-object v0 .end method .method public onScrollStateChanged(I)V .locals 0 return-void .end method .method public onScrolled(II)V .locals 0 .param p1 # I .annotation build Landroidx/annotation/Px; .end annotation .end param .param p2 # I .annotation build Landroidx/annotation/Px; .end annotation .end param return-void .end method .method protected onSizeChanged(IIII)V .locals 0 invoke-super {p0, p1, p2, p3, p4}, Landroid/view/ViewGroup;->onSizeChanged(IIII)V if-ne p1, p3, :cond_0 if-eq p2, p4, :cond_1 :cond_0 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->invalidateGlows()V :cond_1 return-void .end method .method public onTouchEvent(Landroid/view/MotionEvent;)Z .locals 14 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutFrozen:Z const/4 v1, 0x0 if-nez v0, :cond_18 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mIgnoreMotionEventTillDown:Z if-eqz v0, :cond_0 goto/16 :goto_8 :cond_0 invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->dispatchOnItemTouch(Landroid/view/MotionEvent;)Z move-result v0 const/4 v2, 0x1 if-eqz v0, :cond_1 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->cancelTouch()V return v2 :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-nez v0, :cond_2 return v1 :cond_2 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z move-result v0 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z move-result v3 iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker; if-nez v4, :cond_3 invoke-static {}, Landroid/view/VelocityTracker;->obtain()Landroid/view/VelocityTracker; move-result-object v4 iput-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker; :cond_3 invoke-static {p1}, Landroid/view/MotionEvent;->obtain(Landroid/view/MotionEvent;)Landroid/view/MotionEvent; move-result-object v4 invoke-virtual {p1}, Landroid/view/MotionEvent;->getActionMasked()I move-result v5 invoke-virtual {p1}, Landroid/view/MotionEvent;->getActionIndex()I move-result v6 if-nez v5, :cond_4 iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I aput v1, v7, v2 aput v1, v7, v1 :cond_4 iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I aget v8, v7, v1 int-to-float v8, v8 aget v7, v7, v2 int-to-float v7, v7 invoke-virtual {v4, v8, v7}, Landroid/view/MotionEvent;->offsetLocation(FF)V const/high16 v7, 0x3f000000 # 0.5f packed-switch v5, :pswitch_data_0 :pswitch_0 goto/16 :goto_7 :pswitch_1 invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->onPointerUp(Landroid/view/MotionEvent;)V goto/16 :goto_7 :pswitch_2 invoke-virtual {p1, v6}, Landroid/view/MotionEvent;->getPointerId(I)I move-result v0 iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I invoke-virtual {p1, v6}, Landroid/view/MotionEvent;->getX(I)F move-result v0 add-float/2addr v0, v7 float-to-int v0, v0 iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchX:I invoke-virtual {p1, v6}, Landroid/view/MotionEvent;->getY(I)F move-result p1 add-float/2addr p1, v7 float-to-int p1, p1 iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchY:I goto/16 :goto_7 :pswitch_3 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->cancelTouch()V goto/16 :goto_7 :pswitch_4 iget v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I invoke-virtual {p1, v5}, Landroid/view/MotionEvent;->findPointerIndex(I)I move-result v5 if-gez v5, :cond_5 const-string p1, "RecyclerView" new-instance v0, Ljava/lang/StringBuilder; const-string v2, "Error processing scroll; pointer index for id " invoke-direct {v0, v2}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V iget v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; const-string v2, " not found. Did any MotionEvents get skipped?" invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 invoke-static {p1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I return v1 :cond_5 invoke-virtual {p1, v5}, Landroid/view/MotionEvent;->getX(I)F move-result v6 add-float/2addr v6, v7 float-to-int v6, v6 invoke-virtual {p1, v5}, Landroid/view/MotionEvent;->getY(I)F move-result p1 add-float/2addr p1, v7 float-to-int p1, p1 iget v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I sub-int/2addr v5, v6 iget v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I sub-int v13, v7, p1 iget-object v10, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollConsumed:[I iget-object v11, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I const/4 v12, 0x0 move-object v7, p0 move v8, v5 move v9, v13 invoke-virtual/range {v7 .. v12}, Landroidx/recyclerview/widget/RecyclerView;->dispatchNestedPreScroll(II[I[II)Z move-result v7 if-eqz v7, :cond_6 iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollConsumed:[I aget v8, v7, v1 sub-int/2addr v5, v8 aget v7, v7, v2 sub-int/2addr v13, v7 iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I aget v8, v7, v1 int-to-float v8, v8 aget v7, v7, v2 int-to-float v7, v7 invoke-virtual {v4, v8, v7}, Landroid/view/MotionEvent;->offsetLocation(FF)V iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I aget v8, v7, v1 iget-object v9, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I aget v10, v9, v1 add-int/2addr v8, v10 aput v8, v7, v1 aget v8, v7, v2 aget v9, v9, v2 add-int/2addr v8, v9 aput v8, v7, v2 :cond_6 iget v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I if-eq v7, v2, :cond_b if-eqz v0, :cond_8 invoke-static {v5}, Ljava/lang/Math;->abs(I)I move-result v7 iget v8, p0, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I if-le v7, v8, :cond_8 if-lez v5, :cond_7 sub-int/2addr v5, v8 goto :goto_0 :cond_7 add-int/2addr v5, v8 :goto_0 const/4 v7, 0x1 goto :goto_1 :cond_8 const/4 v7, 0x0 :goto_1 if-eqz v3, :cond_a invoke-static {v13}, Ljava/lang/Math;->abs(I)I move-result v8 iget v9, p0, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I if-le v8, v9, :cond_a if-lez v13, :cond_9 sub-int/2addr v13, v9 goto :goto_2 :cond_9 add-int/2addr v13, v9 :goto_2 const/4 v7, 0x1 :cond_a if-eqz v7, :cond_b invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V :cond_b iget v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I if-ne v7, v2, :cond_16 iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I aget v8, v7, v1 sub-int/2addr v6, v8 iput v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I aget v6, v7, v2 sub-int/2addr p1, v6 iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I if-eqz v0, :cond_c move p1, v5 goto :goto_3 :cond_c const/4 p1, 0x0 :goto_3 if-eqz v3, :cond_d move v0, v13 goto :goto_4 :cond_d const/4 v0, 0x0 :goto_4 invoke-virtual {p0, p1, v0, v4}, Landroidx/recyclerview/widget/RecyclerView;->scrollByInternal(IILandroid/view/MotionEvent;)Z move-result p1 if-eqz p1, :cond_e invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getParent()Landroid/view/ViewParent; move-result-object p1 invoke-interface {p1, v2}, Landroid/view/ViewParent;->requestDisallowInterceptTouchEvent(Z)V :cond_e iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/GapWorker; if-eqz p1, :cond_16 if-nez v5, :cond_f if-eqz v13, :cond_16 :cond_f iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/GapWorker; invoke-virtual {p1, p0, v5, v13}, Landroidx/recyclerview/widget/GapWorker;->postFromTraversal(Landroidx/recyclerview/widget/RecyclerView;II)V goto :goto_7 :pswitch_5 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker; invoke-virtual {p1, v4}, Landroid/view/VelocityTracker;->addMovement(Landroid/view/MotionEvent;)V iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker; const/16 v5, 0x3e8 iget v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mMaxFlingVelocity:I int-to-float v6, v6 invoke-virtual {p1, v5, v6}, Landroid/view/VelocityTracker;->computeCurrentVelocity(IF)V const/4 p1, 0x0 if-eqz v0, :cond_10 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker; iget v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I invoke-virtual {v0, v5}, Landroid/view/VelocityTracker;->getXVelocity(I)F move-result v0 neg-float v0, v0 goto :goto_5 :cond_10 const/4 v0, 0x0 :goto_5 if-eqz v3, :cond_11 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker; iget v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I invoke-virtual {v3, v5}, Landroid/view/VelocityTracker;->getYVelocity(I)F move-result v3 neg-float v3, v3 goto :goto_6 :cond_11 const/4 v3, 0x0 :goto_6 cmpl-float v5, v0, p1 if-nez v5, :cond_12 cmpl-float p1, v3, p1 if-eqz p1, :cond_13 :cond_12 float-to-int p1, v0 float-to-int v0, v3 invoke-virtual {p0, p1, v0}, Landroidx/recyclerview/widget/RecyclerView;->fling(II)Z move-result p1 if-nez p1, :cond_14 :cond_13 invoke-virtual {p0, v1}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V :cond_14 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->resetTouch()V const/4 v1, 0x1 goto :goto_7 :pswitch_6 invoke-virtual {p1, v1}, Landroid/view/MotionEvent;->getPointerId(I)I move-result v5 iput v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I invoke-virtual {p1}, Landroid/view/MotionEvent;->getX()F move-result v5 add-float/2addr v5, v7 float-to-int v5, v5 iput v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I iput v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchX:I invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F move-result p1 add-float/2addr p1, v7 float-to-int p1, p1 iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchY:I if-eqz v3, :cond_15 or-int/lit8 v0, v0, 0x2 :cond_15 invoke-virtual {p0, v0, v1}, Landroidx/recyclerview/widget/RecyclerView;->startNestedScroll(II)Z :cond_16 :goto_7 if-nez v1, :cond_17 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker; invoke-virtual {p1, v4}, Landroid/view/VelocityTracker;->addMovement(Landroid/view/MotionEvent;)V :cond_17 invoke-virtual {v4}, Landroid/view/MotionEvent;->recycle()V return v2 :cond_18 :goto_8 return v1 nop :pswitch_data_0 .packed-switch 0x0 :pswitch_6 :pswitch_5 :pswitch_4 :pswitch_3 :pswitch_0 :pswitch_2 :pswitch_1 .end packed-switch .end method .method postAnimationRunner()V .locals 1 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPostedAnimatorRunner:Z if-nez v0, :cond_0 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mIsAttached:Z if-eqz v0, :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimatorRunner:Ljava/lang/Runnable; invoke-static {p0, v0}, Landroidx/core/view/ViewCompat;->postOnAnimation(Landroid/view/View;Ljava/lang/Runnable;)V const/4 v0, 0x1 iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPostedAnimatorRunner:Z :cond_0 return-void .end method .method processDataSetCompletelyChanged(Z)V .locals 1 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchItemsChangedEvent:Z or-int/2addr p1, v0 iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchItemsChangedEvent:Z const/4 p1, 0x1 iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->markKnownViewsInvalid()V return-void .end method .method recordAnimationInfoIfBouncedHiddenView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V .locals 3 const/4 v0, 0x0 const/16 v1, 0x2000 invoke-virtual {p1, v0, v1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->setFlags(II)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iget-boolean v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mTrackOldChangeHolders:Z if-eqz v0, :cond_0 invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isUpdated()Z move-result v0 if-eqz v0, :cond_0 invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isRemoved()Z move-result v0 if-nez v0, :cond_0 invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z move-result v0 if-nez v0, :cond_0 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->getChangedHolderKey(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)J move-result-wide v0 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; invoke-virtual {v2, v0, v1, p1}, Landroidx/recyclerview/widget/ViewInfoStore;->addToOldChangeHolders(JLandroidx/recyclerview/widget/RecyclerView$ViewHolder;)V :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/ViewInfoStore;->addToPreLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V return-void .end method .method removeAndRecycleViews()V .locals 2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; if-eqz v0, :cond_0 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->endAnimations()V :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz v0, :cond_1 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->removeAndRecycleAllViews(Landroidx/recyclerview/widget/RecyclerView$Recycler;)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->removeAndRecycleScrapInt(Landroidx/recyclerview/widget/RecyclerView$Recycler;)V :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->clear()V return-void .end method .method removeAnimatingView(Landroid/view/View;)Z .locals 2 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/ChildHelper;->removeViewIfHidden(Landroid/view/View;)Z move-result v0 if-eqz v0, :cond_0 invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object p1 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; invoke-virtual {v1, p1}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->unscrapView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; invoke-virtual {v1, p1}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->recycleViewHolderInternal(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V :cond_0 xor-int/lit8 p1, v0, 0x1 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V return v0 .end method .method protected removeDetachedView(Landroid/view/View;Z)V .locals 2 invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v0 if-eqz v0, :cond_2 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isTmpDetached()Z move-result v1 if-eqz v1, :cond_0 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->clearTmpDetachFlag()V goto :goto_0 :cond_0 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z move-result v1 if-eqz v1, :cond_1 goto :goto_0 :cond_1 new-instance p1, Ljava/lang/IllegalArgumentException; new-instance p2, Ljava/lang/StringBuilder; const-string v1, "Called removeDetachedView with a view which is not flagged as tmp detached." invoke-direct {p2, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String; move-result-object v0 invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p2 invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p1 :cond_2 :goto_0 invoke-virtual {p1}, Landroid/view/View;->clearAnimation()V invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->dispatchChildDetached(Landroid/view/View;)V invoke-super {p0, p1, p2}, Landroid/view/ViewGroup;->removeDetachedView(Landroid/view/View;Z)V return-void .end method .method public removeItemDecoration(Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;)V .locals 2 .param p1 # Landroidx/recyclerview/widget/RecyclerView$ItemDecoration; .annotation build Landroidx/annotation/NonNull; .end annotation .end param iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz v0, :cond_0 const-string v1, "Cannot remove item decoration during a scroll or layout" invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->assertNotInLayoutOrScroll(Ljava/lang/String;)V :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; invoke-virtual {v0, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; invoke-virtual {p1}, Ljava/util/ArrayList;->isEmpty()Z move-result p1 if-eqz p1, :cond_2 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getOverScrollMode()I move-result p1 const/4 v0, 0x2 if-ne p1, v0, :cond_1 const/4 p1, 0x1 goto :goto_0 :cond_1 const/4 p1, 0x0 :goto_0 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->setWillNotDraw(Z)V :cond_2 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->markItemDecorInsetsDirty()V invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V return-void .end method .method public removeItemDecorationAt(I)V .locals 3 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getItemDecorationCount()I move-result v0 if-ltz p1, :cond_0 if-ge p1, v0, :cond_0 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->getItemDecorationAt(I)Landroidx/recyclerview/widget/RecyclerView$ItemDecoration; move-result-object p1 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->removeItemDecoration(Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;)V return-void :cond_0 new-instance v1, Ljava/lang/IndexOutOfBoundsException; new-instance v2, Ljava/lang/StringBuilder; invoke-direct {v2}, Ljava/lang/StringBuilder;->()V invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; const-string p1, " is an invalid index for size " invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 invoke-direct {v1, p1}, Ljava/lang/IndexOutOfBoundsException;->(Ljava/lang/String;)V throw v1 .end method .method public removeOnChildAttachStateChangeListener(Landroidx/recyclerview/widget/RecyclerView$OnChildAttachStateChangeListener;)V .locals 1 .param p1 # Landroidx/recyclerview/widget/RecyclerView$OnChildAttachStateChangeListener; .annotation build Landroidx/annotation/NonNull; .end annotation .end param iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List; if-nez v0, :cond_0 return-void :cond_0 invoke-interface {v0, p1}, Ljava/util/List;->remove(Ljava/lang/Object;)Z return-void .end method .method public removeOnItemTouchListener(Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;)V .locals 1 .param p1 # Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener; .annotation build Landroidx/annotation/NonNull; .end annotation .end param iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList; invoke-virtual {v0, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mActiveOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener; if-ne v0, p1, :cond_0 const/4 p1, 0x0 iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mActiveOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener; :cond_0 return-void .end method .method public removeOnScrollListener(Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;)V .locals 1 .param p1 # Landroidx/recyclerview/widget/RecyclerView$OnScrollListener; .annotation build Landroidx/annotation/NonNull; .end annotation .end param iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List; if-eqz v0, :cond_0 invoke-interface {v0, p1}, Ljava/util/List;->remove(Ljava/lang/Object;)Z :cond_0 return-void .end method .method repositionShadowingViews()V .locals 7 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I move-result v0 const/4 v1, 0x0 :goto_0 if-ge v1, v0, :cond_2 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View; move-result-object v2 invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolder(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v3 if-eqz v3, :cond_1 iget-object v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mShadowingHolder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder; if-eqz v4, :cond_1 iget-object v3, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mShadowingHolder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder; iget-object v3, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; invoke-virtual {v2}, Landroid/view/View;->getLeft()I move-result v4 invoke-virtual {v2}, Landroid/view/View;->getTop()I move-result v2 invoke-virtual {v3}, Landroid/view/View;->getLeft()I move-result v5 if-ne v4, v5, :cond_0 invoke-virtual {v3}, Landroid/view/View;->getTop()I move-result v5 if-eq v2, v5, :cond_1 :cond_0 invoke-virtual {v3}, Landroid/view/View;->getWidth()I move-result v5 add-int/2addr v5, v4 invoke-virtual {v3}, Landroid/view/View;->getHeight()I move-result v6 add-int/2addr v6, v2 invoke-virtual {v3, v4, v2, v5, v6}, Landroid/view/View;->layout(IIII)V :cond_1 add-int/lit8 v1, v1, 0x1 goto :goto_0 :cond_2 return-void .end method .method public requestChildFocus(Landroid/view/View;Landroid/view/View;)V .locals 2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {v0, p0, v1, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onRequestChildFocus(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$State;Landroid/view/View;Landroid/view/View;)Z move-result v0 if-nez v0, :cond_0 if-eqz p2, :cond_0 invoke-direct {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->requestChildOnScreen(Landroid/view/View;Landroid/view/View;)V :cond_0 invoke-super {p0, p1, p2}, Landroid/view/ViewGroup;->requestChildFocus(Landroid/view/View;Landroid/view/View;)V return-void .end method .method public requestChildRectangleOnScreen(Landroid/view/View;Landroid/graphics/Rect;Z)Z .locals 1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {v0, p0, p1, p2, p3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->requestChildRectangleOnScreen(Landroidx/recyclerview/widget/RecyclerView;Landroid/view/View;Landroid/graphics/Rect;Z)Z move-result p1 return p1 .end method .method public requestDisallowInterceptTouchEvent(Z)V .locals 3 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList; invoke-virtual {v0}, Ljava/util/ArrayList;->size()I move-result v0 const/4 v1, 0x0 :goto_0 if-ge v1, v0, :cond_0 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList; invoke-virtual {v2, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v2 check-cast v2, Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener; invoke-interface {v2, p1}, Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;->onRequestDisallowInterceptTouchEvent(Z)V add-int/lit8 v1, v1, 0x1 goto :goto_0 :cond_0 invoke-super {p0, p1}, Landroid/view/ViewGroup;->requestDisallowInterceptTouchEvent(Z)V return-void .end method .method public requestLayout()V .locals 1 iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I if-nez v0, :cond_0 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutFrozen:Z if-nez v0, :cond_0 invoke-super {p0}, Landroid/view/ViewGroup;->requestLayout()V return-void :cond_0 const/4 v0, 0x1 iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z return-void .end method .method saveOldPositions()V .locals 4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I move-result v0 const/4 v1, 0x0 :goto_0 if-ge v1, v0, :cond_1 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View; move-result-object v2 invoke-static {v2}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v2 invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z move-result v3 if-nez v3, :cond_0 invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->saveOldPosition()V :cond_0 add-int/lit8 v1, v1, 0x1 goto :goto_0 :cond_1 return-void .end method .method public scrollBy(II)V .locals 3 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-nez v0, :cond_0 const-string p1, "RecyclerView" const-string p2, "Cannot scroll without a LayoutManager set. Call setLayoutManager with a non-null argument." invoke-static {p1, p2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I return-void :cond_0 iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutFrozen:Z if-eqz v1, :cond_1 return-void :cond_1 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z move-result v0 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z move-result v1 if-nez v0, :cond_2 if-eqz v1, :cond_5 :cond_2 const/4 v2, 0x0 if-eqz v0, :cond_3 goto :goto_0 :cond_3 const/4 p1, 0x0 :goto_0 if-eqz v1, :cond_4 goto :goto_1 :cond_4 const/4 p2, 0x0 :goto_1 const/4 v0, 0x0 invoke-virtual {p0, p1, p2, v0}, Landroidx/recyclerview/widget/RecyclerView;->scrollByInternal(IILandroid/view/MotionEvent;)Z :cond_5 return-void .end method .method scrollByInternal(IILandroid/view/MotionEvent;)Z .locals 18 move-object/from16 v7, p0 move/from16 v8, p1 move/from16 v9, p2 move-object/from16 v10, p3 invoke-virtual/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->consumePendingUpdateOperations()V iget-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; const/4 v11, 0x1 const/4 v12, 0x0 if-eqz v0, :cond_0 iget-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mScrollStepConsumed:[I invoke-virtual {v7, v8, v9, v0}, Landroidx/recyclerview/widget/RecyclerView;->scrollStep(II[I)V iget-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mScrollStepConsumed:[I aget v1, v0, v12 aget v0, v0, v11 sub-int v2, v8, v1 sub-int v3, v9, v0 move v6, v0 move v15, v1 move v13, v2 move v14, v3 goto :goto_0 :cond_0 const/4 v6, 0x0 const/4 v13, 0x0 const/4 v14, 0x0 const/4 v15, 0x0 :goto_0 iget-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; invoke-virtual {v0}, Ljava/util/ArrayList;->isEmpty()Z move-result v0 if-nez v0, :cond_1 invoke-virtual/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->invalidate()V :cond_1 iget-object v5, v7, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I const/16 v16, 0x0 move-object/from16 v0, p0 move v1, v15 move v2, v6 move v3, v13 move v4, v14 move/from16 v17, v6 move/from16 v6, v16 invoke-virtual/range {v0 .. v6}, Landroidx/recyclerview/widget/RecyclerView;->dispatchNestedScroll(IIII[II)Z move-result v0 if-eqz v0, :cond_3 iget v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I iget-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I aget v2, v1, v12 sub-int/2addr v0, v2 iput v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I iget v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I aget v2, v1, v11 sub-int/2addr v0, v2 iput v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I if-eqz v10, :cond_2 aget v0, v1, v12 int-to-float v0, v0 aget v1, v1, v11 int-to-float v1, v1 invoke-virtual {v10, v0, v1}, Landroid/view/MotionEvent;->offsetLocation(FF)V :cond_2 iget-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I aget v1, v0, v12 iget-object v2, v7, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I aget v3, v2, v12 add-int/2addr v1, v3 aput v1, v0, v12 aget v1, v0, v11 aget v2, v2, v11 add-int/2addr v1, v2 aput v1, v0, v11 goto :goto_1 :cond_3 invoke-virtual/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->getOverScrollMode()I move-result v0 const/4 v1, 0x2 if-eq v0, v1, :cond_5 if-eqz v10, :cond_4 const/16 v0, 0x2002 invoke-static {v10, v0}, Landroidx/core/view/MotionEventCompat;->isFromSource(Landroid/view/MotionEvent;I)Z move-result v0 if-nez v0, :cond_4 invoke-virtual/range {p3 .. p3}, Landroid/view/MotionEvent;->getX()F move-result v0 int-to-float v1, v13 invoke-virtual/range {p3 .. p3}, Landroid/view/MotionEvent;->getY()F move-result v2 int-to-float v3, v14 invoke-direct {v7, v0, v1, v2, v3}, Landroidx/recyclerview/widget/RecyclerView;->pullGlows(FFFF)V :cond_4 invoke-virtual/range {p0 .. p2}, Landroidx/recyclerview/widget/RecyclerView;->considerReleasingGlowsOnScroll(II)V :cond_5 :goto_1 if-nez v15, :cond_6 move/from16 v0, v17 if-eqz v0, :cond_7 goto :goto_2 :cond_6 move/from16 v0, v17 :goto_2 invoke-virtual {v7, v15, v0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchOnScrolled(II)V :cond_7 invoke-virtual/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->awakenScrollBars()Z move-result v1 if-nez v1, :cond_8 invoke-virtual/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->invalidate()V :cond_8 if-nez v15, :cond_a if-eqz v0, :cond_9 goto :goto_3 :cond_9 return v12 :cond_a :goto_3 return v11 .end method .method scrollStep(II[I)V .locals 4 .param p3 # [I .annotation build Landroidx/annotation/Nullable; .end annotation .end param invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V const-string v0, "RV Scroll" invoke-static {v0}, Landroidx/core/os/TraceCompat;->beginSection(Ljava/lang/String;)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->fillRemainingScrollValues(Landroidx/recyclerview/widget/RecyclerView$State;)V const/4 v0, 0x0 if-eqz p1, :cond_0 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {v1, p1, v2, v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->scrollHorizontallyBy(ILandroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)I move-result p1 goto :goto_0 :cond_0 const/4 p1, 0x0 :goto_0 if-eqz p2, :cond_1 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {v1, p2, v2, v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->scrollVerticallyBy(ILandroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)I move-result p2 goto :goto_1 :cond_1 const/4 p2, 0x0 :goto_1 invoke-static {}, Landroidx/core/os/TraceCompat;->endSection()V invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->repositionShadowingViews()V invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V if-eqz p3, :cond_2 aput p1, p3, v0 const/4 p1, 0x1 aput p2, p3, p1 :cond_2 return-void .end method .method public scrollTo(II)V .locals 0 const-string p1, "RecyclerView" const-string p2, "RecyclerView does not support scrolling to an absolute position. Use scrollToPosition instead" invoke-static {p1, p2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I return-void .end method .method public scrollToPosition(I)V .locals 1 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutFrozen:Z if-eqz v0, :cond_0 return-void :cond_0 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->stopScroll()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-nez v0, :cond_1 const-string p1, "RecyclerView" const-string v0, "Cannot scroll to position a LayoutManager set. Call setLayoutManager with a non-null argument." invoke-static {p1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I return-void :cond_1 invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->scrollToPosition(I)V invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->awakenScrollBars()Z return-void .end method .method public sendAccessibilityEventUnchecked(Landroid/view/accessibility/AccessibilityEvent;)V .locals 1 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->shouldDeferAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)Z move-result v0 if-eqz v0, :cond_0 return-void :cond_0 invoke-super {p0, p1}, Landroid/view/ViewGroup;->sendAccessibilityEventUnchecked(Landroid/view/accessibility/AccessibilityEvent;)V return-void .end method .method public setAccessibilityDelegateCompat(Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate;)V .locals 0 .param p1 # Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate; .annotation build Landroidx/annotation/Nullable; .end annotation .end param iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAccessibilityDelegate:Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate; iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAccessibilityDelegate:Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate; invoke-static {p0, p1}, Landroidx/core/view/ViewCompat;->setAccessibilityDelegate(Landroid/view/View;Landroidx/core/view/AccessibilityDelegateCompat;)V return-void .end method .method public setAdapter(Landroidx/recyclerview/widget/RecyclerView$Adapter;)V .locals 2 .param p1 # Landroidx/recyclerview/widget/RecyclerView$Adapter; .annotation build Landroidx/annotation/Nullable; .end annotation .end param const/4 v0, 0x0 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setLayoutFrozen(Z)V const/4 v1, 0x1 invoke-direct {p0, p1, v0, v1}, Landroidx/recyclerview/widget/RecyclerView;->setAdapterInternal(Landroidx/recyclerview/widget/RecyclerView$Adapter;ZZ)V invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->processDataSetCompletelyChanged(Z)V invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V return-void .end method .method public setChildDrawingOrderCallback(Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback;)V .locals 1 .param p1 # Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback; .annotation build Landroidx/annotation/Nullable; .end annotation .end param iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildDrawingOrderCallback:Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback; if-ne p1, v0, :cond_0 return-void :cond_0 iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildDrawingOrderCallback:Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback; iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildDrawingOrderCallback:Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback; if-eqz p1, :cond_1 const/4 p1, 0x1 goto :goto_0 :cond_1 const/4 p1, 0x0 :goto_0 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->setChildrenDrawingOrderEnabled(Z)V return-void .end method .method setChildImportantForAccessibilityInternal(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;I)Z .locals 1 .annotation build Landroidx/annotation/VisibleForTesting; .end annotation invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isComputingLayout()Z move-result v0 if-eqz v0, :cond_0 iput p2, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPendingAccessibilityState:I iget-object p2, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingAccessibilityImportanceChange:Ljava/util/List; invoke-interface {p2, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z const/4 p1, 0x0 return p1 :cond_0 iget-object p1, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; invoke-static {p1, p2}, Landroidx/core/view/ViewCompat;->setImportantForAccessibility(Landroid/view/View;I)V const/4 p1, 0x1 return p1 .end method .method public setClipToPadding(Z)V .locals 1 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z if-eq p1, v0, :cond_0 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->invalidateGlows()V :cond_0 iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z invoke-super {p0, p1}, Landroid/view/ViewGroup;->setClipToPadding(Z)V iget-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z if-eqz p1, :cond_1 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V :cond_1 return-void .end method .method public setEdgeEffectFactory(Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;)V .locals 0 .param p1 # Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory; .annotation build Landroidx/annotation/NonNull; .end annotation .end param invoke-static {p1}, Landroidx/core/util/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory; invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->invalidateGlows()V return-void .end method .method public setHasFixedSize(Z)V .locals 0 iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mHasFixedSize:Z return-void .end method .method public setItemAnimator(Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;)V .locals 2 .param p1 # Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; .annotation build Landroidx/annotation/Nullable; .end annotation .end param iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; if-eqz v0, :cond_0 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->endAnimations()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; const/4 v1, 0x0 invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->setListener(Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemAnimatorListener;)V :cond_0 iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; if-eqz p1, :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimatorListener:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemAnimatorListener; invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->setListener(Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemAnimatorListener;)V :cond_1 return-void .end method .method public setItemViewCacheSize(I)V .locals 1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->setViewCacheSize(I)V return-void .end method .method public setLayoutFrozen(Z)V .locals 9 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutFrozen:Z if-eq p1, v0, :cond_2 const-string v0, "Do not setLayoutFrozen in layout or scroll" invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->assertNotInLayoutOrScroll(Ljava/lang/String;)V if-nez p1, :cond_1 const/4 p1, 0x0 iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutFrozen:Z iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z if-eqz v0, :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz v0, :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; if-eqz v0, :cond_0 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V :cond_0 iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z return-void :cond_1 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J move-result-wide v3 const/4 v5, 0x3 const/4 v6, 0x0 const/4 v7, 0x0 const/4 v8, 0x0 move-wide v1, v3 invoke-static/range {v1 .. v8}, Landroid/view/MotionEvent;->obtain(JJIFFI)Landroid/view/MotionEvent; move-result-object p1 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->onTouchEvent(Landroid/view/MotionEvent;)Z const/4 p1, 0x1 iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutFrozen:Z iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mIgnoreMotionEventTillDown:Z invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->stopScroll()V :cond_2 return-void .end method .method public setLayoutManager(Landroidx/recyclerview/widget/RecyclerView$LayoutManager;)V .locals 3 .param p1 # Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .annotation build Landroidx/annotation/Nullable; .end annotation .end param iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-ne p1, v0, :cond_0 return-void :cond_0 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->stopScroll()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz v0, :cond_3 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; if-eqz v0, :cond_1 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->endAnimations()V :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->removeAndRecycleAllViews(Landroidx/recyclerview/widget/RecyclerView$Recycler;)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->removeAndRecycleScrapInt(Landroidx/recyclerview/widget/RecyclerView$Recycler;)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->clear()V iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mIsAttached:Z if-eqz v0, :cond_2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; invoke-virtual {v0, p0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->dispatchDetachedFromWindow(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$Recycler;)V :cond_2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; const/4 v1, 0x0 invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setRecyclerView(Landroidx/recyclerview/widget/RecyclerView;)V iput-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; goto :goto_0 :cond_3 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->clear()V :goto_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->removeAllViewsUnfiltered()V iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz p1, :cond_5 iget-object v0, p1, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView; if-nez v0, :cond_4 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {p1, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setRecyclerView(Landroidx/recyclerview/widget/RecyclerView;)V iget-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mIsAttached:Z if-eqz p1, :cond_5 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {p1, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->dispatchAttachedToWindow(Landroidx/recyclerview/widget/RecyclerView;)V goto :goto_1 :cond_4 new-instance v0, Ljava/lang/IllegalArgumentException; new-instance v1, Ljava/lang/StringBuilder; const-string v2, "LayoutManager " invoke-direct {v1, v2}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; const-string v2, " is already attached to a RecyclerView:" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget-object p1, p1, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView; invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String; move-result-object p1 invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 invoke-direct {v0, p1}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw v0 :cond_5 :goto_1 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->updateViewCacheSize()V invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V return-void .end method .method public setNestedScrollingEnabled(Z)V .locals 1 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper; move-result-object v0 invoke-virtual {v0, p1}, Landroidx/core/view/NestedScrollingChildHelper;->setNestedScrollingEnabled(Z)V return-void .end method .method public setOnFlingListener(Landroidx/recyclerview/widget/RecyclerView$OnFlingListener;)V .locals 0 .param p1 # Landroidx/recyclerview/widget/RecyclerView$OnFlingListener; .annotation build Landroidx/annotation/Nullable; .end annotation .end param iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnFlingListener:Landroidx/recyclerview/widget/RecyclerView$OnFlingListener; return-void .end method .method public setOnScrollListener(Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;)V .locals 0 .param p1 # Landroidx/recyclerview/widget/RecyclerView$OnScrollListener; .annotation build Landroidx/annotation/Nullable; .end annotation .end param .annotation runtime Ljava/lang/Deprecated; .end annotation iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListener:Landroidx/recyclerview/widget/RecyclerView$OnScrollListener; return-void .end method .method public setPreserveFocusAfterLayout(Z)V .locals 0 iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mPreserveFocusAfterLayout:Z return-void .end method .method public setRecycledViewPool(Landroidx/recyclerview/widget/RecyclerView$RecycledViewPool;)V .locals 1 .param p1 # Landroidx/recyclerview/widget/RecyclerView$RecycledViewPool; .annotation build Landroidx/annotation/Nullable; .end annotation .end param iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->setRecycledViewPool(Landroidx/recyclerview/widget/RecyclerView$RecycledViewPool;)V return-void .end method .method public setRecyclerListener(Landroidx/recyclerview/widget/RecyclerView$RecyclerListener;)V .locals 0 .param p1 # Landroidx/recyclerview/widget/RecyclerView$RecyclerListener; .annotation build Landroidx/annotation/Nullable; .end annotation .end param iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecyclerListener:Landroidx/recyclerview/widget/RecyclerView$RecyclerListener; return-void .end method .method setScrollState(I)V .locals 1 iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I if-ne p1, v0, :cond_0 return-void :cond_0 iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I const/4 v0, 0x2 if-eq p1, v0, :cond_1 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->stopScrollersInternal()V :cond_1 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->dispatchOnScrollStateChanged(I)V return-void .end method .method public setScrollingTouchSlop(I)V .locals 4 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 packed-switch p1, :pswitch_data_0 const-string v1, "RecyclerView" new-instance v2, Ljava/lang/StringBuilder; const-string v3, "setScrollingTouchSlop(): bad argument constant " invoke-direct {v2, v3}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; const-string p1, "; using default value" invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 invoke-static {v1, p1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I goto :goto_0 :pswitch_0 invoke-virtual {v0}, Landroid/view/ViewConfiguration;->getScaledPagingTouchSlop()I move-result p1 iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I return-void :goto_0 :pswitch_1 invoke-virtual {v0}, Landroid/view/ViewConfiguration;->getScaledTouchSlop()I move-result p1 iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I return-void :pswitch_data_0 .packed-switch 0x0 :pswitch_1 :pswitch_0 .end packed-switch .end method .method public setViewCacheExtension(Landroidx/recyclerview/widget/RecyclerView$ViewCacheExtension;)V .locals 1 .param p1 # Landroidx/recyclerview/widget/RecyclerView$ViewCacheExtension; .annotation build Landroidx/annotation/Nullable; .end annotation .end param iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->setViewCacheExtension(Landroidx/recyclerview/widget/RecyclerView$ViewCacheExtension;)V return-void .end method .method shouldDeferAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)Z .locals 2 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isComputingLayout()Z move-result v0 const/4 v1, 0x0 if-eqz v0, :cond_2 if-eqz p1, :cond_0 invoke-static {p1}, Landroidx/core/view/accessibility/AccessibilityEventCompat;->getContentChangeTypes(Landroid/view/accessibility/AccessibilityEvent;)I move-result p1 goto :goto_0 :cond_0 const/4 p1, 0x0 :goto_0 if-nez p1, :cond_1 const/4 p1, 0x0 :cond_1 iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mEatenAccessibilityChangeFlags:I or-int/2addr p1, v0 iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mEatenAccessibilityChangeFlags:I const/4 p1, 0x1 return p1 :cond_2 return v1 .end method .method public smoothScrollBy(II)V .locals 1 .param p1 # I .annotation build Landroidx/annotation/Px; .end annotation .end param .param p2 # I .annotation build Landroidx/annotation/Px; .end annotation .end param const/4 v0, 0x0 invoke-virtual {p0, p1, p2, v0}, Landroidx/recyclerview/widget/RecyclerView;->smoothScrollBy(IILandroid/view/animation/Interpolator;)V return-void .end method .method public smoothScrollBy(IILandroid/view/animation/Interpolator;)V .locals 2 .param p1 # I .annotation build Landroidx/annotation/Px; .end annotation .end param .param p2 # I .annotation build Landroidx/annotation/Px; .end annotation .end param .param p3 # Landroid/view/animation/Interpolator; .annotation build Landroidx/annotation/Nullable; .end annotation .end param iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-nez v0, :cond_0 const-string p1, "RecyclerView" const-string p2, "Cannot smooth scroll without a LayoutManager set. Call setLayoutManager with a non-null argument." invoke-static {p1, p2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I return-void :cond_0 iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutFrozen:Z if-eqz v1, :cond_1 return-void :cond_1 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z move-result v0 const/4 v1, 0x0 if-nez v0, :cond_2 const/4 p1, 0x0 :cond_2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z move-result v0 if-nez v0, :cond_3 const/4 p2, 0x0 :cond_3 if-nez p1, :cond_4 if-eqz p2, :cond_5 :cond_4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$ViewFlinger; invoke-virtual {v0, p1, p2, p3}, Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;->smoothScrollBy(IILandroid/view/animation/Interpolator;)V :cond_5 return-void .end method .method public smoothScrollToPosition(I)V .locals 2 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutFrozen:Z if-eqz v0, :cond_0 return-void :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-nez v0, :cond_1 const-string p1, "RecyclerView" const-string v0, "Cannot smooth scroll without a LayoutManager set. Call setLayoutManager with a non-null argument." invoke-static {p1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I return-void :cond_1 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {v0, p0, v1, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->smoothScrollToPosition(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$State;I)V return-void .end method .method startInterceptRequestLayout()V .locals 2 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 iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I if-ne v0, v1, :cond_0 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutFrozen:Z if-nez v0, :cond_0 const/4 v0, 0x0 iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z :cond_0 return-void .end method .method public startNestedScroll(I)Z .locals 1 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper; move-result-object v0 invoke-virtual {v0, p1}, Landroidx/core/view/NestedScrollingChildHelper;->startNestedScroll(I)Z move-result p1 return p1 .end method .method public startNestedScroll(II)Z .locals 1 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper; move-result-object v0 invoke-virtual {v0, p1, p2}, Landroidx/core/view/NestedScrollingChildHelper;->startNestedScroll(II)Z move-result p1 return p1 .end method .method stopInterceptRequestLayout(Z)V .locals 3 iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I const/4 v1, 0x1 if-gtz v0, :cond_0 iput v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I :cond_0 const/4 v0, 0x0 if-nez p1, :cond_1 iget-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutFrozen:Z if-nez v2, :cond_1 iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z :cond_1 iget v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I if-ne v2, v1, :cond_3 if-eqz p1, :cond_2 iget-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z if-eqz p1, :cond_2 iget-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutFrozen:Z if-nez p1, :cond_2 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz p1, :cond_2 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; if-eqz p1, :cond_2 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayout()V :cond_2 iget-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutFrozen:Z if-nez p1, :cond_3 iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z :cond_3 iget p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I sub-int/2addr p1, v1 iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I return-void .end method .method public stopNestedScroll()V .locals 1 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper; move-result-object v0 invoke-virtual {v0}, Landroidx/core/view/NestedScrollingChildHelper;->stopNestedScroll()V return-void .end method .method public stopNestedScroll(I)V .locals 1 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper; move-result-object v0 invoke-virtual {v0, p1}, Landroidx/core/view/NestedScrollingChildHelper;->stopNestedScroll(I)V return-void .end method .method public stopScroll()V .locals 1 const/4 v0, 0x0 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->stopScrollersInternal()V return-void .end method .method public swapAdapter(Landroidx/recyclerview/widget/RecyclerView$Adapter;Z)V .locals 1 .param p1 # Landroidx/recyclerview/widget/RecyclerView$Adapter; .annotation build Landroidx/annotation/Nullable; .end annotation .end param const/4 v0, 0x0 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setLayoutFrozen(Z)V const/4 v0, 0x1 invoke-direct {p0, p1, v0, p2}, Landroidx/recyclerview/widget/RecyclerView;->setAdapterInternal(Landroidx/recyclerview/widget/RecyclerView$Adapter;ZZ)V invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->processDataSetCompletelyChanged(Z)V invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V return-void .end method .method viewRangeUpdate(IILjava/lang/Object;)V .locals 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 add-int v1, p1, p2 const/4 v2, 0x0 :goto_0 if-ge v2, v0, :cond_1 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View; move-result-object v3 invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v4 if-eqz v4, :cond_0 invoke-virtual {v4}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z move-result v5 if-nez v5, :cond_0 iget v5, v4, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I if-lt v5, p1, :cond_0 iget v5, v4, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I if-ge v5, v1, :cond_0 const/4 v5, 0x2 invoke-virtual {v4, v5}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->addFlags(I)V invoke-virtual {v4, p3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->addChangePayload(Ljava/lang/Object;)V invoke-virtual {v3}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams; move-result-object v3 check-cast v3, Landroidx/recyclerview/widget/RecyclerView$LayoutParams; const/4 v4, 0x1 iput-boolean v4, v3, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mInsetsDirty:Z :cond_0 add-int/lit8 v2, v2, 0x1 goto :goto_0 :cond_1 iget-object p3, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; invoke-virtual {p3, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->viewRangeUpdate(II)V return-void .end method