.class public Landroidx/recyclerview/widget/RecyclerView; .super Landroid/view/ViewGroup; .source "SourceFile" # interfaces .implements Landroidx/core/view/ScrollingView; .implements Landroidx/core/view/NestedScrollingChild2; .implements Landroidx/core/view/NestedScrollingChild3; # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback;, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;, Landroidx/recyclerview/widget/RecyclerView$ItemAnimatorRestoreListener;, Landroidx/recyclerview/widget/RecyclerView$OnFlingListener;, Landroidx/recyclerview/widget/RecyclerView$State;, Landroidx/recyclerview/widget/RecyclerView$SavedState;, Landroidx/recyclerview/widget/RecyclerView$AdapterDataObservable;, Landroidx/recyclerview/widget/RecyclerView$SmoothScroller;, Landroidx/recyclerview/widget/RecyclerView$AdapterDataObserver;, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;, Landroidx/recyclerview/widget/RecyclerView$OnChildAttachStateChangeListener;, Landroidx/recyclerview/widget/RecyclerView$RecyclerListener;, Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;, Landroidx/recyclerview/widget/RecyclerView$SimpleOnItemTouchListener;, Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;, Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;, Landroidx/recyclerview/widget/RecyclerView$Adapter;, Landroidx/recyclerview/widget/RecyclerView$ViewCacheExtension;, Landroidx/recyclerview/widget/RecyclerView$Recycler;, Landroidx/recyclerview/widget/RecyclerView$RecycledViewPool;, Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;, Landroidx/recyclerview/widget/RecyclerView$RecyclerViewDataObserver;, Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;, Landroidx/recyclerview/widget/RecyclerView$Orientation; } .end annotation # static fields .field static final ALLOW_SIZE_IN_UNSPECIFIED_SPEC:Z .field static final ALLOW_THREAD_GAP_WORK:Z .field static final DEBUG:Z = false .field static final DEFAULT_ORIENTATION:I = 0x1 .field static final DISPATCH_TEMP_DETACH:Z = false .field private static final FORCE_ABS_FOCUS_SEARCH_DIRECTION:Z .field static final FORCE_INVALIDATE_DISPLAY_LIST:Z .field static final FOREVER_NS:J = 0x7fffffffffffffffL .field public static final HORIZONTAL:I = 0x0 .field private static final IGNORE_DETACHED_FOCUSED_CHILD:Z .field private static final INVALID_POINTER:I = -0x1 .field public static final INVALID_TYPE:I = -0x1 .field private static final LAYOUT_MANAGER_CONSTRUCTOR_SIGNATURE:[Ljava/lang/Class; .annotation system Ldalvik/annotation/Signature; value = { "[", "Ljava/lang/Class<", "*>;" } .end annotation .end field .field static final MAX_SCROLL_DURATION:I = 0x7d0 .field private static final NESTED_SCROLLING_ATTRS:[I .field public static final NO_ID:J = -0x1L .field public static final NO_POSITION:I = -0x1 .field static final POST_UPDATES_ON_ANIMATION:Z .field public static final SCROLL_STATE_DRAGGING:I = 0x1 .field public static final SCROLL_STATE_IDLE:I = 0x0 .field public static final SCROLL_STATE_SETTLING:I = 0x2 .field static final TAG:Ljava/lang/String; = "RecyclerView" .field public static final TOUCH_SLOP_DEFAULT:I = 0x0 .field public static final TOUCH_SLOP_PAGING:I = 0x1 .field static final TRACE_BIND_VIEW_TAG:Ljava/lang/String; = "RV OnBindView" .field static final TRACE_CREATE_VIEW_TAG:Ljava/lang/String; = "RV CreateView" .field private static final TRACE_HANDLE_ADAPTER_UPDATES_TAG:Ljava/lang/String; = "RV PartialInvalidate" .field static final TRACE_NESTED_PREFETCH_TAG:Ljava/lang/String; = "RV Nested Prefetch" .field private static final TRACE_ON_DATA_SET_CHANGE_LAYOUT_TAG:Ljava/lang/String; = "RV FullInvalidate" .field private static final TRACE_ON_LAYOUT_TAG:Ljava/lang/String; = "RV OnLayout" .field static final TRACE_PREFETCH_TAG:Ljava/lang/String; = "RV Prefetch" .field static final TRACE_SCROLL_TAG:Ljava/lang/String; = "RV Scroll" .field public static final UNDEFINED_DURATION:I = -0x80000000 .field static final VERBOSE_TRACING:Z = false .field public static final VERTICAL:I = 0x1 .field static final sQuinticInterpolator:Landroid/view/animation/Interpolator; # instance fields .field mAccessibilityDelegate:Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate; .field private final mAccessibilityManager:Landroid/view/accessibility/AccessibilityManager; .field mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; .field mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper; .field mAdapterUpdateDuringMeasure:Z .field private mBottomGlow:Landroid/widget/EdgeEffect; .field private mChildDrawingOrderCallback:Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback; .field mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .field mClipToPadding:Z .field mDataSetHasChangedAfterLayout:Z .field mDispatchItemsChangedEvent:Z .field private mDispatchScrollCounter:I .field private mEatenAccessibilityChangeFlags:I .field private mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory; .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 private mInterceptingOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener; .field mIsAttached:Z .field mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; .field private mItemAnimatorListener:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemAnimatorListener; .field private mItemAnimatorRunner:Ljava/lang/Runnable; .field final mItemDecorations:Ljava/util/ArrayList; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/ArrayList<", "Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;", ">;" } .end annotation .end field .field mItemsAddedOrRemoved:Z .field mItemsChanged:Z .field private mLastAutoMeasureNonExactMeasuredHeight:I .field private mLastAutoMeasureNonExactMeasuredWidth:I .field private mLastAutoMeasureSkippedDueToExact:Z .field private mLastTouchX:I .field private mLastTouchY:I .field mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .annotation build Landroidx/annotation/VisibleForTesting; .end annotation .end field .field private mLayoutOrScrollCounter:I .field mLayoutSuppressed:Z .field mLayoutWasDefered:Z .field private mLeftGlow:Landroid/widget/EdgeEffect; .field private final mMaxFlingVelocity:I .field private final mMinFlingVelocity:I .field private final mMinMaxLayoutPositions:[I .field private final mNestedOffsets:[I .field private final mObserver:Landroidx/recyclerview/widget/RecyclerView$RecyclerViewDataObserver; .field private mOnChildAttachStateListeners:Ljava/util/List; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/List<", "Landroidx/recyclerview/widget/RecyclerView$OnChildAttachStateChangeListener;", ">;" } .end annotation .end field .field private mOnFlingListener:Landroidx/recyclerview/widget/RecyclerView$OnFlingListener; .field private final mOnItemTouchListeners:Ljava/util/ArrayList; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/ArrayList<", "Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;", ">;" } .end annotation .end field .field final mPendingAccessibilityImportanceChange:Ljava/util/List; .annotation 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 mPendingSavedState:Landroidx/recyclerview/widget/RecyclerView$SavedState; .field mPostedAnimatorRunner:Z .field mPrefetchRegistry:Landroidx/recyclerview/widget/GapWorker$LayoutPrefetchRegistryImpl; .field private mPreserveFocusAfterLayout:Z .field final mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; .field mRecyclerListener:Landroidx/recyclerview/widget/RecyclerView$RecyclerListener; .field final mRecyclerListeners:Ljava/util/List; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/List<", "Landroidx/recyclerview/widget/RecyclerView$RecyclerListener;", ">;" } .end annotation .end field .field final mReusableIntPair:[I .field private mRightGlow:Landroid/widget/EdgeEffect; .field private mScaledHorizontalScrollFactor:F .field private mScaledVerticalScrollFactor:F .field private mScrollListener:Landroidx/recyclerview/widget/RecyclerView$OnScrollListener; .field private mScrollListeners:Ljava/util/List; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/List<", "Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;", ">;" } .end annotation .end field .field private final mScrollOffset:[I .field private mScrollPointerId:I .field private mScrollState:I .field private mScrollingChildHelper:Landroidx/core/view/NestedScrollingChildHelper; .field final mState:Landroidx/recyclerview/widget/RecyclerView$State; .field final mTempRect:Landroid/graphics/Rect; .field private final mTempRect2:Landroid/graphics/Rect; .field final mTempRectF:Landroid/graphics/RectF; .field private mTopGlow:Landroid/widget/EdgeEffect; .field private mTouchSlop:I .field final mUpdateChildViewsRunnable:Ljava/lang/Runnable; .field private mVelocityTracker:Landroid/view/VelocityTracker; .field final mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$ViewFlinger; .field private final mViewInfoProcessCallback:Landroidx/recyclerview/widget/ViewInfoStore$ProcessCallback; .field final mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; # direct methods .method static constructor ()V .locals 4 const v0, 0x1010436 filled-new-array {v0}, [I move-result-object v0 sput-object v0, Landroidx/recyclerview/widget/RecyclerView;->NESTED_SCROLLING_ATTRS:[I const/4 v0, 0x0 sput-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->FORCE_INVALIDATE_DISPLAY_LIST:Z const/4 v1, 0x1 sput-boolean v1, Landroidx/recyclerview/widget/RecyclerView;->ALLOW_SIZE_IN_UNSPECIFIED_SPEC:Z sput-boolean v1, Landroidx/recyclerview/widget/RecyclerView;->POST_UPDATES_ON_ANIMATION:Z sput-boolean v1, Landroidx/recyclerview/widget/RecyclerView;->ALLOW_THREAD_GAP_WORK:Z sput-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->FORCE_ABS_FOCUS_SEARCH_DIRECTION:Z sput-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->IGNORE_DETACHED_FOCUSED_CHILD:Z const/4 v2, 0x4 new-array v2, v2, [Ljava/lang/Class; const-class v3, Landroid/content/Context; aput-object v3, v2, v0 const-class v0, Landroid/util/AttributeSet; aput-object v0, v2, v1 sget-object v0, Ljava/lang/Integer;->TYPE:Ljava/lang/Class; const/4 v1, 0x2 aput-object v0, v2, v1 const/4 v1, 0x3 aput-object v0, v2, v1 sput-object v2, Landroidx/recyclerview/widget/RecyclerView;->LAYOUT_MANAGER_CONSTRUCTOR_SIGNATURE:[Ljava/lang/Class; .line 609 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 .line 681 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 sget v0, Landroidx/recyclerview/R$attr;->recyclerViewStyle:I .line 685 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 15 .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 move-object v7, p0 move-object/from16 v8, p1 move-object/from16 v9, p2 move/from16 v10, p3 .line 689 invoke-direct/range {p0 .. p3}, Landroid/view/ViewGroup;->(Landroid/content/Context;Landroid/util/AttributeSet;I)V .line 368 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, v7, Landroidx/recyclerview/widget/RecyclerView;->mObserver:Landroidx/recyclerview/widget/RecyclerView$RecyclerViewDataObserver; .line 370 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, v7, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; .line 387 new-instance v0, Landroidx/recyclerview/widget/ViewInfoStore; invoke-direct {v0}, Landroidx/recyclerview/widget/ViewInfoStore;->()V iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; .line 401 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, v7, Landroidx/recyclerview/widget/RecyclerView;->mUpdateChildViewsRunnable:Ljava/lang/Runnable; .line 421 new-instance v0, Landroid/graphics/Rect; invoke-direct {v0}, Landroid/graphics/Rect;->()V iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; .line 422 new-instance v0, Landroid/graphics/Rect; invoke-direct {v0}, Landroid/graphics/Rect;->()V iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect; .line 423 new-instance v0, Landroid/graphics/RectF; invoke-direct {v0}, Landroid/graphics/RectF;->()V iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mTempRectF:Landroid/graphics/RectF; .line 430 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mRecyclerListeners:Ljava/util/List; .line 431 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; .line 432 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList; const/4 v11, 0x0 iput v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I iput-boolean v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z iput-boolean v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mDispatchItemsChangedEvent:Z iput v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I iput v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mDispatchScrollCounter:I .line 508 new-instance v0, Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory; invoke-direct {v0}, Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;->()V iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory; .line 512 new-instance v0, Landroidx/recyclerview/widget/DefaultItemAnimator; invoke-direct {v0}, Landroidx/recyclerview/widget/DefaultItemAnimator;->()V iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; iput v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I const/4 v12, -0x1 iput v12, v7, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I const/4 v0, 0x1 iput v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mScaledHorizontalScrollFactor:F iput v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mScaledVerticalScrollFactor:F const/4 v13, 0x1 iput-boolean v13, v7, Landroidx/recyclerview/widget/RecyclerView;->mPreserveFocusAfterLayout:Z .line 560 new-instance v0, Landroidx/recyclerview/widget/RecyclerView$ViewFlinger; invoke-direct {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;->(Landroidx/recyclerview/widget/RecyclerView;)V iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$ViewFlinger; sget-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->ALLOW_THREAD_GAP_WORK:Z if-eqz v0, :cond_0 .line 564 new-instance v0, Landroidx/recyclerview/widget/GapWorker$LayoutPrefetchRegistryImpl; invoke-direct {v0}, Landroidx/recyclerview/widget/GapWorker$LayoutPrefetchRegistryImpl;->()V goto :goto_0 :cond_0 const/4 v0, 0x0 :goto_0 iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mPrefetchRegistry:Landroidx/recyclerview/widget/GapWorker$LayoutPrefetchRegistryImpl; .line 566 new-instance v0, Landroidx/recyclerview/widget/RecyclerView$State; invoke-direct {v0}, Landroidx/recyclerview/widget/RecyclerView$State;->()V iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iput-boolean v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mItemsAddedOrRemoved:Z iput-boolean v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mItemsChanged:Z .line 574 new-instance v0, Landroidx/recyclerview/widget/RecyclerView$ItemAnimatorRestoreListener; invoke-direct {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimatorRestoreListener;->(Landroidx/recyclerview/widget/RecyclerView;)V iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimatorListener:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemAnimatorListener; iput-boolean v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mPostedAnimatorRunner:Z const/4 v0, 0x2 new-array v1, v0, [I iput-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mMinMaxLayoutPositions:[I new-array v1, v0, [I iput-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I new-array v1, v0, [I iput-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I new-array v1, v0, [I iput-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I .line 596 new-instance v1, Ljava/util/ArrayList; invoke-direct {v1}, Ljava/util/ArrayList;->()V iput-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mPendingAccessibilityImportanceChange:Ljava/util/List; .line 599 new-instance v1, Landroidx/recyclerview/widget/RecyclerView$2; invoke-direct {v1, p0}, Landroidx/recyclerview/widget/RecyclerView$2;->(Landroidx/recyclerview/widget/RecyclerView;)V iput-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimatorRunner:Ljava/lang/Runnable; iput v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureNonExactMeasuredWidth:I iput v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureNonExactMeasuredHeight:I .line 642 new-instance v1, Landroidx/recyclerview/widget/RecyclerView$4; invoke-direct {v1, p0}, Landroidx/recyclerview/widget/RecyclerView$4;->(Landroidx/recyclerview/widget/RecyclerView;)V iput-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoProcessCallback:Landroidx/recyclerview/widget/ViewInfoStore$ProcessCallback; .line 690 invoke-virtual {p0, v13}, Landroid/view/View;->setScrollContainer(Z)V .line 691 invoke-virtual {p0, v13}, Landroid/view/View;->setFocusableInTouchMode(Z)V .line 693 invoke-static/range {p1 .. p1}, Landroid/view/ViewConfiguration;->get(Landroid/content/Context;)Landroid/view/ViewConfiguration; move-result-object v1 .line 694 invoke-virtual {v1}, Landroid/view/ViewConfiguration;->getScaledTouchSlop()I move-result v2 iput v2, v7, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I .line 696 invoke-static {v1, v8}, Landroidx/core/view/ViewConfigurationCompat;->getScaledHorizontalScrollFactor(Landroid/view/ViewConfiguration;Landroid/content/Context;)F move-result v2 iput v2, v7, Landroidx/recyclerview/widget/RecyclerView;->mScaledHorizontalScrollFactor:F .line 698 invoke-static {v1, v8}, Landroidx/core/view/ViewConfigurationCompat;->getScaledVerticalScrollFactor(Landroid/view/ViewConfiguration;Landroid/content/Context;)F move-result v2 iput v2, v7, Landroidx/recyclerview/widget/RecyclerView;->mScaledVerticalScrollFactor:F .line 699 invoke-virtual {v1}, Landroid/view/ViewConfiguration;->getScaledMinimumFlingVelocity()I move-result v2 iput v2, v7, Landroidx/recyclerview/widget/RecyclerView;->mMinFlingVelocity:I .line 700 invoke-virtual {v1}, Landroid/view/ViewConfiguration;->getScaledMaximumFlingVelocity()I move-result v1 iput v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mMaxFlingVelocity:I .line 701 invoke-virtual {p0}, Landroid/view/View;->getOverScrollMode()I move-result v1 if-ne v1, v0, :cond_1 move v0, v13 goto :goto_1 :cond_1 move v0, v11 :goto_1 invoke-virtual {p0, v0}, Landroid/view/View;->setWillNotDraw(Z)V iget-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; iget-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimatorListener:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemAnimatorListener; .line 703 invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->setListener(Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemAnimatorListener;)V .line 704 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->initAdapterManager()V .line 705 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->initChildrenHelper()V .line 706 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->initAutofill()V .line 708 invoke-static {p0}, Landroidx/core/view/ViewCompat;->getImportantForAccessibility(Landroid/view/View;)I move-result v0 if-nez v0, :cond_2 .line 710 invoke-static {p0, v13}, Landroidx/core/view/ViewCompat;->setImportantForAccessibility(Landroid/view/View;I)V .line 713 :cond_2 invoke-virtual {p0}, Landroid/view/View;->getContext()Landroid/content/Context; move-result-object v0 const-string v1, "accessibility" .line 714 invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; move-result-object v0 check-cast v0, Landroid/view/accessibility/AccessibilityManager; iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mAccessibilityManager:Landroid/view/accessibility/AccessibilityManager; .line 715 new-instance v0, Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate; invoke-direct {v0, p0}, Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate;->(Landroidx/recyclerview/widget/RecyclerView;)V invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setAccessibilityDelegateCompat(Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate;)V .line 717 sget-object v0, Landroidx/recyclerview/R$styleable;->RecyclerView:[I invoke-virtual {v8, v9, v0, v10, v11}, Landroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray; move-result-object v14 .line 719 sget-object v2, Landroidx/recyclerview/R$styleable;->RecyclerView:[I const/4 v6, 0x0 move-object v0, p0 move-object/from16 v1, p1 move-object/from16 v3, p2 move-object v4, v14 move/from16 v5, p3 invoke-static/range {v0 .. v6}, Landroidx/core/view/ViewCompat;->saveAttributeDataForStyleable(Landroid/view/View;Landroid/content/Context;[ILandroid/util/AttributeSet;Landroid/content/res/TypedArray;II)V .line 721 sget v0, Landroidx/recyclerview/R$styleable;->RecyclerView_layoutManager:I invoke-virtual {v14, v0}, Landroid/content/res/TypedArray;->getString(I)Ljava/lang/String; move-result-object v2 .line 722 sget v0, Landroidx/recyclerview/R$styleable;->RecyclerView_android_descendantFocusability:I invoke-virtual {v14, v0, v12}, Landroid/content/res/TypedArray;->getInt(II)I move-result v0 if-ne v0, v12, :cond_3 const/high16 v0, 0x40000 .line 725 invoke-virtual {p0, v0}, Landroid/view/ViewGroup;->setDescendantFocusability(I)V .line 727 :cond_3 sget v0, Landroidx/recyclerview/R$styleable;->RecyclerView_android_clipToPadding:I invoke-virtual {v14, v0, v13}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z move-result v0 iput-boolean v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z .line 728 sget v0, Landroidx/recyclerview/R$styleable;->RecyclerView_fastScrollEnabled:I invoke-virtual {v14, v0, v11}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z move-result v0 iput-boolean v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mEnableFastScroller:Z if-eqz v0, :cond_4 .line 730 sget v0, Landroidx/recyclerview/R$styleable;->RecyclerView_fastScrollVerticalThumbDrawable:I .line 731 invoke-virtual {v14, v0}, Landroid/content/res/TypedArray;->getDrawable(I)Landroid/graphics/drawable/Drawable; move-result-object v0 check-cast v0, Landroid/graphics/drawable/StateListDrawable; .line 732 sget v1, Landroidx/recyclerview/R$styleable;->RecyclerView_fastScrollVerticalTrackDrawable:I .line 733 invoke-virtual {v14, v1}, Landroid/content/res/TypedArray;->getDrawable(I)Landroid/graphics/drawable/Drawable; move-result-object v1 .line 734 sget v3, Landroidx/recyclerview/R$styleable;->RecyclerView_fastScrollHorizontalThumbDrawable:I .line 735 invoke-virtual {v14, v3}, Landroid/content/res/TypedArray;->getDrawable(I)Landroid/graphics/drawable/Drawable; move-result-object v3 check-cast v3, Landroid/graphics/drawable/StateListDrawable; .line 736 sget v4, Landroidx/recyclerview/R$styleable;->RecyclerView_fastScrollHorizontalTrackDrawable:I .line 737 invoke-virtual {v14, v4}, Landroid/content/res/TypedArray;->getDrawable(I)Landroid/graphics/drawable/Drawable; move-result-object v4 .line 738 invoke-virtual {p0, v0, v1, v3, v4}, Landroidx/recyclerview/widget/RecyclerView;->initFastScroller(Landroid/graphics/drawable/StateListDrawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/StateListDrawable;Landroid/graphics/drawable/Drawable;)V .line 741 :cond_4 invoke-virtual {v14}, Landroid/content/res/TypedArray;->recycle()V const/4 v5, 0x0 move-object v0, p0 move-object/from16 v1, p1 move-object/from16 v3, p2 move/from16 v4, p3 .line 744 invoke-direct/range {v0 .. v5}, Landroidx/recyclerview/widget/RecyclerView;->createLayoutManager(Landroid/content/Context;Ljava/lang/String;Landroid/util/AttributeSet;II)V sget-object v2, Landroidx/recyclerview/widget/RecyclerView;->NESTED_SCROLLING_ATTRS:[I .line 748 invoke-virtual {v8, v9, v2, v10, v11}, Landroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray; move-result-object v12 const/4 v6, 0x0 move-object v0, p0 move-object/from16 v1, p1 move-object/from16 v3, p2 move-object v4, v12 move/from16 v5, p3 .line 750 invoke-static/range {v0 .. v6}, Landroidx/core/view/ViewCompat;->saveAttributeDataForStyleable(Landroid/view/View;Landroid/content/Context;[ILandroid/util/AttributeSet;Landroid/content/res/TypedArray;II)V .line 752 invoke-virtual {v12, v11, v13}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z move-result v0 .line 753 invoke-virtual {v12}, Landroid/content/res/TypedArray;->recycle()V .line 756 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setNestedScrollingEnabled(Z)V return-void .end method .method public static synthetic access$000(Landroidx/recyclerview/widget/RecyclerView;Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V .locals 0 .line 212 invoke-virtual {p0, p1, p2, p3}, Landroid/view/ViewGroup;->attachViewToParent(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V return-void .end method .method public static synthetic access$100(Landroidx/recyclerview/widget/RecyclerView;I)V .locals 0 .line 212 invoke-virtual {p0, p1}, Landroid/view/ViewGroup;->detachViewFromParent(I)V return-void .end method .method public static synthetic access$200(Landroidx/recyclerview/widget/RecyclerView;)Z .locals 0 .line 212 invoke-virtual {p0}, Landroid/view/View;->awakenScrollBars()Z move-result p0 return p0 .end method .method public static synthetic access$300(Landroidx/recyclerview/widget/RecyclerView;II)V .locals 0 .line 212 invoke-virtual {p0, p1, p2}, Landroid/view/View;->setMeasuredDimension(II)V return-void .end method .method private addAnimatingView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V .locals 5 .line 1499 iget-object v0, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; .line 1500 invoke-virtual {v0}, Landroid/view/View;->getParent()Landroid/view/ViewParent; move-result-object v1 const/4 v2, 0x1 if-ne v1, p0, :cond_0 move v1, v2 goto :goto_0 :cond_0 const/4 v1, 0x0 :goto_0 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; .line 1501 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolder(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v4 invoke-virtual {v3, v4}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->unscrapView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V .line 1502 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 .line 1504 invoke-virtual {v0}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams; move-result-object v3 invoke-virtual {p1, v0, v1, v3, v2}, Landroidx/recyclerview/widget/ChildHelper;->attachViewToParent(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;Z)V goto :goto_1 :cond_1 if-nez v1, :cond_2 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 1506 invoke-virtual {p1, v0, v2}, Landroidx/recyclerview/widget/ChildHelper;->addView(Landroid/view/View;Z)V goto :goto_1 :cond_2 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 1508 invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/ChildHelper;->hide(Landroid/view/View;)V :goto_1 return-void .end method .method private animateChange(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;ZZ)V .locals 1 .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 .line 4555 invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->setIsRecyclable(Z)V if-eqz p5, :cond_0 .line 4557 invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->addAnimatingView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V :cond_0 if-eq p1, p2, :cond_2 if-eqz p6, :cond_1 .line 4561 invoke-direct {p0, p2}, Landroidx/recyclerview/widget/RecyclerView;->addAnimatingView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V .line 4563 :cond_1 iput-object p2, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mShadowedHolder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder; .line 4565 invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->addAnimatingView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V iget-object p5, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; .line 4566 invoke-virtual {p5, p1}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->unscrapView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V .line 4567 invoke-virtual {p2, v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->setIsRecyclable(Z)V .line 4568 iput-object p1, p2, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mShadowingHolder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder; :cond_2 iget-object p5, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; .line 4570 invoke-virtual {p5, p1, p2, p3, p4}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->animateChange(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)Z move-result p1 if-eqz p1, :cond_3 .line 4571 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->postAnimationRunner()V :cond_3 return-void .end method .method private cancelScroll()V .locals 1 .line 3587 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->resetScroll()V const/4 v0, 0x0 .line 3588 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V return-void .end method .method public static clearNestedRecyclerViewIfNotNested(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V .locals 3 .param p0 # Landroidx/recyclerview/widget/RecyclerView$ViewHolder; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .line 6033 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mNestedRecyclerView:Ljava/lang/ref/WeakReference; if-eqz v0, :cond_3 .line 6034 invoke-virtual {v0}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object; move-result-object v0 check-cast v0, Landroid/view/View; :goto_0 const/4 v1, 0x0 if-eqz v0, :cond_2 .line 6036 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; if-ne v0, v2, :cond_0 return-void .line 6040 :cond_0 invoke-virtual {v0}, Landroid/view/View;->getParent()Landroid/view/ViewParent; move-result-object v0 .line 6041 instance-of v2, v0, Landroid/view/View; if-eqz v2, :cond_1 .line 6042 check-cast v0, Landroid/view/View; goto :goto_0 :cond_1 move-object v0, v1 goto :goto_0 .line 6047 :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 const-string v0, ": Could not instantiate the LayoutManager: " if-eqz p2, :cond_1 .line 816 invoke-virtual {p2}, Ljava/lang/String;->trim()Ljava/lang/String; move-result-object p2 .line 817 invoke-virtual {p2}, Ljava/lang/String;->isEmpty()Z move-result v1 if-nez v1, :cond_1 .line 818 invoke-direct {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->getFullClassName(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String; move-result-object p2 .line 821 :try_start_0 invoke-virtual {p0}, Landroid/view/View;->isInEditMode()Z move-result v1 if-eqz v1, :cond_0 .line 823 invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class; move-result-object v1 invoke-virtual {v1}, Ljava/lang/Class;->getClassLoader()Ljava/lang/ClassLoader; move-result-object v1 goto :goto_0 :catch_0 move-exception p1 goto :goto_2 :catch_1 move-exception p1 goto/16 :goto_3 :catch_2 move-exception p1 goto/16 :goto_4 :catch_3 move-exception p1 goto/16 :goto_5 :catch_4 move-exception p1 goto/16 :goto_6 .line 825 :cond_0 invoke-virtual {p1}, Landroid/content/Context;->getClassLoader()Ljava/lang/ClassLoader; move-result-object v1 :goto_0 const/4 v2, 0x0 .line 828 invoke-static {p2, v2, v1}, Ljava/lang/Class;->forName(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class; move-result-object v1 const-class v3, Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 829 invoke-virtual {v1, v3}, Ljava/lang/Class;->asSubclass(Ljava/lang/Class;)Ljava/lang/Class; move-result-object v1 :try_end_0 .catch Ljava/lang/ClassNotFoundException; {:try_start_0 .. :try_end_0} :catch_4 .catch Ljava/lang/reflect/InvocationTargetException; {:try_start_0 .. :try_end_0} :catch_3 .catch Ljava/lang/InstantiationException; {:try_start_0 .. :try_end_0} :catch_2 .catch Ljava/lang/IllegalAccessException; {:try_start_0 .. :try_end_0} :catch_1 .catch Ljava/lang/ClassCastException; {:try_start_0 .. :try_end_0} :catch_0 const/4 v3, 0x1 :try_start_1 sget-object v4, Landroidx/recyclerview/widget/RecyclerView;->LAYOUT_MANAGER_CONSTRUCTOR_SIGNATURE:[Ljava/lang/Class; .line 834 invoke-virtual {v1, v4}, Ljava/lang/Class;->getConstructor([Ljava/lang/Class;)Ljava/lang/reflect/Constructor; move-result-object v4 const/4 v5, 0x4 new-array v5, v5, [Ljava/lang/Object; aput-object p1, v5, v2 aput-object p3, v5, v3 .line 835 invoke-static {p4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p1 const/4 p4, 0x2 aput-object p1, v5, p4 invoke-static {p5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p1 const/4 p4, 0x3 aput-object p1, v5, p4 :try_end_1 .catch Ljava/lang/NoSuchMethodException; {:try_start_1 .. :try_end_1} :catch_5 .catch Ljava/lang/ClassNotFoundException; {:try_start_1 .. :try_end_1} :catch_4 .catch Ljava/lang/reflect/InvocationTargetException; {:try_start_1 .. :try_end_1} :catch_3 .catch Ljava/lang/InstantiationException; {:try_start_1 .. :try_end_1} :catch_2 .catch Ljava/lang/IllegalAccessException; {:try_start_1 .. :try_end_1} :catch_1 .catch Ljava/lang/ClassCastException; {:try_start_1 .. :try_end_1} :catch_0 goto :goto_1 :catch_5 move-exception p1 :try_start_2 new-array p4, v2, [Ljava/lang/Class; .line 838 invoke-virtual {v1, p4}, Ljava/lang/Class;->getConstructor([Ljava/lang/Class;)Ljava/lang/reflect/Constructor; move-result-object v4 :try_end_2 .catch Ljava/lang/NoSuchMethodException; {:try_start_2 .. :try_end_2} :catch_6 .catch Ljava/lang/ClassNotFoundException; {:try_start_2 .. :try_end_2} :catch_4 .catch Ljava/lang/reflect/InvocationTargetException; {:try_start_2 .. :try_end_2} :catch_3 .catch Ljava/lang/InstantiationException; {:try_start_2 .. :try_end_2} :catch_2 .catch Ljava/lang/IllegalAccessException; {:try_start_2 .. :try_end_2} :catch_1 .catch Ljava/lang/ClassCastException; {:try_start_2 .. :try_end_2} :catch_0 const/4 v5, 0x0 .line 845 :goto_1 :try_start_3 invoke-virtual {v4, v3}, Ljava/lang/reflect/AccessibleObject;->setAccessible(Z)V .line 846 invoke-virtual {v4, v5}, Ljava/lang/reflect/Constructor;->newInstance([Ljava/lang/Object;)Ljava/lang/Object; move-result-object p1 check-cast p1, Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->setLayoutManager(Landroidx/recyclerview/widget/RecyclerView$LayoutManager;)V goto/16 :goto_7 :catch_6 move-exception p4 .line 840 invoke-virtual {p4, p1}, Ljava/lang/Throwable;->initCause(Ljava/lang/Throwable;)Ljava/lang/Throwable; .line 841 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 v1 invoke-virtual {p5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v1, ": Error creating LayoutManager " invoke-virtual {p5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p5, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p5 invoke-direct {p1, p5, p4}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;Ljava/lang/Throwable;)V throw p1 :try_end_3 .catch Ljava/lang/ClassNotFoundException; {:try_start_3 .. :try_end_3} :catch_4 .catch Ljava/lang/reflect/InvocationTargetException; {:try_start_3 .. :try_end_3} :catch_3 .catch Ljava/lang/InstantiationException; {:try_start_3 .. :try_end_3} :catch_2 .catch Ljava/lang/IllegalAccessException; {:try_start_3 .. :try_end_3} :catch_1 .catch Ljava/lang/ClassCastException; {:try_start_3 .. :try_end_3} :catch_0 .line 860 :goto_2 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 .line 857 :goto_3 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 .line 854 :goto_4 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; invoke-virtual {p5, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p5, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p2 invoke-direct {p4, p2, p1}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;Ljava/lang/Throwable;)V throw p4 .line 851 :goto_5 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; invoke-virtual {p5, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p5, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p2 invoke-direct {p4, p2, p1}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;Ljava/lang/Throwable;)V throw p4 .line 848 :goto_6 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 :goto_7 return-void .end method .method private didChildRangeChange(II)Z .locals 4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinMaxLayoutPositions:[I .line 4501 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 .line 4502 aget v2, v0, v1 const/4 v3, 0x1 if-ne v2, p1, :cond_0 aget p1, v0, v3 if-eq p1, p2, :cond_1 :cond_0 move v1, v3 :cond_1 return v1 .end method .method private dispatchContentChangedIfNecessary()V .locals 3 iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mEatenAccessibilityChangeFlags:I const/4 v1, 0x0 iput v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mEatenAccessibilityChangeFlags:I if-eqz v0, :cond_0 .line 3826 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isAccessibilityEnabled()Z move-result v1 if-eqz v1, :cond_0 .line 3827 invoke-static {}, Landroid/view/accessibility/AccessibilityEvent;->obtain()Landroid/view/accessibility/AccessibilityEvent; move-result-object v1 const/16 v2, 0x800 .line 3828 invoke-virtual {v1, v2}, Landroid/view/accessibility/AccessibilityEvent;->setEventType(I)V .line 3829 invoke-static {v1, v0}, Landroidx/core/view/accessibility/AccessibilityEventCompat;->setContentChangeTypes(Landroid/view/accessibility/AccessibilityEvent;I)V .line 3830 invoke-virtual {p0, v1}, Landroidx/recyclerview/widget/RecyclerView;->sendAccessibilityEventUnchecked(Landroid/view/accessibility/AccessibilityEvent;)V :cond_0 return-void .end method .method private dispatchLayoutStep1()V .locals 8 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; const/4 v1, 0x1 .line 4203 invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$State;->assertLayoutStep(I)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4204 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->fillRemainingScrollValues(Landroidx/recyclerview/widget/RecyclerView$State;)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; const/4 v2, 0x0 .line 4205 iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mIsMeasuring:Z .line 4206 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; .line 4207 invoke-virtual {v0}, Landroidx/recyclerview/widget/ViewInfoStore;->clear()V .line 4208 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V .line 4209 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->processAdapterUpdatesAndSetAnimationFlags()V .line 4210 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->saveFocusInfo()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4211 iget-boolean v3, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunSimpleAnimations:Z if-eqz v3, :cond_0 iget-boolean v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemsChanged:Z if-eqz v3, :cond_0 goto :goto_0 :cond_0 move v1, v2 :goto_0 iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mTrackOldChangeHolders:Z iput-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemsChanged:Z iput-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemsAddedOrRemoved:Z .line 4213 iget-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunPredictiveAnimations:Z iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mInPreLayout:Z iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; .line 4214 invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->getItemCount()I move-result v1 iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mItemCount:I iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinMaxLayoutPositions:[I .line 4215 invoke-direct {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->findMinMaxChildLayoutPositions([I)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4217 iget-boolean v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunSimpleAnimations:Z if-eqz v0, :cond_3 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 4219 invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I move-result v0 move v1, v2 :goto_1 if-ge v1, v0, :cond_3 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 4221 invoke-virtual {v3, v1}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View; move-result-object v3 invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v3 .line 4222 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z move-result v4 if-nez v4, :cond_2 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isInvalid()Z move-result v4 if-eqz v4, :cond_1 iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; invoke-virtual {v4}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z move-result v4 if-nez v4, :cond_1 goto :goto_2 :cond_1 iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4227 invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->buildAdapterChangeFlagsForAnimations(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)I move-result v6 .line 4228 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getUnmodifiedPayloads()Ljava/util/List; move-result-object v7 .line 4226 invoke-virtual {v4, v5, v3, v6, v7}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->recordPreLayoutInformation(Landroidx/recyclerview/widget/RecyclerView$State;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;ILjava/util/List;)Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo; move-result-object v4 iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; .line 4229 invoke-virtual {v5, v3, v4}, Landroidx/recyclerview/widget/ViewInfoStore;->addToPreLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4230 iget-boolean v4, v4, Landroidx/recyclerview/widget/RecyclerView$State;->mTrackOldChangeHolders:Z if-eqz v4, :cond_2 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isUpdated()Z move-result v4 if-eqz v4, :cond_2 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isRemoved()Z move-result v4 if-nez v4, :cond_2 .line 4231 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z move-result v4 if-nez v4, :cond_2 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isInvalid()Z move-result v4 if-nez v4, :cond_2 .line 4232 invoke-virtual {p0, v3}, Landroidx/recyclerview/widget/RecyclerView;->getChangedHolderKey(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)J move-result-wide v4 iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; .line 4240 invoke-virtual {v6, v4, v5, v3}, Landroidx/recyclerview/widget/ViewInfoStore;->addToOldChangeHolders(JLandroidx/recyclerview/widget/RecyclerView$ViewHolder;)V :cond_2 :goto_2 add-int/lit8 v1, v1, 0x1 goto :goto_1 :cond_3 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4244 iget-boolean v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunPredictiveAnimations:Z if-eqz v0, :cond_9 .line 4251 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->saveOldPositions()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4252 iget-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z .line 4253 iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; .line 4255 invoke-virtual {v3, v4, v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onLayoutChildren(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4256 iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z move v0, v2 :goto_3 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 4258 invoke-virtual {v1}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I move-result v1 if-ge v0, v1, :cond_8 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 4259 invoke-virtual {v1, v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View; move-result-object v1 .line 4260 invoke-static {v1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v1 .line 4261 invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z move-result v3 if-eqz v3, :cond_4 goto :goto_4 :cond_4 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; .line 4264 invoke-virtual {v3, v1}, Landroidx/recyclerview/widget/ViewInfoStore;->isInPreLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Z move-result v3 if-nez v3, :cond_7 .line 4265 invoke-static {v1}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->buildAdapterChangeFlagsForAnimations(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)I move-result v3 const/16 v4, 0x2000 .line 4267 invoke-virtual {v1, v4}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->hasAnyOfTheFlags(I)Z move-result v4 if-nez v4, :cond_5 or-int/lit16 v3, v3, 0x1000 :cond_5 iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4272 invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getUnmodifiedPayloads()Ljava/util/List; move-result-object v7 .line 4271 invoke-virtual {v5, v6, v1, v3, v7}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->recordPreLayoutInformation(Landroidx/recyclerview/widget/RecyclerView$State;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;ILjava/util/List;)Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo; move-result-object v3 if-eqz v4, :cond_6 .line 4274 invoke-virtual {p0, v1, v3}, Landroidx/recyclerview/widget/RecyclerView;->recordAnimationInfoIfBouncedHiddenView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V goto :goto_4 :cond_6 iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; .line 4276 invoke-virtual {v4, v1, v3}, Landroidx/recyclerview/widget/ViewInfoStore;->addToAppearedInPreLayoutHolders(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V :cond_7 :goto_4 add-int/lit8 v0, v0, 0x1 goto :goto_3 .line 4281 :cond_8 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->clearOldPositions()V goto :goto_5 .line 4283 :cond_9 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->clearOldPositions()V .line 4285 :goto_5 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V .line 4286 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 .line 4287 iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mLayoutStep:I return-void .end method .method private dispatchLayoutStep2()V .locals 4 .line 4295 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V .line 4296 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; const/4 v1, 0x6 .line 4297 invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$State;->assertLayoutStep(I)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper; .line 4298 invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->consumeUpdatesInOnePass()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; .line 4299 invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->getItemCount()I move-result v1 iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mItemCount:I iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; const/4 v1, 0x0 .line 4300 iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mDeletedInvisibleItemCountSincePreviousLayout:I iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingSavedState:Landroidx/recyclerview/widget/RecyclerView$SavedState; if-eqz v0, :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; .line 4301 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->canRestoreState()Z move-result v0 if-eqz v0, :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingSavedState:Landroidx/recyclerview/widget/RecyclerView$SavedState; .line 4302 iget-object v0, v0, Landroidx/recyclerview/widget/RecyclerView$SavedState;->mLayoutState:Landroid/os/Parcelable; if-eqz v0, :cond_0 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 4303 invoke-virtual {v2, v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onRestoreInstanceState(Landroid/os/Parcelable;)V :cond_0 const/4 v0, 0x0 iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingSavedState:Landroidx/recyclerview/widget/RecyclerView$SavedState; :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4308 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; .line 4309 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; .line 4311 iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z .line 4314 iget-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunSimpleAnimations:Z if-eqz v2, :cond_2 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; if-eqz v2, :cond_2 const/4 v2, 0x1 goto :goto_0 :cond_2 move v2, v1 :goto_0 iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunSimpleAnimations:Z const/4 v2, 0x4 .line 4315 iput v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mLayoutStep:I .line 4316 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V .line 4317 invoke-virtual {p0, v1}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V return-void .end method .method private dispatchLayoutStep3()V .locals 11 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; const/4 v1, 0x4 .line 4325 invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$State;->assertLayoutStep(I)V .line 4326 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V .line 4327 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; const/4 v1, 0x1 .line 4328 iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mLayoutStep:I .line 4329 iget-boolean v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunSimpleAnimations:Z if-eqz v0, :cond_5 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 4333 invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I move-result v0 sub-int/2addr v0, v1 :goto_0 if-ltz v0, :cond_4 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 4334 invoke-virtual {v2, v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View; move-result-object v2 invoke-static {v2}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v5 .line 4335 invoke-virtual {v5}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z move-result v2 if-eqz v2, :cond_0 goto :goto_1 .line 4338 :cond_0 invoke-virtual {p0, v5}, Landroidx/recyclerview/widget/RecyclerView;->getChangedHolderKey(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)J move-result-wide v2 iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4340 invoke-virtual {v4, v6, v5}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->recordPostLayoutInformation(Landroidx/recyclerview/widget/RecyclerView$State;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo; move-result-object v4 iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; .line 4341 invoke-virtual {v6, v2, v3}, Landroidx/recyclerview/widget/ViewInfoStore;->getFromOldChangeHolders(J)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v6 if-eqz v6, :cond_3 .line 4342 invoke-virtual {v6}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z move-result v7 if-nez v7, :cond_3 iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; .line 4353 invoke-virtual {v7, v6}, Landroidx/recyclerview/widget/ViewInfoStore;->isDisappearing(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Z move-result v8 iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; .line 4355 invoke-virtual {v7, v5}, Landroidx/recyclerview/widget/ViewInfoStore;->isDisappearing(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Z move-result v9 if-eqz v8, :cond_1 if-ne v6, v5, :cond_1 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; .line 4358 invoke-virtual {v2, v5, v4}, Landroidx/recyclerview/widget/ViewInfoStore;->addToPostLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V goto :goto_1 :cond_1 iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; .line 4360 invoke-virtual {v7, v6}, Landroidx/recyclerview/widget/ViewInfoStore;->popFromPreLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo; move-result-object v7 iget-object v10, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; .line 4363 invoke-virtual {v10, v5, v4}, Landroidx/recyclerview/widget/ViewInfoStore;->addToPostLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; .line 4364 invoke-virtual {v4, v5}, Landroidx/recyclerview/widget/ViewInfoStore;->popFromPostLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo; move-result-object v10 if-nez v7, :cond_2 .line 4366 invoke-direct {p0, v2, v3, v5, v6}, Landroidx/recyclerview/widget/RecyclerView;->handleMissingPreInfoForChangeError(JLandroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V goto :goto_1 :cond_2 move-object v3, p0 move-object v4, v6 move-object v6, v7 move-object v7, v10 .line 4368 invoke-direct/range {v3 .. v9}, Landroidx/recyclerview/widget/RecyclerView;->animateChange(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;ZZ)V goto :goto_1 :cond_3 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; .line 4373 invoke-virtual {v2, v5, v4}, Landroidx/recyclerview/widget/ViewInfoStore;->addToPostLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V :goto_1 add-int/lit8 v0, v0, -0x1 goto :goto_0 :cond_4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoProcessCallback:Landroidx/recyclerview/widget/ViewInfoStore$ProcessCallback; .line 4378 invoke-virtual {v0, v2}, Landroidx/recyclerview/widget/ViewInfoStore;->process(Landroidx/recyclerview/widget/ViewInfoStore$ProcessCallback;)V :cond_5 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; .line 4381 invoke-virtual {v0, v2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->removeAndRecycleScrapInt(Landroidx/recyclerview/widget/RecyclerView$Recycler;)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4382 iget v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mItemCount:I iput v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mPreviousLayoutItemCount:I const/4 v2, 0x0 iput-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z iput-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchItemsChangedEvent:Z .line 4385 iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunSimpleAnimations:Z .line 4387 iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunPredictiveAnimations:Z iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 4388 iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mRequestedSimpleAnimations:Z iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; .line 4389 iget-object v0, v0, Landroidx/recyclerview/widget/RecyclerView$Recycler;->mChangedScrap:Ljava/util/ArrayList; if-eqz v0, :cond_6 .line 4390 invoke-virtual {v0}, Ljava/util/ArrayList;->clear()V :cond_6 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 4392 iget-boolean v3, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mPrefetchMaxObservedInInitialPrefetch:Z if-eqz v3, :cond_7 .line 4395 iput v2, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mPrefetchMaxCountObserved:I .line 4396 iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mPrefetchMaxObservedInInitialPrefetch:Z iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; .line 4397 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->updateViewCacheSize()V :cond_7 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4400 invoke-virtual {v0, v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onLayoutCompleted(Landroidx/recyclerview/widget/RecyclerView$State;)V .line 4401 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V .line 4402 invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; .line 4403 invoke-virtual {v0}, Landroidx/recyclerview/widget/ViewInfoStore;->clear()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinMaxLayoutPositions:[I .line 4404 aget v3, v0, v2 aget v0, v0, v1 invoke-direct {p0, v3, v0}, Landroidx/recyclerview/widget/RecyclerView;->didChildRangeChange(II)Z move-result v0 if-eqz v0, :cond_8 .line 4405 invoke-virtual {p0, v2, v2}, Landroidx/recyclerview/widget/RecyclerView;->dispatchOnScrolled(II)V .line 4407 :cond_8 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->recoverFocusFromState()V .line 4408 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->resetFocusInfo()V return-void .end method .method private dispatchToOnItemTouchListeners(Landroid/view/MotionEvent;)Z .locals 2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptingOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener; if-nez v0, :cond_1 .line 3254 invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I move-result v0 if-nez v0, :cond_0 const/4 p1, 0x0 return p1 .line 3257 :cond_0 invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->findInterceptingOnItemTouchListener(Landroid/view/MotionEvent;)Z move-result p1 return p1 .line 3259 :cond_1 invoke-interface {v0, p0, p1}, Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;->onTouchEvent(Landroidx/recyclerview/widget/RecyclerView;Landroid/view/MotionEvent;)V .line 3260 invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I move-result p1 const/4 v0, 0x3 const/4 v1, 0x1 if-eq p1, v0, :cond_2 if-ne p1, v1, :cond_3 :cond_2 const/4 p1, 0x0 iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptingOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener; :cond_3 return v1 .end method .method private findInterceptingOnItemTouchListener(Landroid/view/MotionEvent;)Z .locals 6 .line 3282 invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I move-result v0 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList; .line 3283 invoke-virtual {v1}, Ljava/util/ArrayList;->size()I move-result v1 const/4 v2, 0x0 move v3, v2 :goto_0 if-ge v3, v1, :cond_1 iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList; .line 3285 invoke-virtual {v4, v3}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v4 check-cast v4, Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener; .line 3286 invoke-interface {v4, p0, p1}, Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;->onInterceptTouchEvent(Landroidx/recyclerview/widget/RecyclerView;Landroid/view/MotionEvent;)Z move-result v5 if-eqz v5, :cond_0 const/4 v5, 0x3 if-eq v0, v5, :cond_0 iput-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptingOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener; const/4 p1, 0x1 return p1 :cond_0 add-int/lit8 v3, v3, 0x1 goto :goto_0 :cond_1 return v2 .end method .method private findMinMaxChildLayoutPositions([I)V .locals 8 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 4475 invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I move-result v0 const/4 v1, 0x1 const/4 v2, 0x0 if-nez v0, :cond_0 const/4 v0, -0x1 .line 4477 aput v0, p1, v2 .line 4478 aput v0, p1, v1 return-void :cond_0 const v3, 0x7fffffff const/high16 v4, -0x80000000 move v5, v2 :goto_0 if-ge v5, v0, :cond_4 iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 4484 invoke-virtual {v6, v5}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View; move-result-object v6 invoke-static {v6}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v6 .line 4485 invoke-virtual {v6}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z move-result v7 if-eqz v7, :cond_1 goto :goto_1 .line 4488 :cond_1 invoke-virtual {v6}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getLayoutPosition()I move-result v6 if-ge v6, v3, :cond_2 move v3, v6 :cond_2 if-le v6, v4, :cond_3 move v4, v6 :cond_3 :goto_1 add-int/lit8 v5, v5, 0x1 goto :goto_0 .line 4496 :cond_4 aput v3, p1, v2 .line 4497 aput v4, p1, v1 return-void .end method .method public 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 .line 6011 instance-of v0, p0, Landroid/view/ViewGroup; const/4 v1, 0x0 if-nez v0, :cond_0 return-object v1 .line 6014 :cond_0 instance-of v0, p0, Landroidx/recyclerview/widget/RecyclerView; if-eqz v0, :cond_1 .line 6015 check-cast p0, Landroidx/recyclerview/widget/RecyclerView; return-object p0 .line 6017 :cond_1 check-cast p0, Landroid/view/ViewGroup; .line 6018 invoke-virtual {p0}, Landroid/view/ViewGroup;->getChildCount()I move-result v0 const/4 v2, 0x0 :goto_0 if-ge v2, v0, :cond_3 .line 6020 invoke-virtual {p0, v2}, Landroid/view/ViewGroup;->getChildAt(I)Landroid/view/View; move-result-object v3 .line 6021 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; .line 4072 iget v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemPosition:I const/4 v2, -0x1 if-eq v1, v2, :cond_0 goto :goto_0 :cond_0 const/4 v1, 0x0 .line 4075 :goto_0 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$State;->getItemCount()I move-result v0 move v2, v1 :goto_1 if-ge v2, v0, :cond_3 .line 4077 invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->findViewHolderForAdapterPosition(I)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v3 if-nez v3, :cond_1 goto :goto_2 .line 4081 :cond_1 iget-object v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; invoke-virtual {v4}, Landroid/view/View;->hasFocusable()Z move-result v4 if-eqz v4, :cond_2 .line 4082 iget-object v0, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; return-object v0 :cond_2 add-int/lit8 v2, v2, 0x1 goto :goto_1 .line 4085 :cond_3 :goto_2 invoke-static {v0, v1}, Ljava/lang/Math;->min(II)I move-result v0 add-int/lit8 v0, v0, -0x1 :goto_3 const/4 v1, 0x0 if-ltz v0, :cond_6 .line 4087 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->findViewHolderForAdapterPosition(I)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v2 if-nez v2, :cond_4 return-object v1 .line 4091 :cond_4 iget-object v1, v2, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; invoke-virtual {v1}, Landroid/view/View;->hasFocusable()Z move-result v1 if-eqz v1, :cond_5 .line 4092 iget-object v0, v2, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; return-object v0 :cond_5 add-int/lit8 v0, v0, -0x1 goto :goto_3 :cond_6 return-object v1 .end method .method public static getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; .locals 0 if-nez p0, :cond_0 const/4 p0, 0x0 return-object p0 .line 4989 :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 public static getDecoratedBoundsWithMarginsInt(Landroid/view/View;Landroid/graphics/Rect;)V .locals 6 .line 5270 invoke-virtual {p0}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams; move-result-object v0 check-cast v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams; .line 5271 iget-object v1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mDecorInsets:Landroid/graphics/Rect; .line 5272 invoke-virtual {p0}, Landroid/view/View;->getLeft()I move-result v2 iget v3, v1, Landroid/graphics/Rect;->left:I sub-int/2addr v2, v3 iget v3, v0, Landroid/view/ViewGroup$MarginLayoutParams;->leftMargin:I sub-int/2addr v2, v3 .line 5273 invoke-virtual {p0}, Landroid/view/View;->getTop()I move-result v3 iget v4, v1, Landroid/graphics/Rect;->top:I sub-int/2addr v3, v4 iget v4, v0, Landroid/view/ViewGroup$MarginLayoutParams;->topMargin:I sub-int/2addr v3, v4 .line 5274 invoke-virtual {p0}, Landroid/view/View;->getRight()I move-result v4 iget v5, v1, Landroid/graphics/Rect;->right:I add-int/2addr v4, v5 iget v5, v0, Landroid/view/ViewGroup$MarginLayoutParams;->rightMargin:I add-int/2addr v4, v5 .line 5275 invoke-virtual {p0}, Landroid/view/View;->getBottom()I move-result p0 iget v1, v1, Landroid/graphics/Rect;->bottom:I add-int/2addr p0, v1 iget v0, v0, Landroid/view/ViewGroup$MarginLayoutParams;->bottomMargin:I add-int/2addr p0, v0 .line 5272 invoke-virtual {p1, v2, v3, v4, p0}, Landroid/graphics/Rect;->set(IIII)V return-void .end method .method private getDeepestFocusedViewWithId(Landroid/view/View;)I .locals 3 .line 4173 invoke-virtual {p1}, Landroid/view/View;->getId()I move-result v0 .line 4174 :cond_0 :goto_0 invoke-virtual {p1}, Landroid/view/View;->isFocused()Z move-result v1 if-nez v1, :cond_1 instance-of v1, p1, Landroid/view/ViewGroup; if-eqz v1, :cond_1 invoke-virtual {p1}, Landroid/view/View;->hasFocus()Z move-result v1 if-eqz v1, :cond_1 .line 4175 check-cast p1, Landroid/view/ViewGroup; invoke-virtual {p1}, Landroid/view/ViewGroup;->getFocusedChild()Landroid/view/View; move-result-object p1 .line 4176 invoke-virtual {p1}, Landroid/view/View;->getId()I move-result v1 const/4 v2, -0x1 if-eq v1, v2, :cond_0 .line 4178 invoke-virtual {p1}, Landroid/view/View;->getId()I move-result v0 goto :goto_0 :cond_1 return v0 .end method .method private getFullClassName(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String; .locals 2 const/4 v0, 0x0 .line 868 invoke-virtual {p2, v0}, Ljava/lang/String;->charAt(I)C move-result v0 const/16 v1, 0x2e if-ne v0, v1, :cond_0 .line 869 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, "." .line 871 invoke-virtual {p2, p1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result p1 if-eqz p1, :cond_1 return-object p2 .line 874 :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 .line 13904 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 5 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 4429 invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I move-result v0 const/4 v1, 0x0 :goto_0 if-ge v1, v0, :cond_3 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 4431 invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View; move-result-object v2 .line 4432 invoke-static {v2}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v2 if-ne v2, p3, :cond_0 goto :goto_1 .line 4436 :cond_0 invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->getChangedHolderKey(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)J move-result-wide v3 cmp-long v3, v3, p1 if-nez v3, :cond_2 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; const-string p2, " \n View Holder 2:" if-eqz p1, :cond_1 .line 4438 invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z move-result p1 if-eqz p1, :cond_1 .line 4439 new-instance p1, Ljava/lang/IllegalStateException; new-instance p4, Ljava/lang/StringBuilder; invoke-direct {p4}, Ljava/lang/StringBuilder;->()V const-string v0, "Two different ViewHolders have the same stable ID. Stable IDs in your adapter MUST BE unique and SHOULD NOT change.\n ViewHolder 1:" invoke-virtual {p4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; invoke-virtual {p4, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p4, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; .line 4442 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String; move-result-object p2 invoke-virtual {p4, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p2 invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw p1 .line 4444 :cond_1 new-instance p1, Ljava/lang/IllegalStateException; new-instance p4, Ljava/lang/StringBuilder; invoke-direct {p4}, Ljava/lang/StringBuilder;->()V const-string v0, "Two different ViewHolders have the same change ID. This might happen due to inconsistent Adapter update events or if the LayoutManager lays out the same View multiple times.\n ViewHolder 1:" invoke-virtual {p4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; invoke-virtual {p4, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p4, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; .line 4448 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String; move-result-object p2 invoke-virtual {p4, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p2 invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw p1 :cond_2 :goto_1 add-int/lit8 v1, v1, 0x1 goto :goto_0 .line 4453 :cond_3 new-instance p1, Ljava/lang/StringBuilder; invoke-direct {p1}, Ljava/lang/StringBuilder;->()V const-string p2, "Problem while matching changed view holders with the newones. The pre-layout information for the change holder " invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p1, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; const-string p2, " cannot be found but it is necessary for " invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p1, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; .line 4455 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String; move-result-object p2 invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 const-string p2, "RecyclerView" .line 4453 invoke-static {p2, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I return-void .end method .method private hasUpdatedView()Z .locals 5 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 2037 invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I move-result v0 const/4 v1, 0x0 move v2, v1 :goto_0 if-ge v2, v0, :cond_2 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 2039 invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View; move-result-object v3 invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v3 if-eqz v3, :cond_1 .line 2040 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z move-result v4 if-eqz v4, :cond_0 goto :goto_1 .line 2043 :cond_0 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isUpdated()Z move-result v3 if-eqz v3, :cond_1 const/4 v0, 0x1 return v0 :cond_1 :goto_1 add-int/lit8 v2, v2, 0x1 goto :goto_0 :cond_2 return v1 .end method .method private initAutofill()V .locals 1 .annotation build Landroid/annotation/SuppressLint; value = { "InlinedApi" } .end annotation .line 778 invoke-static {p0}, Landroidx/core/view/ViewCompat;->getImportantForAutofill(Landroid/view/View;)I move-result v0 if-nez v0, :cond_0 const/16 v0, 0x8 .line 779 invoke-static {p0, v0}, Landroidx/core/view/ViewCompat;->setImportantForAutofill(Landroid/view/View;I)V :cond_0 return-void .end method .method private initChildrenHelper()V .locals 2 .line 878 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 9 const/4 v0, 0x0 if-eqz p2, :cond_1a if-eq p2, p0, :cond_1a if-ne p2, p1, :cond_0 goto/16 :goto_3 .line 2971 :cond_0 invoke-virtual {p0, p2}, Landroidx/recyclerview/widget/RecyclerView;->findContainingItemView(Landroid/view/View;)Landroid/view/View; move-result-object v1 if-nez v1, :cond_1 return v0 :cond_1 const/4 v1, 0x1 if-nez p1, :cond_2 return v1 .line 2978 :cond_2 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->findContainingItemView(Landroid/view/View;)Landroid/view/View; move-result-object v2 if-nez v2, :cond_3 return v1 :cond_3 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; .line 2982 invoke-virtual {p1}, Landroid/view/View;->getWidth()I move-result v3 invoke-virtual {p1}, Landroid/view/View;->getHeight()I move-result v4 invoke-virtual {v2, v0, v0, v3, v4}, Landroid/graphics/Rect;->set(IIII)V iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect; .line 2983 invoke-virtual {p2}, Landroid/view/View;->getWidth()I move-result v3 invoke-virtual {p2}, Landroid/view/View;->getHeight()I move-result v4 invoke-virtual {v2, v0, v0, v3, v4}, Landroid/graphics/Rect;->set(IIII)V iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; .line 2984 invoke-virtual {p0, p1, v2}, Landroid/view/ViewGroup;->offsetDescendantRectToMyCoords(Landroid/view/View;Landroid/graphics/Rect;)V iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect; .line 2985 invoke-virtual {p0, p2, p1}, Landroid/view/ViewGroup;->offsetDescendantRectToMyCoords(Landroid/view/View;Landroid/graphics/Rect;)V iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 2986 invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->getLayoutDirection()I move-result p1 const/4 p2, -0x1 if-ne p1, v1, :cond_4 move p1, p2 goto :goto_0 :cond_4 move p1, v1 :goto_0 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; .line 2988 iget v3, v2, Landroid/graphics/Rect;->left:I iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect; iget v5, v4, Landroid/graphics/Rect;->left:I if-lt v3, v5, :cond_5 iget v6, v2, Landroid/graphics/Rect;->right:I if-gt v6, v5, :cond_6 :cond_5 iget v6, v2, Landroid/graphics/Rect;->right:I iget v7, v4, Landroid/graphics/Rect;->right:I if-ge v6, v7, :cond_6 move v3, v1 goto :goto_1 .line 2992 :cond_6 iget v6, v2, Landroid/graphics/Rect;->right:I iget v7, v4, Landroid/graphics/Rect;->right:I if-gt v6, v7, :cond_7 if-lt v3, v7, :cond_8 :cond_7 if-le v3, v5, :cond_8 move v3, p2 goto :goto_1 :cond_8 move v3, v0 .line 2998 :goto_1 iget v5, v2, Landroid/graphics/Rect;->top:I iget v6, v4, Landroid/graphics/Rect;->top:I if-lt v5, v6, :cond_9 iget v7, v2, Landroid/graphics/Rect;->bottom:I if-gt v7, v6, :cond_a :cond_9 iget v7, v2, Landroid/graphics/Rect;->bottom:I iget v8, v4, Landroid/graphics/Rect;->bottom:I if-ge v7, v8, :cond_a move p2, v1 goto :goto_2 .line 3002 :cond_a iget v2, v2, Landroid/graphics/Rect;->bottom:I iget v4, v4, Landroid/graphics/Rect;->bottom:I if-gt v2, v4, :cond_b if-lt v5, v4, :cond_c :cond_b if-le v5, v6, :cond_c goto :goto_2 :cond_c move p2, v0 :goto_2 if-eq p3, v1, :cond_18 const/4 v2, 0x2 if-eq p3, v2, :cond_15 const/16 p1, 0x11 if-eq p3, p1, :cond_13 const/16 p1, 0x21 if-eq p3, p1, :cond_11 const/16 p1, 0x42 if-eq p3, p1, :cond_f const/16 p1, 0x82 if-ne p3, p1, :cond_e if-lez p2, :cond_d move v0, v1 :cond_d return v0 .line 3021 :cond_e new-instance p1, Ljava/lang/IllegalArgumentException; new-instance p2, Ljava/lang/StringBuilder; invoke-direct {p2}, Ljava/lang/StringBuilder;->()V const-string v0, "Invalid direction: " invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String; move-result-object p3 invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p2 invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p1 :cond_f if-lez v3, :cond_10 move v0, v1 :cond_10 return v0 :cond_11 if-gez p2, :cond_12 move v0, v1 :cond_12 return v0 :cond_13 if-gez v3, :cond_14 move v0, v1 :cond_14 return v0 :cond_15 if-gtz p2, :cond_16 if-nez p2, :cond_17 mul-int/2addr v3, p1 if-lez v3, :cond_17 :cond_16 move v0, v1 :cond_17 return v0 :cond_18 if-ltz p2, :cond_19 if-nez p2, :cond_1a mul-int/2addr v3, p1 if-gez v3, :cond_1a :cond_19 move v0, v1 :cond_1a :goto_3 return v0 .end method .method private nestedScrollByInternal(IILandroid/view/MotionEvent;I)V .locals 11 .param p3 # Landroid/view/MotionEvent; .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 scroll without a LayoutManager set. Call setLayoutManager with a non-null argument." .line 1908 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;->mLayoutSuppressed:Z if-eqz v1, :cond_1 return-void :cond_1 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I const/4 v2, 0x0 .line 1915 aput v2, v1, v2 const/4 v3, 0x1 .line 1916 aput v2, v1, v3 .line 1917 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z move-result v0 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 1918 invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z move-result v1 if-eqz v1, :cond_2 or-int/lit8 v4, v0, 0x2 goto :goto_0 :cond_2 move v4, v0 .line 1927 :goto_0 invoke-virtual {p0, v4, p4}, Landroidx/recyclerview/widget/RecyclerView;->startNestedScroll(II)Z if-eqz v0, :cond_3 move v6, p1 goto :goto_1 :cond_3 move v6, v2 :goto_1 if-eqz v1, :cond_4 move v7, p2 goto :goto_2 :cond_4 move v7, v2 :goto_2 iget-object v8, p0, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I iget-object v9, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I move-object v5, p0 move v10, p4 .line 1928 invoke-virtual/range {v5 .. v10}, Landroidx/recyclerview/widget/RecyclerView;->dispatchNestedPreScroll(II[I[II)Z move-result v4 if-eqz v4, :cond_5 iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I .line 1933 aget v5, v4, v2 sub-int/2addr p1, v5 .line 1934 aget v3, v4, v3 sub-int/2addr p2, v3 :cond_5 if-eqz v0, :cond_6 move v0, p1 goto :goto_3 :cond_6 move v0, v2 :goto_3 if-eqz v1, :cond_7 move v2, p2 .line 1937 :cond_7 invoke-virtual {p0, v0, v2, p3, p4}, Landroidx/recyclerview/widget/RecyclerView;->scrollByInternal(IILandroid/view/MotionEvent;I)Z iget-object p3, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/GapWorker; if-eqz p3, :cond_9 if-nez p1, :cond_8 if-eqz p2, :cond_9 .line 1942 :cond_8 invoke-virtual {p3, p0, p1, p2}, Landroidx/recyclerview/widget/GapWorker;->postFromTraversal(Landroidx/recyclerview/widget/RecyclerView;II)V .line 1944 :cond_9 invoke-virtual {p0, p4}, Landroidx/recyclerview/widget/RecyclerView;->stopNestedScroll(I)V return-void .end method .method private onPointerUp(Landroid/view/MotionEvent;)V .locals 3 .line 3592 invoke-virtual {p1}, Landroid/view/MotionEvent;->getActionIndex()I move-result v0 .line 3593 invoke-virtual {p1, v0}, Landroid/view/MotionEvent;->getPointerId(I)I move-result v1 iget v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I if-ne v1, v2, :cond_1 if-nez v0, :cond_0 const/4 v0, 0x1 goto :goto_0 :cond_0 const/4 v0, 0x0 .line 3596 :goto_0 invoke-virtual {p1, v0}, Landroid/view/MotionEvent;->getPointerId(I)I move-result v1 iput v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I .line 3597 invoke-virtual {p1, v0}, Landroid/view/MotionEvent;->getX(I)F move-result v1 const/high16 v2, 0x3f000000 # 0.5f add-float/2addr v1, v2 float-to-int v1, v1 iput v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I iput v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchX:I .line 3598 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; .line 3920 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->supportsPredictiveItemAnimations()Z move-result v0 if-eqz v0, :cond_0 const/4 v0, 0x1 goto :goto_0 :cond_0 const/4 v0, 0x0 :goto_0 return v0 .end method .method private processAdapterUpdatesAndSetAnimationFlags()V .locals 6 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z if-eqz v0, :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper; .line 3933 invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->reset()V iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchItemsChangedEvent:Z if-eqz v0, :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 3935 invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onItemsChanged(Landroidx/recyclerview/widget/RecyclerView;)V .line 3941 :cond_0 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->predictiveItemAnimationsEnabled()Z move-result v0 if-eqz v0, :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper; .line 3942 invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->preProcess()V goto :goto_0 :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper; .line 3944 invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->consumeUpdatesInOnePass()V :goto_0 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemsAddedOrRemoved:Z const/4 v1, 0x1 const/4 v2, 0x0 if-nez v0, :cond_3 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemsChanged:Z if-eqz v0, :cond_2 goto :goto_1 :cond_2 move v0, v2 goto :goto_2 :cond_3 :goto_1 move v0, v1 :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 v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 3947 iget-boolean v5, v5, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mRequestedSimpleAnimations:Z if-eqz v5, :cond_6 :cond_4 if-eqz v4, :cond_5 iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; .line 3953 invoke-virtual {v4}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z move-result v4 if-eqz v4, :cond_6 :cond_5 move v4, v1 goto :goto_3 :cond_6 move v4, v2 :goto_3 iput-boolean v4, v3, Landroidx/recyclerview/widget/RecyclerView$State;->mRunSimpleAnimations:Z iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 3954 iget-boolean v4, v3, Landroidx/recyclerview/widget/RecyclerView$State;->mRunSimpleAnimations:Z if-eqz v4, :cond_7 if-eqz v0, :cond_7 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z if-nez v0, :cond_7 .line 3957 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->predictiveItemAnimationsEnabled()Z move-result v0 if-eqz v0, :cond_7 goto :goto_4 :cond_7 move v1, v2 :goto_4 iput-boolean v1, v3, Landroidx/recyclerview/widget/RecyclerView$State;->mRunPredictiveAnimations:Z return-void .end method .method private pullGlows(FFFF)V .locals 6 const/4 v0, 0x0 cmpg-float v1, p2, v0 const/4 v2, 0x1 const/high16 v3, 0x3f800000 # 1.0f if-gez v1, :cond_0 .line 2665 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureLeftGlow()V iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; neg-float v4, p2 .line 2666 invoke-virtual {p0}, Landroid/view/View;->getWidth()I move-result v5 int-to-float v5, v5 div-float/2addr v4, v5 invoke-virtual {p0}, Landroid/view/View;->getHeight()I move-result v5 int-to-float v5, v5 div-float/2addr p3, v5 sub-float p3, v3, p3 invoke-static {v1, v4, p3}, Landroidx/core/widget/EdgeEffectCompat;->onPull(Landroid/widget/EdgeEffect;FF)V goto :goto_0 :cond_0 cmpl-float v1, p2, v0 if-lez v1, :cond_1 .line 2669 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureRightGlow()V iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; .line 2670 invoke-virtual {p0}, Landroid/view/View;->getWidth()I move-result v4 int-to-float v4, v4 div-float v4, p2, v4 invoke-virtual {p0}, Landroid/view/View;->getHeight()I move-result v5 int-to-float v5, v5 div-float/2addr p3, v5 invoke-static {v1, v4, p3}, Landroidx/core/widget/EdgeEffectCompat;->onPull(Landroid/widget/EdgeEffect;FF)V goto :goto_0 :cond_1 const/4 v2, 0x0 :goto_0 cmpg-float p3, p4, v0 if-gez p3, :cond_2 .line 2675 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureTopGlow()V iget-object p2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; neg-float p3, p4 .line 2676 invoke-virtual {p0}, Landroid/view/View;->getHeight()I move-result p4 int-to-float p4, p4 div-float/2addr p3, p4 invoke-virtual {p0}, Landroid/view/View;->getWidth()I move-result p4 int-to-float p4, p4 div-float/2addr p1, p4 invoke-static {p2, p3, p1}, Landroidx/core/widget/EdgeEffectCompat;->onPull(Landroid/widget/EdgeEffect;FF)V goto :goto_1 :cond_2 cmpl-float p3, p4, v0 if-lez p3, :cond_3 .line 2679 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureBottomGlow()V iget-object p2, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; .line 2680 invoke-virtual {p0}, Landroid/view/View;->getHeight()I move-result p3 int-to-float p3, p3 div-float/2addr p4, p3 invoke-virtual {p0}, Landroid/view/View;->getWidth()I move-result p3 int-to-float p3, p3 div-float/2addr p1, p3 sub-float/2addr v3, p1 invoke-static {p2, p4, v3}, Landroidx/core/widget/EdgeEffectCompat;->onPull(Landroid/widget/EdgeEffect;FF)V goto :goto_1 :cond_3 if-nez v2, :cond_4 cmpl-float p1, p2, v0 if-nez p1, :cond_4 cmpl-float p1, p4, v0 if-eqz p1, :cond_5 .line 2685 :cond_4 :goto_1 invoke-static {p0}, Landroidx/core/view/ViewCompat;->postInvalidateOnAnimation(Landroid/view/View;)V :cond_5 return-void .end method .method private recoverFocusFromState()V .locals 6 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPreserveFocusAfterLayout:Z if-eqz v0, :cond_9 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; if-eqz v0, :cond_9 .line 4099 invoke-virtual {p0}, Landroid/view/View;->hasFocus()Z move-result v0 if-eqz v0, :cond_9 .line 4100 invoke-virtual {p0}, Landroid/view/ViewGroup;->getDescendantFocusability()I move-result v0 const/high16 v1, 0x60000 if-eq v0, v1, :cond_9 .line 4101 invoke-virtual {p0}, Landroid/view/ViewGroup;->getDescendantFocusability()I move-result v0 const/high16 v1, 0x20000 if-ne v0, v1, :cond_0 invoke-virtual {p0}, Landroid/view/View;->isFocused()Z move-result v0 if-eqz v0, :cond_0 goto/16 :goto_3 .line 4109 :cond_0 invoke-virtual {p0}, Landroid/view/View;->isFocused()Z move-result v0 if-nez v0, :cond_3 .line 4110 invoke-virtual {p0}, Landroid/view/ViewGroup;->getFocusedChild()Landroid/view/View; move-result-object v0 sget-boolean v1, Landroidx/recyclerview/widget/RecyclerView;->IGNORE_DETACHED_FOCUSED_CHILD:Z if-eqz v1, :cond_2 .line 4112 invoke-virtual {v0}, Landroid/view/View;->getParent()Landroid/view/ViewParent; move-result-object v1 if-eqz v1, :cond_1 invoke-virtual {v0}, Landroid/view/View;->hasFocus()Z move-result v1 if-nez v1, :cond_2 :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 4124 invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I move-result v0 if-nez v0, :cond_3 .line 4127 invoke-virtual {p0}, Landroid/view/View;->requestFocus()Z return-void :cond_2 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 4130 invoke-virtual {v1, v0}, Landroidx/recyclerview/widget/ChildHelper;->isHidden(Landroid/view/View;)Z move-result v0 if-nez v0, :cond_3 return-void :cond_3 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4140 iget-wide v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemId:J const-wide/16 v2, -0x1 cmp-long v0, v0, v2 const/4 v1, 0x0 if-eqz v0, :cond_4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z move-result v0 if-eqz v0, :cond_4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4141 iget-wide v4, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemId:J invoke-virtual {p0, v4, v5}, Landroidx/recyclerview/widget/RecyclerView;->findViewHolderForItemId(J)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v0 goto :goto_0 :cond_4 move-object v0, v1 :goto_0 if-eqz v0, :cond_6 iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 4144 iget-object v5, v0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; invoke-virtual {v4, v5}, Landroidx/recyclerview/widget/ChildHelper;->isHidden(Landroid/view/View;)Z move-result v4 if-nez v4, :cond_6 iget-object v4, v0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; .line 4145 invoke-virtual {v4}, Landroid/view/View;->hasFocusable()Z move-result v4 if-nez v4, :cond_5 goto :goto_1 .line 4158 :cond_5 iget-object v1, v0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; goto :goto_2 :cond_6 :goto_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 4146 invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I move-result v0 if-lez v0, :cond_7 .line 4153 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->findNextViewToFocus()Landroid/view/View; move-result-object v1 :cond_7 :goto_2 if-eqz v1, :cond_9 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4162 iget v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedSubChildId:I int-to-long v4, v0 cmp-long v2, v4, v2 if-eqz v2, :cond_8 .line 4163 invoke-virtual {v1, v0}, Landroid/view/View;->findViewById(I)Landroid/view/View; move-result-object v0 if-eqz v0, :cond_8 .line 4164 invoke-virtual {v0}, Landroid/view/View;->isFocusable()Z move-result v2 if-eqz v2, :cond_8 move-object v1, v0 .line 4168 :cond_8 invoke-virtual {v1}, Landroid/view/View;->requestFocus()Z :cond_9 :goto_3 return-void .end method .method private releaseGlows()V .locals 2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; if-eqz v0, :cond_0 .line 2692 invoke-virtual {v0}, Landroid/widget/EdgeEffect;->onRelease()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; .line 2693 invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z move-result v0 goto :goto_0 :cond_0 const/4 v0, 0x0 :goto_0 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; if-eqz v1, :cond_1 .line 2696 invoke-virtual {v1}, Landroid/widget/EdgeEffect;->onRelease()V iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; .line 2697 invoke-virtual {v1}, Landroid/widget/EdgeEffect;->isFinished()Z move-result v1 or-int/2addr v0, v1 :cond_1 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; if-eqz v1, :cond_2 .line 2700 invoke-virtual {v1}, Landroid/widget/EdgeEffect;->onRelease()V iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; .line 2701 invoke-virtual {v1}, Landroid/widget/EdgeEffect;->isFinished()Z move-result v1 or-int/2addr v0, v1 :cond_2 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; if-eqz v1, :cond_3 .line 2704 invoke-virtual {v1}, Landroid/widget/EdgeEffect;->onRelease()V iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; .line 2705 invoke-virtual {v1}, Landroid/widget/EdgeEffect;->isFinished()Z move-result v1 or-int/2addr v0, v1 :cond_3 if-eqz v0, :cond_4 .line 2708 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; .line 3044 invoke-virtual {v0}, Landroid/view/View;->getWidth()I move-result v2 invoke-virtual {v0}, Landroid/view/View;->getHeight()I move-result v3 const/4 v4, 0x0 invoke-virtual {v1, v4, v4, v2, v3}, Landroid/graphics/Rect;->set(IIII)V .line 3049 invoke-virtual {v0}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams; move-result-object v0 .line 3050 instance-of v1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams; if-eqz v1, :cond_1 .line 3052 check-cast v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams; .line 3053 iget-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mInsetsDirty:Z if-nez v1, :cond_1 .line 3054 iget-object v0, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mDecorInsets:Landroid/graphics/Rect; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; .line 3055 iget v2, v1, Landroid/graphics/Rect;->left:I iget v3, v0, Landroid/graphics/Rect;->left:I sub-int/2addr v2, v3 iput v2, v1, Landroid/graphics/Rect;->left:I .line 3056 iget v2, v1, Landroid/graphics/Rect;->right:I iget v3, v0, Landroid/graphics/Rect;->right:I add-int/2addr v2, v3 iput v2, v1, Landroid/graphics/Rect;->right:I .line 3057 iget v2, v1, Landroid/graphics/Rect;->top:I iget v3, v0, Landroid/graphics/Rect;->top:I sub-int/2addr v2, v3 iput v2, v1, Landroid/graphics/Rect;->top:I .line 3058 iget v2, v1, Landroid/graphics/Rect;->bottom:I iget v0, v0, Landroid/graphics/Rect;->bottom:I add-int/2addr v2, v0 iput v2, v1, Landroid/graphics/Rect;->bottom:I :cond_1 if-eqz p2, :cond_2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; .line 3063 invoke-virtual {p0, p2, v0}, Landroid/view/ViewGroup;->offsetDescendantRectToMyCoords(Landroid/view/View;Landroid/graphics/Rect;)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; .line 3064 invoke-virtual {p0, p1, v0}, Landroid/view/ViewGroup;->offsetRectIntoDescendantCoords(Landroid/view/View;Landroid/graphics/Rect;)V :cond_2 iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v8, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z const/4 v1, 0x1 xor-int/lit8 v9, v0, 0x1 if-nez p2, :cond_3 move v10, v1 goto :goto_1 :cond_3 move v10, v4 :goto_1 move-object v6, p0 move-object v7, p1 .line 3066 invoke-virtual/range {v5 .. v10}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->requestChildRectangleOnScreen(Landroidx/recyclerview/widget/RecyclerView;Landroid/view/View;Landroid/graphics/Rect;ZZ)Z return-void .end method .method private resetFocusInfo()V .locals 3 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; const-wide/16 v1, -0x1 .line 4056 iput-wide v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemId:J const/4 v1, -0x1 .line 4057 iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemPosition:I .line 4058 iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedSubChildId:I return-void .end method .method private resetScroll()V .locals 1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker; if-eqz v0, :cond_0 .line 3580 invoke-virtual {v0}, Landroid/view/VelocityTracker;->clear()V :cond_0 const/4 v0, 0x0 .line 3582 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->stopNestedScroll(I)V .line 3583 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->releaseGlows()V return-void .end method .method private saveFocusInfo()V .locals 4 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPreserveFocusAfterLayout:Z const/4 v1, 0x0 if-eqz v0, :cond_0 .line 4036 invoke-virtual {p0}, Landroid/view/View;->hasFocus()Z move-result v0 if-eqz v0, :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; if-eqz v0, :cond_0 .line 4037 invoke-virtual {p0}, Landroid/view/ViewGroup;->getFocusedChild()Landroid/view/View; move-result-object v0 goto :goto_0 :cond_0 move-object v0, v1 :goto_0 if-nez v0, :cond_1 goto :goto_1 .line 4040 :cond_1 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->findContainingViewHolder(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v1 :goto_1 if-nez v1, :cond_2 .line 4042 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->resetFocusInfo()V goto :goto_4 :cond_2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; .line 4044 invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z move-result v2 if-eqz v2, :cond_3 invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getItemId()J move-result-wide v2 goto :goto_2 :cond_3 const-wide/16 v2, -0x1 :goto_2 iput-wide v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemId:J iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iget-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z if-eqz v2, :cond_4 const/4 v2, -0x1 goto :goto_3 .line 4049 :cond_4 invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isRemoved()Z move-result v2 if-eqz v2, :cond_5 iget v2, v1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mOldPosition:I goto :goto_3 .line 4050 :cond_5 invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getAbsoluteAdapterPosition()I move-result v2 :goto_3 iput v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemPosition:I iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4051 iget-object v1, v1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; invoke-direct {p0, v1}, Landroidx/recyclerview/widget/RecyclerView;->getDeepestFocusedViewWithId(Landroid/view/View;)I move-result v1 iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedSubChildId:I :goto_4 return-void .end method .method private setAdapterInternal(Landroidx/recyclerview/widget/RecyclerView$Adapter;ZZ)V .locals 2 .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; .line 1232 invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->unregisterAdapterDataObserver(Landroidx/recyclerview/widget/RecyclerView$AdapterDataObserver;)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; .line 1233 invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->onDetachedFromRecyclerView(Landroidx/recyclerview/widget/RecyclerView;)V :cond_0 if-eqz p2, :cond_1 if-eqz p3, :cond_2 .line 1236 :cond_1 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->removeAndRecycleViews()V :cond_2 iget-object p3, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper; .line 1238 invoke-virtual {p3}, Landroidx/recyclerview/widget/AdapterHelper;->reset()V iget-object p3, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; if-eqz p1, :cond_3 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mObserver:Landroidx/recyclerview/widget/RecyclerView$RecyclerViewDataObserver; .line 1242 invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->registerAdapterDataObserver(Landroidx/recyclerview/widget/RecyclerView$AdapterDataObserver;)V .line 1243 invoke-virtual {p1, p0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->onAttachedToRecyclerView(Landroidx/recyclerview/widget/RecyclerView;)V :cond_3 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz p1, :cond_4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; .line 1246 invoke-virtual {p1, p3, v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onAdapterChanged(Landroidx/recyclerview/widget/RecyclerView$Adapter;Landroidx/recyclerview/widget/RecyclerView$Adapter;)V :cond_4 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; .line 1248 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 .line 1249 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; .line 2634 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 .line 2636 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->stopSmoothScroller()V :cond_0 return-void .end method # virtual methods .method public absorbGlows(II)V .locals 2 if-gez p1, :cond_0 .line 2737 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureLeftGlow()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; .line 2738 invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z move-result v0 if-eqz v0, :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; neg-int v1, p1 .line 2739 invoke-virtual {v0, v1}, Landroid/widget/EdgeEffect;->onAbsorb(I)V goto :goto_0 :cond_0 if-lez p1, :cond_1 .line 2742 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureRightGlow()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; .line 2743 invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z move-result v0 if-eqz v0, :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; .line 2744 invoke-virtual {v0, p1}, Landroid/widget/EdgeEffect;->onAbsorb(I)V :cond_1 :goto_0 if-gez p2, :cond_2 .line 2749 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureTopGlow()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; .line 2750 invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z move-result v0 if-eqz v0, :cond_3 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; neg-int v1, p2 .line 2751 invoke-virtual {v0, v1}, Landroid/widget/EdgeEffect;->onAbsorb(I)V goto :goto_1 :cond_2 if-lez p2, :cond_3 .line 2754 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureBottomGlow()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; .line 2755 invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z move-result v0 if-eqz v0, :cond_3 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; .line 2756 invoke-virtual {v0, p2}, Landroid/widget/EdgeEffect;->onAbsorb(I)V :cond_3 :goto_1 if-nez p1, :cond_4 if-eqz p2, :cond_5 .line 2761 :cond_4 invoke-static {p0}, Landroidx/core/view/ViewCompat;->postInvalidateOnAnimation(Landroid/view/View;)V :cond_5 return-void .end method .method public addFocusables(Ljava/util/ArrayList;II)V .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/ArrayList<", "Landroid/view/View;", ">;II)V" } .end annotation iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz v0, :cond_0 .line 3077 invoke-virtual {v0, p0, p1, p2, p3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onAddFocusables(Landroidx/recyclerview/widget/RecyclerView;Ljava/util/ArrayList;II)Z move-result v0 if-nez v0, :cond_1 .line 3078 :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 .line 1665 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" .line 1637 invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->assertNotInLayoutOrScroll(Ljava/lang/String;)V :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; .line 1640 invoke-virtual {v0}, Ljava/util/ArrayList;->isEmpty()Z move-result v0 if-eqz v0, :cond_1 const/4 v0, 0x0 .line 1641 invoke-virtual {p0, v0}, Landroid/view/View;->setWillNotDraw(Z)V :cond_1 if-gez p2, :cond_2 iget-object p2, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; .line 1644 invoke-virtual {p2, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z goto :goto_0 :cond_2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; .line 1646 invoke-virtual {v0, p2, p1}, Ljava/util/ArrayList;->add(ILjava/lang/Object;)V .line 1648 :goto_0 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->markItemDecorInsetsDirty()V .line 1649 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 .line 1336 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; .line 1338 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; .line 3213 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 .line 1774 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; .line 1776 invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z return-void .end method .method public addRecyclerListener(Landroidx/recyclerview/widget/RecyclerView$RecyclerListener;)V .locals 2 .param p1 # Landroidx/recyclerview/widget/RecyclerView$RecyclerListener; .annotation build Landroidx/annotation/NonNull; .end annotation .end param if-eqz p1, :cond_0 const/4 v0, 0x1 goto :goto_0 :cond_0 const/4 v0, 0x0 :goto_0 const-string v1, "\'listener\' arg cannot be null." .line 1291 invoke-static {v0, v1}, Landroidx/core/util/Preconditions;->checkArgument(ZLjava/lang/Object;)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecyclerListeners:Ljava/util/List; .line 1293 invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z return-void .end method .method public animateAppearance(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V .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 .line 4537 invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->setIsRecyclable(Z)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; .line 4538 invoke-virtual {v0, p1, p2, p3}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->animateAppearance(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)Z move-result p1 if-eqz p1, :cond_0 .line 4539 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->postAnimationRunner()V :cond_0 return-void .end method .method public animateDisappearance(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V .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 .line 4545 invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->addAnimatingView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V const/4 v0, 0x0 .line 4546 invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->setIsRecyclable(Z)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; .line 4547 invoke-virtual {v0, p1, p2, p3}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->animateDisappearance(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)Z move-result p1 if-eqz p1, :cond_0 .line 4548 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->postAnimationRunner()V :cond_0 return-void .end method .method public assertInLayoutOrScroll(Ljava/lang/String;)V .locals 2 .line 3164 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isComputingLayout()Z move-result v0 if-nez v0, :cond_1 if-nez p1, :cond_0 .line 3166 new-instance p1, Ljava/lang/IllegalStateException; new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V const-string v1, "Cannot call this method unless RecyclerView is computing a layout or scrolling" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; .line 3167 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 .line 3169 :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 public assertNotInLayoutOrScroll(Ljava/lang/String;)V .locals 2 .line 3182 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isComputingLayout()Z move-result v0 if-eqz v0, :cond_1 if-nez p1, :cond_0 .line 3184 new-instance p1, Ljava/lang/IllegalStateException; new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V const-string v1, "Cannot call this method while RecyclerView is computing a layout or scrolling" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; .line 3185 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 .line 3187 :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 .line 3190 new-instance p1, Ljava/lang/IllegalStateException; new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V const-string v1, "" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; .line 3195 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 const-string v0, "RecyclerView" const-string v1, "Cannot call this method in a scroll callback. Scroll callbacks mightbe run during a measure & layout pass where you cannot change theRecyclerView data. Any method call that might change the structureof the RecyclerView or the adapter contents should be postponed tothe next frame." .line 3190 invoke-static {v0, v1, p1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I :cond_2 return-void .end method .method public 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 .line 4849 invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getUnmodifiedPayloads()Ljava/util/List; move-result-object v1 .line 4848 invoke-virtual {v0, p1, v1}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->canReuseUpdatedViewHolder(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Ljava/util/List;)Z move-result p1 if-eqz p1, :cond_0 goto :goto_0 :cond_0 const/4 p1, 0x0 goto :goto_1 :cond_1 :goto_0 const/4 p1, 0x1 :goto_1 return p1 .end method .method public checkLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Z .locals 1 .line 4674 instance-of v0, p1, Landroidx/recyclerview/widget/RecyclerView$LayoutParams; if-eqz v0, :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; check-cast p1, Landroidx/recyclerview/widget/RecyclerView$LayoutParams; invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->checkLayoutParams(Landroidx/recyclerview/widget/RecyclerView$LayoutParams;)Z move-result p1 if-eqz p1, :cond_0 const/4 p1, 0x1 goto :goto_0 :cond_0 const/4 p1, 0x0 :goto_0 return p1 .end method .method public clearOldPositions()V .locals 4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 4728 invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I move-result v0 const/4 v1, 0x0 :goto_0 if-ge v1, v0, :cond_1 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 4730 invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View; move-result-object v2 invoke-static {v2}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v2 .line 4731 invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z move-result v3 if-nez v3, :cond_0 .line 4732 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; .line 4735 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 .line 1360 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 .line 1795 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 .line 2158 :cond_0 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z move-result v0 if-eqz v0, :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->computeHorizontalScrollExtent(Landroidx/recyclerview/widget/RecyclerView$State;)I move-result v1 :cond_1 return v1 .end method .method public computeHorizontalScrollOffset()I .locals 2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; const/4 v1, 0x0 if-nez v0, :cond_0 return v1 .line 2133 :cond_0 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z move-result v0 if-eqz v0, :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->computeHorizontalScrollOffset(Landroidx/recyclerview/widget/RecyclerView$State;)I move-result v1 :cond_1 return v1 .end method .method public computeHorizontalScrollRange()I .locals 2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; const/4 v1, 0x0 if-nez v0, :cond_0 return v1 .line 2181 :cond_0 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z move-result v0 if-eqz v0, :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->computeHorizontalScrollRange(Landroidx/recyclerview/widget/RecyclerView$State;)I move-result v1 :cond_1 return v1 .end method .method public computeVerticalScrollExtent()I .locals 2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; const/4 v1, 0x0 if-nez v0, :cond_0 return v1 .line 2230 :cond_0 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z move-result v0 if-eqz v0, :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->computeVerticalScrollExtent(Landroidx/recyclerview/widget/RecyclerView$State;)I move-result v1 :cond_1 return v1 .end method .method public computeVerticalScrollOffset()I .locals 2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; const/4 v1, 0x0 if-nez v0, :cond_0 return v1 .line 2206 :cond_0 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z move-result v0 if-eqz v0, :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->computeVerticalScrollOffset(Landroidx/recyclerview/widget/RecyclerView$State;)I move-result v1 :cond_1 return v1 .end method .method public computeVerticalScrollRange()I .locals 2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; const/4 v1, 0x0 if-nez v0, :cond_0 return v1 .line 2253 :cond_0 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z move-result v0 if-eqz v0, :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->computeVerticalScrollRange(Landroidx/recyclerview/widget/RecyclerView$State;)I move-result v1 :cond_1 return v1 .end method .method public considerReleasingGlowsOnScroll(II)V .locals 2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; if-eqz v0, :cond_0 .line 2714 invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z move-result v0 if-nez v0, :cond_0 if-lez p1, :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; .line 2715 invoke-virtual {v0}, Landroid/widget/EdgeEffect;->onRelease()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; .line 2716 invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z move-result v0 goto :goto_0 :cond_0 const/4 v0, 0x0 :goto_0 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; if-eqz v1, :cond_1 .line 2718 invoke-virtual {v1}, Landroid/widget/EdgeEffect;->isFinished()Z move-result v1 if-nez v1, :cond_1 if-gez p1, :cond_1 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; .line 2719 invoke-virtual {p1}, Landroid/widget/EdgeEffect;->onRelease()V iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; .line 2720 invoke-virtual {p1}, Landroid/widget/EdgeEffect;->isFinished()Z move-result p1 or-int/2addr v0, p1 :cond_1 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; if-eqz p1, :cond_2 .line 2722 invoke-virtual {p1}, Landroid/widget/EdgeEffect;->isFinished()Z move-result p1 if-nez p1, :cond_2 if-lez p2, :cond_2 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; .line 2723 invoke-virtual {p1}, Landroid/widget/EdgeEffect;->onRelease()V iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; .line 2724 invoke-virtual {p1}, Landroid/widget/EdgeEffect;->isFinished()Z move-result p1 or-int/2addr v0, p1 :cond_2 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; if-eqz p1, :cond_3 .line 2726 invoke-virtual {p1}, Landroid/widget/EdgeEffect;->isFinished()Z move-result p1 if-nez p1, :cond_3 if-gez p2, :cond_3 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; .line 2727 invoke-virtual {p1}, Landroid/widget/EdgeEffect;->onRelease()V iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; .line 2728 invoke-virtual {p1}, Landroid/widget/EdgeEffect;->isFinished()Z move-result p1 or-int/2addr v0, p1 :cond_3 if-eqz v0, :cond_4 .line 2731 invoke-static {p0}, Landroidx/core/view/ViewCompat;->postInvalidateOnAnimation(Landroid/view/View;)V :cond_4 return-void .end method .method public consumePendingUpdateOperations()V .locals 3 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z const-string v1, "RV FullInvalidate" if-eqz v0, :cond_6 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z if-eqz v0, :cond_0 goto :goto_2 :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper; .line 2002 invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->hasPendingUpdates()Z move-result v0 if-nez v0, :cond_1 return-void :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper; const/4 v2, 0x4 .line 2008 invoke-virtual {v0, v2}, Landroidx/recyclerview/widget/AdapterHelper;->hasAnyUpdateTypes(I)Z move-result v0 if-eqz v0, :cond_4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper; const/16 v2, 0xb .line 2009 invoke-virtual {v0, v2}, Landroidx/recyclerview/widget/AdapterHelper;->hasAnyUpdateTypes(I)Z move-result v0 if-nez v0, :cond_4 const-string v0, "RV PartialInvalidate" .line 2011 invoke-static {v0}, Landroidx/core/os/TraceCompat;->beginSection(Ljava/lang/String;)V .line 2012 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V .line 2013 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper; .line 2014 invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->preProcess()V iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z if-nez v0, :cond_3 .line 2016 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->hasUpdatedView()Z move-result v0 if-eqz v0, :cond_2 .line 2017 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayout()V goto :goto_0 :cond_2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper; .line 2020 invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->consumePostponedUpdates()V :cond_3 :goto_0 const/4 v0, 0x1 .line 2023 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V .line 2024 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V .line 2025 invoke-static {}, Landroidx/core/os/TraceCompat;->endSection()V goto :goto_1 :cond_4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper; .line 2026 invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->hasPendingUpdates()Z move-result v0 if-eqz v0, :cond_5 .line 2027 invoke-static {v1}, Landroidx/core/os/TraceCompat;->beginSection(Ljava/lang/String;)V .line 2028 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayout()V .line 2029 invoke-static {}, Landroidx/core/os/TraceCompat;->endSection()V :cond_5 :goto_1 return-void .line 1997 :cond_6 :goto_2 invoke-static {v1}, Landroidx/core/os/TraceCompat;->beginSection(Ljava/lang/String;)V .line 1998 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayout()V .line 1999 invoke-static {}, Landroidx/core/os/TraceCompat;->endSection()V return-void .end method .method public defaultOnMeasure(II)V .locals 2 .line 3756 invoke-virtual {p0}, Landroid/view/View;->getPaddingLeft()I move-result v0 invoke-virtual {p0}, Landroid/view/View;->getPaddingRight()I move-result v1 add-int/2addr v0, v1 .line 3757 invoke-static {p0}, Landroidx/core/view/ViewCompat;->getMinimumWidth(Landroid/view/View;)I move-result v1 .line 3755 invoke-static {p1, v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->chooseSize(III)I move-result p1 .line 3759 invoke-virtual {p0}, Landroid/view/View;->getPaddingTop()I move-result v0 invoke-virtual {p0}, Landroid/view/View;->getPaddingBottom()I move-result v1 add-int/2addr v0, v1 .line 3760 invoke-static {p0}, Landroidx/core/view/ViewCompat;->getMinimumHeight(Landroid/view/View;)I move-result v1 .line 3758 invoke-static {p2, v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->chooseSize(III)I move-result p2 .line 3762 invoke-virtual {p0, p1, p2}, Landroid/view/View;->setMeasuredDimension(II)V return-void .end method .method public dispatchChildAttached(Landroid/view/View;)V .locals 2 .line 7864 invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v0 .line 7865 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->onChildAttachedToWindow(Landroid/view/View;)V iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; if-eqz v1, :cond_0 if-eqz v0, :cond_0 .line 7867 invoke-virtual {v1, v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->onViewAttachedToWindow(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List; if-eqz v0, :cond_1 .line 7870 invoke-interface {v0}, Ljava/util/List;->size()I move-result v0 add-int/lit8 v0, v0, -0x1 :goto_0 if-ltz v0, :cond_1 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List; .line 7872 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 public dispatchChildDetached(Landroid/view/View;)V .locals 2 .line 7849 invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v0 .line 7850 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->onChildDetachedFromWindow(Landroid/view/View;)V iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; if-eqz v1, :cond_0 if-eqz v0, :cond_0 .line 7852 invoke-virtual {v1, v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->onViewDetachedFromWindow(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List; if-eqz v0, :cond_1 .line 7855 invoke-interface {v0}, Ljava/util/List;->size()I move-result v0 add-int/lit8 v0, v0, -0x1 :goto_0 if-ltz v0, :cond_1 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List; .line 7857 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 public dispatchLayout()V .locals 4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; const-string v1, "RecyclerView" if-nez v0, :cond_0 const-string v0, "No adapter attached; skipping layout" .line 3987 invoke-static {v1, v0}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I return-void :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-nez v0, :cond_1 const-string v0, "No layout manager attached; skipping layout" .line 3992 invoke-static {v1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I return-void :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; const/4 v1, 0x0 .line 3996 iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mIsMeasuring:Z iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureSkippedDueToExact:Z const/4 v2, 0x1 if-eqz v0, :cond_3 iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureNonExactMeasuredWidth:I .line 4003 invoke-virtual {p0}, Landroid/view/View;->getWidth()I move-result v3 if-ne v0, v3, :cond_2 iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureNonExactMeasuredHeight:I .line 4004 invoke-virtual {p0}, Landroid/view/View;->getHeight()I move-result v3 if-eq v0, v3, :cond_3 :cond_2 move v0, v2 goto :goto_0 :cond_3 move v0, v1 :goto_0 iput v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureNonExactMeasuredWidth:I iput v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureNonExactMeasuredHeight:I iput-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureSkippedDueToExact:Z iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4009 iget v1, v1, Landroidx/recyclerview/widget/RecyclerView$State;->mLayoutStep:I if-ne v1, v2, :cond_4 .line 4010 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep1()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 4011 invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setExactMeasureSpecsFrom(Landroidx/recyclerview/widget/RecyclerView;)V .line 4012 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep2()V goto :goto_2 :cond_4 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper; .line 4013 invoke-virtual {v1}, Landroidx/recyclerview/widget/AdapterHelper;->hasUpdates()Z move-result v1 if-nez v1, :cond_6 if-nez v0, :cond_6 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 4015 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->getWidth()I move-result v0 invoke-virtual {p0}, Landroid/view/View;->getWidth()I move-result v1 if-ne v0, v1, :cond_6 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 4016 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->getHeight()I move-result v0 invoke-virtual {p0}, Landroid/view/View;->getHeight()I move-result v1 if-eq v0, v1, :cond_5 goto :goto_1 :cond_5 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 4029 invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setExactMeasureSpecsFrom(Landroidx/recyclerview/widget/RecyclerView;)V goto :goto_2 :cond_6 :goto_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 4025 invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setExactMeasureSpecsFrom(Landroidx/recyclerview/widget/RecyclerView;)V .line 4026 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep2()V .line 4031 :goto_2 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep3()V return-void .end method .method public dispatchNestedFling(FFZ)Z .locals 1 .line 11960 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper; move-result-object v0 invoke-virtual {v0, p1, p2, p3}, Landroidx/core/view/NestedScrollingChildHelper;->dispatchNestedFling(FFZ)Z move-result p1 return p1 .end method .method public dispatchNestedPreFling(FF)Z .locals 1 .line 11965 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper; move-result-object v0 invoke-virtual {v0, p1, p2}, Landroidx/core/view/NestedScrollingChildHelper;->dispatchNestedPreFling(FF)Z move-result p1 return p1 .end method .method public dispatchNestedPreScroll(II[I[I)Z .locals 1 .line 11948 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper; move-result-object v0 invoke-virtual {v0, p1, p2, p3, p4}, Landroidx/core/view/NestedScrollingChildHelper;->dispatchNestedPreScroll(II[I[I)Z move-result p1 return p1 .end method .method public dispatchNestedPreScroll(II[I[II)Z .locals 6 .line 11954 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper; move-result-object v0 move v1, p1 move v2, p2 move-object v3, p3 move-object v4, p4 move v5, p5 invoke-virtual/range {v0 .. v5}, Landroidx/core/view/NestedScrollingChildHelper;->dispatchNestedPreScroll(II[I[II)Z move-result p1 return p1 .end method .method public final dispatchNestedScroll(IIII[II[I)V .locals 8 .param p7 # [I .annotation build Landroidx/annotation/NonNull; .end annotation .end param .line 11942 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper; move-result-object v0 move v1, p1 move v2, p2 move v3, p3 move v4, p4 move-object v5, p5 move v6, p6 move-object v7, p7 invoke-virtual/range {v0 .. v7}, Landroidx/core/view/NestedScrollingChildHelper;->dispatchNestedScroll(IIII[II[I)V return-void .end method .method public dispatchNestedScroll(IIII[I)Z .locals 6 .line 11928 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper; move-result-object v0 move v1, p1 move v2, p2 move v3, p3 move v4, p4 move-object v5, p5 invoke-virtual/range {v0 .. v5}, Landroidx/core/view/NestedScrollingChildHelper;->dispatchNestedScroll(IIII[I)Z move-result p1 return p1 .end method .method public dispatchNestedScroll(IIII[II)Z .locals 7 .line 11935 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper; move-result-object v0 move v1, p1 move v2, p2 move v3, p3 move v4, p4 move-object v5, p5 move v6, p6 invoke-virtual/range {v0 .. v6}, Landroidx/core/view/NestedScrollingChildHelper;->dispatchNestedScroll(IIII[II)Z move-result p1 return p1 .end method .method public dispatchOnScrollStateChanged(I)V .locals 2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz v0, :cond_0 .line 5371 invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onScrollStateChanged(I)V .line 5376 :cond_0 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->onScrollStateChanged(I)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListener:Landroidx/recyclerview/widget/RecyclerView$OnScrollListener; if-eqz v0, :cond_1 .line 5380 invoke-virtual {v0, p0, p1}, Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;->onScrollStateChanged(Landroidx/recyclerview/widget/RecyclerView;I)V :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List; if-eqz v0, :cond_2 .line 5383 invoke-interface {v0}, Ljava/util/List;->size()I move-result v0 add-int/lit8 v0, v0, -0x1 :goto_0 if-ltz v0, :cond_2 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List; .line 5384 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 public dispatchOnScrolled(II)V .locals 4 iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchScrollCounter:I add-int/lit8 v0, v0, 0x1 iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchScrollCounter:I .line 5333 invoke-virtual {p0}, Landroid/view/View;->getScrollX()I move-result v0 .line 5334 invoke-virtual {p0}, Landroid/view/View;->getScrollY()I move-result v1 sub-int v2, v0, p1 sub-int v3, v1, p2 .line 5335 invoke-virtual {p0, v0, v1, v2, v3}, Landroid/view/View;->onScrollChanged(IIII)V .line 5338 invoke-virtual {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->onScrolled(II)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListener:Landroidx/recyclerview/widget/RecyclerView$OnScrollListener; if-eqz v0, :cond_0 .line 5343 invoke-virtual {v0, p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;->onScrolled(Landroidx/recyclerview/widget/RecyclerView;II)V :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List; if-eqz v0, :cond_1 .line 5346 invoke-interface {v0}, Ljava/util/List;->size()I move-result v0 add-int/lit8 v0, v0, -0x1 :goto_0 if-ltz v0, :cond_1 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List; .line 5347 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 public dispatchPendingImportantForAccessibilityChanges()V .locals 5 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingAccessibilityImportanceChange:Ljava/util/List; .line 11839 invoke-interface {v0}, Ljava/util/List;->size()I move-result v0 add-int/lit8 v0, v0, -0x1 :goto_0 if-ltz v0, :cond_2 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingAccessibilityImportanceChange:Ljava/util/List; .line 11840 invoke-interface {v1, v0}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object v1 check-cast v1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder; .line 11841 iget-object v2, v1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; invoke-virtual {v2}, Landroid/view/View;->getParent()Landroid/view/ViewParent; move-result-object v2 if-ne v2, p0, :cond_1 invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z move-result v2 if-eqz v2, :cond_0 goto :goto_1 .line 11844 :cond_0 iget v2, v1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPendingAccessibilityState:I const/4 v3, -0x1 if-eq v2, v3, :cond_1 .line 11847 iget-object v4, v1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; invoke-static {v4, v2}, Landroidx/core/view/ViewCompat;->setImportantForAccessibility(Landroid/view/View;I)V .line 11848 iput v3, v1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPendingAccessibilityState:I :cond_1 :goto_1 add-int/lit8 v0, v0, -0x1 goto :goto_0 :cond_2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingAccessibilityImportanceChange:Ljava/util/List; .line 11852 invoke-interface {v0}, Ljava/util/List;->clear()V return-void .end method .method public dispatchPopulateAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)Z .locals 0 .line 3890 invoke-virtual {p0, p1}, Landroid/view/View;->onPopulateAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)V const/4 p1, 0x1 return p1 .end method .method public dispatchRestoreInstanceState(Landroid/util/SparseArray;)V .locals 0 .annotation system Ldalvik/annotation/Signature; value = { "(", "Landroid/util/SparseArray<", "Landroid/os/Parcelable;", ">;)V" } .end annotation .line 1486 invoke-virtual {p0, p1}, Landroid/view/ViewGroup;->dispatchThawSelfOnly(Landroid/util/SparseArray;)V return-void .end method .method public dispatchSaveInstanceState(Landroid/util/SparseArray;)V .locals 0 .annotation system Ldalvik/annotation/Signature; value = { "(", "Landroid/util/SparseArray<", "Landroid/os/Parcelable;", ">;)V" } .end annotation .line 1478 invoke-virtual {p0, p1}, Landroid/view/ViewGroup;->dispatchFreezeSelfOnly(Landroid/util/SparseArray;)V return-void .end method .method public draw(Landroid/graphics/Canvas;)V .locals 7 .line 4603 invoke-super {p0, p1}, Landroid/view/View;->draw(Landroid/graphics/Canvas;)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; .line 4605 invoke-virtual {v0}, Ljava/util/ArrayList;->size()I move-result v0 const/4 v1, 0x0 move v2, v1 :goto_0 if-ge v2, v0, :cond_0 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; .line 4607 invoke-virtual {v3, v2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v3 check-cast v3, Landroidx/recyclerview/widget/RecyclerView$ItemDecoration; iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {v3, p1, p0, v4}, Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;->onDrawOver(Landroid/graphics/Canvas;Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$State;)V add-int/lit8 v2, v2, 0x1 goto :goto_0 :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; const/4 v2, 0x1 if-eqz v0, :cond_3 .line 4612 invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z move-result v0 if-nez v0, :cond_3 .line 4613 invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I move-result v0 iget-boolean v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z if-eqz v3, :cond_1 .line 4614 invoke-virtual {p0}, Landroid/view/View;->getPaddingBottom()I move-result v3 goto :goto_1 :cond_1 move v3, v1 :goto_1 const/high16 v4, 0x43870000 # 270.0f .line 4615 invoke-virtual {p1, v4}, Landroid/graphics/Canvas;->rotate(F)V .line 4616 invoke-virtual {p0}, Landroid/view/View;->getHeight()I move-result v4 neg-int v4, v4 add-int/2addr v4, v3 int-to-float v3, v4 const/4 v4, 0x0 invoke-virtual {p1, v3, v4}, Landroid/graphics/Canvas;->translate(FF)V iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; if-eqz v3, :cond_2 .line 4617 invoke-virtual {v3, p1}, Landroid/widget/EdgeEffect;->draw(Landroid/graphics/Canvas;)Z move-result v3 if-eqz v3, :cond_2 move v3, v2 goto :goto_2 :cond_2 move v3, v1 .line 4618 :goto_2 invoke-virtual {p1, v0}, Landroid/graphics/Canvas;->restoreToCount(I)V goto :goto_3 :cond_3 move v3, v1 :goto_3 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; if-eqz v0, :cond_6 .line 4620 invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z move-result v0 if-nez v0, :cond_6 .line 4621 invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I move-result v0 iget-boolean v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z if-eqz v4, :cond_4 .line 4623 invoke-virtual {p0}, Landroid/view/View;->getPaddingLeft()I move-result v4 int-to-float v4, v4 invoke-virtual {p0}, Landroid/view/View;->getPaddingTop()I move-result v5 int-to-float v5, v5 invoke-virtual {p1, v4, v5}, Landroid/graphics/Canvas;->translate(FF)V :cond_4 iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; if-eqz v4, :cond_5 .line 4625 invoke-virtual {v4, p1}, Landroid/widget/EdgeEffect;->draw(Landroid/graphics/Canvas;)Z move-result v4 if-eqz v4, :cond_5 move v4, v2 goto :goto_4 :cond_5 move v4, v1 :goto_4 or-int/2addr v3, v4 .line 4626 invoke-virtual {p1, v0}, Landroid/graphics/Canvas;->restoreToCount(I)V :cond_6 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; if-eqz v0, :cond_9 .line 4628 invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z move-result v0 if-nez v0, :cond_9 .line 4629 invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I move-result v0 .line 4630 invoke-virtual {p0}, Landroid/view/View;->getWidth()I move-result v4 iget-boolean v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z if-eqz v5, :cond_7 .line 4631 invoke-virtual {p0}, Landroid/view/View;->getPaddingTop()I move-result v5 goto :goto_5 :cond_7 move v5, v1 :goto_5 const/high16 v6, 0x42b40000 # 90.0f .line 4632 invoke-virtual {p1, v6}, Landroid/graphics/Canvas;->rotate(F)V int-to-float v5, v5 neg-int v4, v4 int-to-float v4, v4 .line 4633 invoke-virtual {p1, v5, v4}, Landroid/graphics/Canvas;->translate(FF)V iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; if-eqz v4, :cond_8 .line 4634 invoke-virtual {v4, p1}, Landroid/widget/EdgeEffect;->draw(Landroid/graphics/Canvas;)Z move-result v4 if-eqz v4, :cond_8 move v4, v2 goto :goto_6 :cond_8 move v4, v1 :goto_6 or-int/2addr v3, v4 .line 4635 invoke-virtual {p1, v0}, Landroid/graphics/Canvas;->restoreToCount(I)V :cond_9 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; if-eqz v0, :cond_c .line 4637 invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z move-result v0 if-nez v0, :cond_c .line 4638 invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I move-result v0 const/high16 v4, 0x43340000 # 180.0f .line 4639 invoke-virtual {p1, v4}, Landroid/graphics/Canvas;->rotate(F)V iget-boolean v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z if-eqz v4, :cond_a .line 4641 invoke-virtual {p0}, Landroid/view/View;->getWidth()I move-result v4 neg-int v4, v4 invoke-virtual {p0}, Landroid/view/View;->getPaddingRight()I move-result v5 add-int/2addr v4, v5 int-to-float v4, v4 invoke-virtual {p0}, Landroid/view/View;->getHeight()I move-result v5 neg-int v5, v5 invoke-virtual {p0}, Landroid/view/View;->getPaddingBottom()I move-result v6 add-int/2addr v5, v6 int-to-float v5, v5 invoke-virtual {p1, v4, v5}, Landroid/graphics/Canvas;->translate(FF)V goto :goto_7 .line 4643 :cond_a invoke-virtual {p0}, Landroid/view/View;->getWidth()I move-result v4 neg-int v4, v4 int-to-float v4, v4 invoke-virtual {p0}, Landroid/view/View;->getHeight()I move-result v5 neg-int v5, v5 int-to-float v5, v5 invoke-virtual {p1, v4, v5}, Landroid/graphics/Canvas;->translate(FF)V :goto_7 iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; if-eqz v4, :cond_b .line 4645 invoke-virtual {v4, p1}, Landroid/widget/EdgeEffect;->draw(Landroid/graphics/Canvas;)Z move-result v4 if-eqz v4, :cond_b move v1, v2 :cond_b or-int/2addr v3, v1 .line 4646 invoke-virtual {p1, v0}, Landroid/graphics/Canvas;->restoreToCount(I)V :cond_c if-nez v3, :cond_d iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; if-eqz p1, :cond_d iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; .line 4652 invoke-virtual {p1}, Ljava/util/ArrayList;->size()I move-result p1 if-lez p1, :cond_d iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; .line 4653 invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->isRunning()Z move-result p1 if-eqz p1, :cond_d goto :goto_8 :cond_d if-eqz v3, :cond_e .line 4658 :goto_8 invoke-static {p0}, Landroidx/core/view/ViewCompat;->postInvalidateOnAnimation(Landroid/view/View;)V :cond_e return-void .end method .method public drawChild(Landroid/graphics/Canvas;Landroid/view/View;J)Z .locals 0 .line 5204 invoke-super {p0, p1, p2, p3, p4}, Landroid/view/ViewGroup;->drawChild(Landroid/graphics/Canvas;Landroid/view/View;J)Z move-result p1 return p1 .end method .method public ensureBottomGlow()V .locals 4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; if-eqz v0, :cond_0 return-void :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory; const/4 v1, 0x3 .line 2809 invoke-virtual {v0, p0, v1}, Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;->createEdgeEffect(Landroidx/recyclerview/widget/RecyclerView;I)Landroid/widget/EdgeEffect; move-result-object v0 iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z if-eqz v1, :cond_1 .line 2811 invoke-virtual {p0}, Landroid/view/View;->getMeasuredWidth()I move-result v1 invoke-virtual {p0}, Landroid/view/View;->getPaddingLeft()I move-result v2 sub-int/2addr v1, v2 invoke-virtual {p0}, Landroid/view/View;->getPaddingRight()I move-result v2 sub-int/2addr v1, v2 .line 2812 invoke-virtual {p0}, Landroid/view/View;->getMeasuredHeight()I move-result v2 invoke-virtual {p0}, Landroid/view/View;->getPaddingTop()I move-result v3 sub-int/2addr v2, v3 invoke-virtual {p0}, Landroid/view/View;->getPaddingBottom()I move-result v3 sub-int/2addr v2, v3 .line 2811 invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V goto :goto_0 .line 2814 :cond_1 invoke-virtual {p0}, Landroid/view/View;->getMeasuredWidth()I move-result v1 invoke-virtual {p0}, Landroid/view/View;->getMeasuredHeight()I move-result v2 invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V :goto_0 return-void .end method .method public ensureLeftGlow()V .locals 4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; if-eqz v0, :cond_0 return-void :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory; const/4 v1, 0x0 .line 2769 invoke-virtual {v0, p0, v1}, Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;->createEdgeEffect(Landroidx/recyclerview/widget/RecyclerView;I)Landroid/widget/EdgeEffect; move-result-object v0 iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z if-eqz v1, :cond_1 .line 2771 invoke-virtual {p0}, Landroid/view/View;->getMeasuredHeight()I move-result v1 invoke-virtual {p0}, Landroid/view/View;->getPaddingTop()I move-result v2 sub-int/2addr v1, v2 invoke-virtual {p0}, Landroid/view/View;->getPaddingBottom()I move-result v2 sub-int/2addr v1, v2 .line 2772 invoke-virtual {p0}, Landroid/view/View;->getMeasuredWidth()I move-result v2 invoke-virtual {p0}, Landroid/view/View;->getPaddingLeft()I move-result v3 sub-int/2addr v2, v3 invoke-virtual {p0}, Landroid/view/View;->getPaddingRight()I move-result v3 sub-int/2addr v2, v3 .line 2771 invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V goto :goto_0 .line 2774 :cond_1 invoke-virtual {p0}, Landroid/view/View;->getMeasuredHeight()I move-result v1 invoke-virtual {p0}, Landroid/view/View;->getMeasuredWidth()I move-result v2 invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V :goto_0 return-void .end method .method public ensureRightGlow()V .locals 4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; if-eqz v0, :cond_0 return-void :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory; const/4 v1, 0x2 .line 2782 invoke-virtual {v0, p0, v1}, Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;->createEdgeEffect(Landroidx/recyclerview/widget/RecyclerView;I)Landroid/widget/EdgeEffect; move-result-object v0 iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z if-eqz v1, :cond_1 .line 2784 invoke-virtual {p0}, Landroid/view/View;->getMeasuredHeight()I move-result v1 invoke-virtual {p0}, Landroid/view/View;->getPaddingTop()I move-result v2 sub-int/2addr v1, v2 invoke-virtual {p0}, Landroid/view/View;->getPaddingBottom()I move-result v2 sub-int/2addr v1, v2 .line 2785 invoke-virtual {p0}, Landroid/view/View;->getMeasuredWidth()I move-result v2 invoke-virtual {p0}, Landroid/view/View;->getPaddingLeft()I move-result v3 sub-int/2addr v2, v3 invoke-virtual {p0}, Landroid/view/View;->getPaddingRight()I move-result v3 sub-int/2addr v2, v3 .line 2784 invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V goto :goto_0 .line 2787 :cond_1 invoke-virtual {p0}, Landroid/view/View;->getMeasuredHeight()I move-result v1 invoke-virtual {p0}, Landroid/view/View;->getMeasuredWidth()I move-result v2 invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V :goto_0 return-void .end method .method public ensureTopGlow()V .locals 4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; if-eqz v0, :cond_0 return-void :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory; const/4 v1, 0x1 .line 2795 invoke-virtual {v0, p0, v1}, Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;->createEdgeEffect(Landroidx/recyclerview/widget/RecyclerView;I)Landroid/widget/EdgeEffect; move-result-object v0 iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z if-eqz v1, :cond_1 .line 2797 invoke-virtual {p0}, Landroid/view/View;->getMeasuredWidth()I move-result v1 invoke-virtual {p0}, Landroid/view/View;->getPaddingLeft()I move-result v2 sub-int/2addr v1, v2 invoke-virtual {p0}, Landroid/view/View;->getPaddingRight()I move-result v2 sub-int/2addr v1, v2 .line 2798 invoke-virtual {p0}, Landroid/view/View;->getMeasuredHeight()I move-result v2 invoke-virtual {p0}, Landroid/view/View;->getPaddingTop()I move-result v3 sub-int/2addr v2, v3 invoke-virtual {p0}, Landroid/view/View;->getPaddingBottom()I move-result v3 sub-int/2addr v2, v3 .line 2797 invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V goto :goto_0 .line 2800 :cond_1 invoke-virtual {p0}, Landroid/view/View;->getMeasuredWidth()I move-result v1 invoke-virtual {p0}, Landroid/view/View;->getMeasuredHeight()I move-result v2 invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V :goto_0 return-void .end method .method public exceptionLabel()Ljava/lang/String; .locals 2 .line 764 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V const-string v1, " " invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-super {p0}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object v1 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v1, ", adapter:" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; const-string v1, ", layout:" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; const-string v1, ", context:" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; .line 767 invoke-virtual {p0}, Landroid/view/View;->getContext()Landroid/content/Context; move-result-object v1 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 return-object v0 .end method .method public final fillRemainingScrollValues(Landroidx/recyclerview/widget/RecyclerView$State;)V .locals 3 .line 4185 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; .line 4186 iget-object v0, v0, Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;->mOverScroller:Landroid/widget/OverScroller; .line 4187 invoke-virtual {v0}, Landroid/widget/OverScroller;->getFinalX()I move-result v1 invoke-virtual {v0}, Landroid/widget/OverScroller;->getCurrX()I move-result v2 sub-int/2addr v1, v2 iput v1, p1, Landroidx/recyclerview/widget/RecyclerView$State;->mRemainingScrollHorizontal:I .line 4188 invoke-virtual {v0}, Landroid/widget/OverScroller;->getFinalY()I move-result v1 invoke-virtual {v0}, Landroid/widget/OverScroller;->getCurrY()I move-result v0 sub-int/2addr v1, v0 iput v1, p1, Landroidx/recyclerview/widget/RecyclerView$State;->mRemainingScrollVertical:I goto :goto_0 :cond_0 const/4 v0, 0x0 .line 4190 iput v0, p1, Landroidx/recyclerview/widget/RecyclerView$State;->mRemainingScrollHorizontal:I .line 4191 iput v0, p1, Landroidx/recyclerview/widget/RecyclerView$State;->mRemainingScrollVertical:I :goto_0 return-void .end method .method public findChildViewUnder(FF)Landroid/view/View; .locals 5 .annotation build Landroidx/annotation/Nullable; .end annotation iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 5187 invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I move-result v0 add-int/lit8 v0, v0, -0x1 :goto_0 if-ltz v0, :cond_1 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 5189 invoke-virtual {v1, v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View; move-result-object v1 .line 5190 invoke-virtual {v1}, Landroid/view/View;->getTranslationX()F move-result v2 .line 5191 invoke-virtual {v1}, Landroid/view/View;->getTranslationY()F move-result v3 .line 5192 invoke-virtual {v1}, Landroid/view/View;->getLeft()I move-result v4 int-to-float v4, v4 add-float/2addr v4, v2 cmpl-float v4, p1, v4 if-ltz v4, :cond_0 .line 5193 invoke-virtual {v1}, Landroid/view/View;->getRight()I move-result v4 int-to-float v4, v4 add-float/2addr v4, v2 cmpg-float v2, p1, v4 if-gtz v2, :cond_0 .line 5194 invoke-virtual {v1}, Landroid/view/View;->getTop()I move-result v2 int-to-float v2, v2 add-float/2addr v2, v3 cmpl-float v2, p2, v2 if-ltz v2, :cond_0 .line 5195 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 .line 4963 invoke-virtual {p1}, Landroid/view/View;->getParent()Landroid/view/ViewParent; move-result-object v0 :goto_0 if-eqz v0, :cond_0 if-eq v0, p0, :cond_0 .line 4964 instance-of v1, v0, Landroid/view/View; if-eqz v1, :cond_0 .line 4965 move-object p1, v0 check-cast p1, Landroid/view/View; .line 4966 invoke-virtual {p1}, Landroid/view/View;->getParent()Landroid/view/ViewParent; move-result-object v0 goto :goto_0 :cond_0 if-ne v0, p0, :cond_1 goto :goto_1 :cond_1 const/4 p1, 0x0 :goto_1 return-object p1 .end method .method public findContainingViewHolder(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; .locals 0 .param p1 # Landroid/view/View; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .annotation build Landroidx/annotation/Nullable; .end annotation .line 4980 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->findContainingItemView(Landroid/view/View;)Landroid/view/View; move-result-object p1 if-nez p1, :cond_0 const/4 p1, 0x0 goto :goto_0 .line 4981 :cond_0 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolder(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object p1 :goto_0 return-object p1 .end method .method public findViewHolderForAdapterPosition(I)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; .locals 5 .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; .line 5101 invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I move-result v0 const/4 v2, 0x0 :goto_0 if-ge v2, v0, :cond_3 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 5105 invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View; move-result-object v3 invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v3 if-eqz v3, :cond_2 .line 5106 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isRemoved()Z move-result v4 if-nez v4, :cond_2 .line 5107 invoke-virtual {p0, v3}, Landroidx/recyclerview/widget/RecyclerView;->getAdapterPositionInRecyclerView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)I move-result v4 if-ne v4, p1, :cond_2 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 5108 iget-object v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; invoke-virtual {v1, v4}, Landroidx/recyclerview/widget/ChildHelper;->isHidden(Landroid/view/View;)Z move-result v1 if-eqz v1, :cond_1 move-object v1, v3 goto :goto_1 :cond_1 return-object v3 :cond_2 :goto_1 add-int/lit8 v2, v2, 0x1 goto :goto_0 :cond_3 return-object v1 .end method .method public findViewHolderForItemId(J)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; .locals 6 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; const/4 v1, 0x0 if-eqz v0, :cond_3 .line 5160 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z move-result v0 if-nez v0, :cond_0 goto :goto_2 :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 5163 invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I move-result v0 const/4 v2, 0x0 :goto_0 if-ge v2, v0, :cond_3 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 5166 invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View; move-result-object v3 invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v3 if-eqz v3, :cond_2 .line 5167 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isRemoved()Z move-result v4 if-nez v4, :cond_2 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getItemId()J move-result-wide v4 cmp-long v4, v4, p1 if-nez v4, :cond_2 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 5168 iget-object v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; invoke-virtual {v1, v4}, Landroidx/recyclerview/widget/ChildHelper;->isHidden(Landroid/view/View;)Z move-result v1 if-eqz v1, :cond_1 move-object v1, v3 goto :goto_1 :cond_1 return-object v3 :cond_2 :goto_1 add-int/lit8 v2, v2, 0x1 goto :goto_0 :cond_3 :goto_2 return-object v1 .end method .method public findViewHolderForLayoutPosition(I)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; .locals 1 .annotation build Landroidx/annotation/Nullable; .end annotation const/4 v0, 0x0 .line 5076 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 .line 5048 invoke-virtual {p0, p1, v0}, Landroidx/recyclerview/widget/RecyclerView;->findViewHolderForPosition(IZ)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object p1 return-object p1 .end method .method public findViewHolderForPosition(IZ)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; .locals 5 .annotation build Landroidx/annotation/Nullable; .end annotation iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 5120 invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I move-result v0 const/4 v1, 0x0 const/4 v2, 0x0 :goto_0 if-ge v2, v0, :cond_4 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 5123 invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View; move-result-object v3 invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v3 if-eqz v3, :cond_3 .line 5124 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isRemoved()Z move-result v4 if-nez v4, :cond_3 if-eqz p2, :cond_0 .line 5126 iget v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I if-eq v4, p1, :cond_1 goto :goto_1 .line 5129 :cond_0 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getLayoutPosition()I move-result v4 if-eq v4, p1, :cond_1 goto :goto_1 :cond_1 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 5132 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." .line 2572 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;->mLayoutSuppressed:Z if-eqz v2, :cond_1 return v1 .line 2580 :cond_1 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z move-result v0 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 2581 invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z move-result v2 if-eqz v0, :cond_2 .line 2583 invoke-static {p1}, Ljava/lang/Math;->abs(I)I move-result v3 iget v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinFlingVelocity:I if-ge v3, v4, :cond_3 :cond_2 move p1, v1 :cond_3 if-eqz v2, :cond_4 .line 2586 invoke-static {p2}, Ljava/lang/Math;->abs(I)I move-result v3 iget v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinFlingVelocity:I if-ge v3, v4, :cond_5 :cond_4 move p2, v1 :cond_5 if-nez p1, :cond_6 if-nez p2, :cond_6 return v1 :cond_6 int-to-float v3, p1 int-to-float v4, p2 .line 2594 invoke-virtual {p0, v3, v4}, Landroidx/recyclerview/widget/RecyclerView;->dispatchNestedPreFling(FF)Z move-result v5 if-nez v5, :cond_b const/4 v5, 0x1 if-nez v0, :cond_8 if-eqz v2, :cond_7 goto :goto_0 :cond_7 move v6, v1 goto :goto_1 :cond_8 :goto_0 move v6, v5 .line 2596 :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 .line 2598 invoke-virtual {v3, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$OnFlingListener;->onFling(II)Z move-result v3 if-eqz v3, :cond_9 return v5 :cond_9 if-eqz v6, :cond_b if-eqz v2, :cond_a or-int/lit8 v0, v0, 0x2 .line 2610 :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 .line 2612 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 .line 2613 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; .line 2614 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; .line 2881 invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onInterceptFocusSearch(Landroid/view/View;I)Landroid/view/View; move-result-object v0 if-eqz v0, :cond_0 return-object v0 :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; const/4 v1, 0x1 const/4 v2, 0x0 if-eqz v0, :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz v0, :cond_1 .line 2886 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isComputingLayout()Z move-result v0 if-nez v0, :cond_1 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z if-nez v0, :cond_1 move v0, v1 goto :goto_0 :cond_1 move v0, v2 .line 2888 :goto_0 invoke-static {}, Landroid/view/FocusFinder;->getInstance()Landroid/view/FocusFinder; move-result-object v3 const/4 v4, 0x0 if-eqz v0, :cond_f const/4 v5, 0x2 if-eq p2, v5, :cond_2 if-ne p2, v1, :cond_f :cond_2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 2894 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z move-result v0 if-eqz v0, :cond_5 if-ne p2, v5, :cond_3 const/16 v0, 0x82 goto :goto_1 :cond_3 const/16 v0, 0x21 .line 2897 :goto_1 invoke-virtual {v3, p0, p1, v0}, Landroid/view/FocusFinder;->findNextFocus(Landroid/view/ViewGroup;Landroid/view/View;I)Landroid/view/View; move-result-object v6 if-nez v6, :cond_4 move v6, v1 goto :goto_2 :cond_4 move v6, v2 :goto_2 sget-boolean v7, Landroidx/recyclerview/widget/RecyclerView;->FORCE_ABS_FOCUS_SEARCH_DIRECTION:Z if-eqz v7, :cond_6 move p2, v0 goto :goto_3 :cond_5 move v6, v2 :cond_6 :goto_3 if-nez v6, :cond_c iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 2904 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z move-result v0 if-eqz v0, :cond_c iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 2905 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->getLayoutDirection()I move-result v0 if-ne v0, v1, :cond_7 move v0, v1 goto :goto_4 :cond_7 move v0, v2 :goto_4 if-ne p2, v5, :cond_8 move v5, v1 goto :goto_5 :cond_8 move v5, v2 :goto_5 xor-int/2addr v0, v5 if-eqz v0, :cond_9 const/16 v0, 0x42 goto :goto_6 :cond_9 const/16 v0, 0x11 .line 2908 :goto_6 invoke-virtual {v3, p0, p1, v0}, Landroid/view/FocusFinder;->findNextFocus(Landroid/view/ViewGroup;Landroid/view/View;I)Landroid/view/View; move-result-object v5 if-nez v5, :cond_a goto :goto_7 :cond_a move v1, v2 :goto_7 sget-boolean v5, Landroidx/recyclerview/widget/RecyclerView;->FORCE_ABS_FOCUS_SEARCH_DIRECTION:Z if-eqz v5, :cond_b move p2, v0 :cond_b move v6, v1 :cond_c if-eqz v6, :cond_e .line 2916 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->consumePendingUpdateOperations()V .line 2917 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->findContainingItemView(Landroid/view/View;)Landroid/view/View; move-result-object v0 if-nez v0, :cond_d return-object v4 .line 2922 :cond_d invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 2923 invoke-virtual {v0, p1, p2, v1, v5}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onFocusSearchFailed(Landroid/view/View;ILandroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)Landroid/view/View; .line 2924 invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V .line 2926 :cond_e invoke-virtual {v3, p0, p1, p2}, Landroid/view/FocusFinder;->findNextFocus(Landroid/view/ViewGroup;Landroid/view/View;I)Landroid/view/View; move-result-object v0 goto :goto_8 .line 2928 :cond_f invoke-virtual {v3, p0, p1, p2}, Landroid/view/FocusFinder;->findNextFocus(Landroid/view/ViewGroup;Landroid/view/View;I)Landroid/view/View; move-result-object v1 if-nez v1, :cond_11 if-eqz v0, :cond_11 .line 2930 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->consumePendingUpdateOperations()V .line 2931 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->findContainingItemView(Landroid/view/View;)Landroid/view/View; move-result-object v0 if-nez v0, :cond_10 return-object v4 .line 2936 :cond_10 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 2937 invoke-virtual {v0, p1, p2, v1, v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onFocusSearchFailed(Landroid/view/View;ILandroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)Landroid/view/View; move-result-object v0 .line 2938 invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V goto :goto_8 :cond_11 move-object v0, v1 :goto_8 if-eqz v0, :cond_13 .line 2941 invoke-virtual {v0}, Landroid/view/View;->hasFocusable()Z move-result v1 if-nez v1, :cond_13 .line 2942 invoke-virtual {p0}, Landroid/view/ViewGroup;->getFocusedChild()Landroid/view/View; move-result-object v1 if-nez v1, :cond_12 .line 2945 invoke-super {p0, p1, p2}, Landroid/view/ViewGroup;->focusSearch(Landroid/view/View;I)Landroid/view/View; move-result-object p1 return-object p1 .line 2951 :cond_12 invoke-direct {p0, v0, v4}, Landroidx/recyclerview/widget/RecyclerView;->requestChildOnScreen(Landroid/view/View;Landroid/view/View;)V return-object p1 .line 2954 :cond_13 invoke-direct {p0, p1, v0, p2}, Landroidx/recyclerview/widget/RecyclerView;->isPreferredNextFocus(Landroid/view/View;Landroid/view/View;I)Z move-result v1 if-eqz v1, :cond_14 goto :goto_9 .line 2955 :cond_14 invoke-super {p0, p1, p2}, Landroid/view/ViewGroup;->focusSearch(Landroid/view/View;I)Landroid/view/View; move-result-object v0 :goto_9 return-object v0 .end method .method public generateDefaultLayoutParams()Landroid/view/ViewGroup$LayoutParams; .locals 3 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz v0, :cond_0 .line 4682 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->generateDefaultLayoutParams()Landroidx/recyclerview/widget/RecyclerView$LayoutParams; move-result-object v0 return-object v0 .line 4680 :cond_0 new-instance v0, Ljava/lang/IllegalStateException; new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V const-string v2, "RecyclerView has no LayoutManager" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String; move-result-object v2 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw v0 .end method .method public generateLayoutParams(Landroid/util/AttributeSet;)Landroid/view/ViewGroup$LayoutParams; .locals 2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz v0, :cond_0 .line 4690 invoke-virtual {p0}, Landroid/view/View;->getContext()Landroid/content/Context; move-result-object v1 invoke-virtual {v0, v1, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->generateLayoutParams(Landroid/content/Context;Landroid/util/AttributeSet;)Landroidx/recyclerview/widget/RecyclerView$LayoutParams; move-result-object p1 return-object p1 .line 4688 :cond_0 new-instance p1, Ljava/lang/IllegalStateException; new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V const-string v1, "RecyclerView has no LayoutManager" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String; move-result-object v1 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw p1 .end method .method public generateLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Landroid/view/ViewGroup$LayoutParams; .locals 2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz v0, :cond_0 .line 4698 invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->generateLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Landroidx/recyclerview/widget/RecyclerView$LayoutParams; move-result-object p1 return-object p1 .line 4696 :cond_0 new-instance p1, Ljava/lang/IllegalStateException; new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V const-string v1, "RecyclerView has no LayoutManager" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String; move-result-object v1 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw p1 .end method .method public getAccessibilityClassName()Ljava/lang/CharSequence; .locals 1 const-string v0, "androidx.recyclerview.widget.RecyclerView" return-object v0 .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 public getAdapterPositionInRecyclerView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)I .locals 1 const/16 v0, 0x20c .line 11856 invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->hasAnyOfTheFlags(I)Z move-result v0 if-nez v0, :cond_1 .line 11858 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; .line 11861 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 .line 1316 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->getBaseline()I move-result v0 return v0 .line 1318 :cond_0 invoke-super {p0}, Landroid/view/View;->getBaseline()I move-result v0 return v0 .end method .method public getChangedHolderKey(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)J .locals 2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; .line 4532 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z move-result v0 if-eqz v0, :cond_0 invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getItemId()J move-result-wide v0 goto :goto_0 :cond_0 iget p1, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I int-to-long v0, p1 :goto_0 return-wide v0 .end method .method public getChildAdapterPosition(Landroid/view/View;)I .locals 0 .param p1 # Landroid/view/View; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .line 5008 invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object p1 if-eqz p1, :cond_0 .line 5009 invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getAbsoluteAdapterPosition()I move-result p1 goto :goto_0 :cond_0 const/4 p1, -0x1 :goto_0 return p1 .end method .method public getChildDrawingOrder(II)I .locals 1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildDrawingOrderCallback:Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback; if-nez v0, :cond_0 .line 13875 invoke-super {p0, p1, p2}, Landroid/view/ViewGroup;->getChildDrawingOrder(II)I move-result p1 return p1 .line 13877 :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_1 .line 5034 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z move-result v0 if-nez v0, :cond_0 goto :goto_0 .line 5037 :cond_0 invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object p1 if-eqz p1, :cond_1 .line 5038 invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getItemId()J move-result-wide v1 :cond_1 :goto_0 return-wide v1 .end method .method public getChildLayoutPosition(Landroid/view/View;)I .locals 0 .param p1 # Landroid/view/View; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .line 5023 invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object p1 if-eqz p1, :cond_0 .line 5024 invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getLayoutPosition()I move-result p1 goto :goto_0 :cond_0 const/4 p1, -0x1 :goto_0 return p1 .end method .method public getChildPosition(Landroid/view/View;)I .locals 0 .param p1 # Landroid/view/View; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .annotation runtime Ljava/lang/Deprecated; .end annotation .line 4998 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 .line 4942 invoke-virtual {p1}, Landroid/view/View;->getParent()Landroid/view/ViewParent; move-result-object v0 if-eqz v0, :cond_1 if-ne v0, p0, :cond_0 goto :goto_0 .line 4944 :cond_0 new-instance v0, Ljava/lang/IllegalArgumentException; new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V const-string v2, "View " invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; const-string p1, " is not a direct child of " invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 invoke-direct {v0, p1}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw v0 .line 4947 :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 .line 5266 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 public getItemDecorInsetsForChild(Landroid/view/View;)Landroid/graphics/Rect; .locals 8 .line 5279 invoke-virtual {p1}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams; move-result-object v0 check-cast v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams; .line 5280 iget-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mInsetsDirty:Z if-nez v1, :cond_0 .line 5281 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; .line 5284 invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$State;->isPreLayout()Z move-result v1 if-eqz v1, :cond_2 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->isItemChanged()Z move-result v1 if-nez v1, :cond_1 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->isViewInvalid()Z move-result v1 if-eqz v1, :cond_2 .line 5286 :cond_1 iget-object p1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mDecorInsets:Landroid/graphics/Rect; return-object p1 .line 5288 :cond_2 iget-object v1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mDecorInsets:Landroid/graphics/Rect; const/4 v2, 0x0 .line 5289 invoke-virtual {v1, v2, v2, v2, v2}, Landroid/graphics/Rect;->set(IIII)V iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; .line 5290 invoke-virtual {v3}, Ljava/util/ArrayList;->size()I move-result v3 move v4, v2 :goto_0 if-ge v4, v3, :cond_3 iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; .line 5292 invoke-virtual {v5, v2, v2, v2, v2}, Landroid/graphics/Rect;->set(IIII)V iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; .line 5293 invoke-virtual {v5, v4}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v5 check-cast v5, Landroidx/recyclerview/widget/RecyclerView$ItemDecoration; iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {v5, v6, p1, p0, v7}, Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;->getItemOffsets(Landroid/graphics/Rect;Landroid/view/View;Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$State;)V .line 5294 iget v5, v1, Landroid/graphics/Rect;->left:I iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; iget v7, v6, Landroid/graphics/Rect;->left:I add-int/2addr v5, v7 iput v5, v1, Landroid/graphics/Rect;->left:I .line 5295 iget v5, v1, Landroid/graphics/Rect;->top:I iget v7, v6, Landroid/graphics/Rect;->top:I add-int/2addr v5, v7 iput v5, v1, Landroid/graphics/Rect;->top:I .line 5296 iget v5, v1, Landroid/graphics/Rect;->right:I iget v7, v6, Landroid/graphics/Rect;->right:I add-int/2addr v5, v7 iput v5, v1, Landroid/graphics/Rect;->right:I .line 5297 iget v5, v1, Landroid/graphics/Rect;->bottom:I iget v6, v6, Landroid/graphics/Rect;->bottom:I add-int/2addr v5, v6 iput v5, v1, Landroid/graphics/Rect;->bottom:I add-int/lit8 v4, v4, 0x1 goto :goto_0 .line 5299 :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 .line 1677 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; .line 1682 invoke-virtual {v0, p1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object p1 check-cast p1, Landroidx/recyclerview/widget/RecyclerView$ItemDecoration; return-object p1 .line 1679 :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; .line 1691 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 public getNanoTime()J .locals 2 sget-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->ALLOW_THREAD_GAP_WORK:Z if-eqz v0, :cond_0 .line 6059 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; .line 1556 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 .line 11917 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper; move-result-object v0 invoke-virtual {v0}, Landroidx/core/view/NestedScrollingChildHelper;->hasNestedScrollingParent()Z move-result v0 return v0 .end method .method public hasNestedScrollingParent(I)Z .locals 1 .line 11922 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; .line 5404 invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->hasPendingUpdates()Z move-result v0 if-eqz v0, :cond_0 goto :goto_0 :cond_0 const/4 v0, 0x0 goto :goto_1 :cond_1 :goto_0 const/4 v0, 0x1 :goto_1 return v0 .end method .method public initAdapterManager()V .locals 2 .line 1001 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 public 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 .line 11875 invoke-virtual {p0}, Landroid/view/View;->getContext()Landroid/content/Context; move-result-object v0 invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources; move-result-object v0 .line 11876 new-instance v1, Landroidx/recyclerview/widget/FastScroller; sget v2, Landroidx/recyclerview/R$dimen;->fastscroll_default_thickness:I .line 11878 invoke-virtual {v0, v2}, Landroid/content/res/Resources;->getDimensionPixelSize(I)I move-result v7 sget v2, Landroidx/recyclerview/R$dimen;->fastscroll_minimum_range:I .line 11879 invoke-virtual {v0, v2}, Landroid/content/res/Resources;->getDimensionPixelSize(I)I move-result v8 sget v2, Landroidx/recyclerview/R$dimen;->fastscroll_margin:I .line 11880 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 .line 11870 :cond_0 new-instance p1, Ljava/lang/IllegalArgumentException; new-instance p2, Ljava/lang/StringBuilder; invoke-direct {p2}, Ljava/lang/StringBuilder;->()V const-string p3, "Trying to set fast scroller without both required drawables." invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; .line 11872 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 public invalidateGlows()V .locals 1 const/4 v0, 0x0 iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; return-void .end method .method public invalidateItemDecorations()V .locals 2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; .line 4893 invoke-virtual {v0}, Ljava/util/ArrayList;->size()I move-result v0 if-nez v0, :cond_0 return-void :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz v0, :cond_1 const-string v1, "Cannot invalidate item decorations during a scroll or layout" .line 4897 invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->assertNotInLayoutOrScroll(Ljava/lang/String;)V .line 4900 :cond_1 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->markItemDecorInsetsDirty()V .line 4901 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V return-void .end method .method public isAccessibilityEnabled()Z .locals 1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAccessibilityManager:Landroid/view/accessibility/AccessibilityManager; if-eqz v0, :cond_0 .line 3820 invoke-virtual {v0}, Landroid/view/accessibility/AccessibilityManager;->isEnabled()Z move-result v0 if-eqz v0, :cond_0 const/4 v0, 0x1 goto :goto_0 :cond_0 const/4 v0, 0x0 :goto_0 return v0 .end method .method public isAnimating()Z .locals 1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; if-eqz v0, :cond_0 .line 4710 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->isRunning()Z move-result v0 if-eqz v0, :cond_0 const/4 v0, 0x1 goto :goto_0 :cond_0 const/4 v0, 0x0 :goto_0 return v0 .end method .method public isAttachedToWindow()Z .locals 1 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 goto :goto_0 :cond_0 const/4 v0, 0x0 :goto_0 return v0 .end method .method public isLayoutFrozen()Z .locals 1 .annotation runtime Ljava/lang/Deprecated; .end annotation .line 2410 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isLayoutSuppressed()Z move-result v0 return v0 .end method .method public final isLayoutSuppressed()Z .locals 1 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z return v0 .end method .method public isNestedScrollingEnabled()Z .locals 1 .line 11892 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper; move-result-object v0 invoke-virtual {v0}, Landroidx/core/view/NestedScrollingChildHelper;->isNestedScrollingEnabled()Z move-result v0 return v0 .end method .method public jumpToPositionForSmoothScroller(I)V .locals 1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-nez v0, :cond_0 return-void :cond_0 const/4 v0, 0x2 .line 1829 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 1830 invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->scrollToPosition(I)V .line 1831 invoke-virtual {p0}, Landroid/view/View;->awakenScrollBars()Z return-void .end method .method public markItemDecorInsetsDirty()V .locals 4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 4593 invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I move-result v0 const/4 v1, 0x0 :goto_0 if-ge v1, v0, :cond_0 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 4595 invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View; move-result-object v2 .line 4596 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; .line 4598 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->markItemDecorInsetsDirty()V return-void .end method .method public markKnownViewsInvalid()V .locals 4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 4877 invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I move-result v0 const/4 v1, 0x0 :goto_0 if-ge v1, v0, :cond_1 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 4879 invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View; move-result-object v2 invoke-static {v2}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v2 if-eqz v2, :cond_0 .line 4880 invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z move-result v3 if-nez v3, :cond_0 const/4 v3, 0x6 .line 4881 invoke-virtual {v2, v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->addFlags(I)V :cond_0 add-int/lit8 v1, v1, 0x1 goto :goto_0 .line 4884 :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; .line 4885 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->markKnownViewsInvalid()V return-void .end method .method public nestedScrollBy(II)V .locals 2 const/4 v0, 0x0 const/4 v1, 0x1 .line 1892 invoke-direct {p0, p1, p2, v0, v1}, Landroidx/recyclerview/widget/RecyclerView;->nestedScrollByInternal(IILandroid/view/MotionEvent;I)V return-void .end method .method public offsetChildrenHorizontal(I)V .locals 3 .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; .line 5252 invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I move-result v0 const/4 v1, 0x0 :goto_0 if-ge v1, v0, :cond_0 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 5254 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; .line 5214 invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I move-result v0 const/4 v1, 0x0 :goto_0 if-ge v1, v0, :cond_0 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 5216 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 public offsetPositionRecordsForInsert(II)V .locals 5 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 4773 invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I move-result v0 const/4 v1, 0x0 move v2, v1 :goto_0 if-ge v2, v0, :cond_1 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 4775 invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View; move-result-object v3 invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v3 if-eqz v3, :cond_0 .line 4776 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z move-result v4 if-nez v4, :cond_0 iget v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I if-lt v4, p1, :cond_0 .line 4781 invoke-virtual {v3, p2, v1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->offsetPosition(IZ)V iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; const/4 v4, 0x1 .line 4782 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; .line 4785 invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->offsetPositionRecordsForInsert(II)V .line 4786 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V return-void .end method .method public offsetPositionRecordsForMove(II)V .locals 9 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 4739 invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I move-result v0 const/4 v1, 0x1 if-ge p1, p2, :cond_0 const/4 v2, -0x1 move v3, p1 move v4, p2 goto :goto_0 :cond_0 move v4, p1 move v3, p2 move v2, v1 :goto_0 const/4 v5, 0x0 move v6, v5 :goto_1 if-ge v6, v0, :cond_4 iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 4752 invoke-virtual {v7, v6}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View; move-result-object v7 invoke-static {v7}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v7 if-eqz v7, :cond_3 .line 4753 iget v8, v7, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I if-lt v8, v3, :cond_3 if-le v8, v4, :cond_1 goto :goto_3 :cond_1 if-ne v8, p1, :cond_2 sub-int v8, p2, p1 .line 4761 invoke-virtual {v7, v8, v5}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->offsetPosition(IZ)V goto :goto_2 .line 4763 :cond_2 invoke-virtual {v7, v2, v5}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->offsetPosition(IZ)V :goto_2 iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4766 iput-boolean v1, v7, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z :cond_3 :goto_3 add-int/lit8 v6, v6, 0x1 goto :goto_1 :cond_4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; .line 4768 invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->offsetPositionRecordsForMove(II)V .line 4769 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V return-void .end method .method public offsetPositionRecordsForRemove(IIZ)V .locals 7 add-int v0, p1, p2 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 4792 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; .line 4794 invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View; move-result-object v3 invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v3 if-eqz v3, :cond_1 .line 4795 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z move-result v4 if-nez v4, :cond_1 .line 4796 iget v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I const/4 v5, 0x1 if-lt v4, v0, :cond_0 neg-int v4, p2 .line 4802 invoke-virtual {v3, v4, p3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->offsetPosition(IZ)V iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4803 iput-boolean v5, v3, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z goto :goto_1 :cond_0 if-lt v4, p1, :cond_1 add-int/lit8 v4, p1, -0x1 neg-int v6, p2 .line 4809 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; .line 4811 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; .line 4815 invoke-virtual {v0, p1, p2, p3}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->offsetPositionRecordsForRemove(IIZ)V .line 4816 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V return-void .end method .method public onAttachedToWindow()V .locals 5 .line 3094 invoke-super {p0}, Landroid/view/ViewGroup;->onAttachedToWindow()V const/4 v0, 0x0 iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I const/4 v1, 0x1 iput-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mIsAttached:Z iget-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z if-eqz v2, :cond_0 .line 3097 invoke-virtual {p0}, Landroid/view/View;->isLayoutRequested()Z move-result v2 if-nez v2, :cond_0 goto :goto_0 :cond_0 move v1, v0 :goto_0 iput-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz v1, :cond_1 .line 3099 invoke-virtual {v1, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->dispatchAttachedToWindow(Landroidx/recyclerview/widget/RecyclerView;)V :cond_1 iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPostedAnimatorRunner:Z sget-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->ALLOW_THREAD_GAP_WORK:Z if-eqz v0, :cond_4 .line 3105 sget-object v0, Landroidx/recyclerview/widget/GapWorker;->sGapWorker:Ljava/lang/ThreadLocal; invoke-virtual {v0}, Ljava/lang/ThreadLocal;->get()Ljava/lang/Object; move-result-object v1 check-cast v1, Landroidx/recyclerview/widget/GapWorker; iput-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/GapWorker; if-nez v1, :cond_3 .line 3107 new-instance v1, Landroidx/recyclerview/widget/GapWorker; invoke-direct {v1}, Landroidx/recyclerview/widget/GapWorker;->()V iput-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/GapWorker; .line 3111 invoke-static {p0}, Landroidx/core/view/ViewCompat;->getDisplay(Landroid/view/View;)Landroid/view/Display; move-result-object v1 .line 3113 invoke-virtual {p0}, Landroid/view/View;->isInEditMode()Z move-result v2 if-nez v2, :cond_2 if-eqz v1, :cond_2 .line 3114 invoke-virtual {v1}, Landroid/view/Display;->getRefreshRate()F move-result v1 const/high16 v2, 0x41f00000 # 30.0f cmpl-float v2, v1, v2 if-ltz v2, :cond_2 goto :goto_1 :cond_2 const/high16 v1, 0x42700000 # 60.0f :goto_1 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/GapWorker; const v3, 0x4e6e6b28 # 1.0E9f div-float/2addr v3, v1 float-to-long v3, v3 .line 3119 iput-wide v3, v2, Landroidx/recyclerview/widget/GapWorker;->mFrameIntervalNs:J .line 3120 invoke-virtual {v0, v2}, Ljava/lang/ThreadLocal;->set(Ljava/lang/Object;)V :cond_3 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/GapWorker; .line 3122 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 public onDetachedFromWindow()V .locals 2 .line 3128 invoke-super {p0}, Landroid/view/ViewGroup;->onDetachedFromWindow()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; if-eqz v0, :cond_0 .line 3130 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->endAnimations()V .line 3132 :cond_0 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->stopScroll()V const/4 v0, 0x0 iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mIsAttached:Z iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz v0, :cond_1 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; .line 3135 invoke-virtual {v0, p0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->dispatchDetachedFromWindow(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$Recycler;)V :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingAccessibilityImportanceChange:Ljava/util/List; .line 3137 invoke-interface {v0}, Ljava/util/List;->clear()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimatorRunner:Ljava/lang/Runnable; .line 3138 invoke-virtual {p0, v0}, Landroid/view/View;->removeCallbacks(Ljava/lang/Runnable;)Z iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; .line 3139 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 .line 3143 invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/GapWorker;->remove(Landroidx/recyclerview/widget/RecyclerView;)V const/4 v0, 0x0 iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/GapWorker; :cond_2 return-void .end method .method public onDraw(Landroid/graphics/Canvas;)V .locals 4 .line 4664 invoke-super {p0, p1}, Landroid/view/View;->onDraw(Landroid/graphics/Canvas;)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; .line 4666 invoke-virtual {v0}, Ljava/util/ArrayList;->size()I move-result v0 const/4 v1, 0x0 :goto_0 if-ge v1, v0, :cond_0 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; .line 4668 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 public 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 public onExitLayoutOrScroll()V .locals 1 const/4 v0, 0x1 .line 3801 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll(Z)V return-void .end method .method public onExitLayoutOrScroll(Z)V .locals 2 iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I const/4 v1, 0x1 sub-int/2addr v0, v1 iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I if-ge v0, v1, :cond_0 const/4 v0, 0x0 iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I if-eqz p1, :cond_0 .line 3813 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchContentChangedIfNecessary()V .line 3814 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;->mLayoutSuppressed:Z if-eqz v0, :cond_1 return v1 .line 3610 :cond_1 invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I move-result v0 const/16 v2, 0x8 if-ne v0, v2, :cond_8 .line 3612 invoke-virtual {p1}, Landroid/view/MotionEvent;->getSource()I move-result v0 and-int/lit8 v0, v0, 0x2 const/4 v2, 0x0 if-eqz v0, :cond_4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 3613 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z move-result v0 if-eqz v0, :cond_2 const/16 v0, 0x9 .line 3616 invoke-virtual {p1, v0}, Landroid/view/MotionEvent;->getAxisValue(I)F move-result v0 neg-float v0, v0 goto :goto_0 :cond_2 move v0, v2 :goto_0 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 3620 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z move-result v3 if-eqz v3, :cond_3 const/16 v3, 0xa .line 3621 invoke-virtual {p1, v3}, Landroid/view/MotionEvent;->getAxisValue(I)F move-result v3 goto :goto_2 :cond_3 :goto_1 move v3, v2 goto :goto_2 .line 3625 :cond_4 invoke-virtual {p1}, Landroid/view/MotionEvent;->getSource()I move-result v0 const/high16 v3, 0x400000 and-int/2addr v0, v3 if-eqz v0, :cond_6 const/16 v0, 0x1a .line 3626 invoke-virtual {p1, v0}, Landroid/view/MotionEvent;->getAxisValue(I)F move-result v0 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 3627 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z move-result v3 if-eqz v3, :cond_5 neg-float v0, v0 goto :goto_1 :cond_5 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 3632 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z move-result v3 if-eqz v3, :cond_6 move v3, v0 move v0, v2 goto :goto_2 :cond_6 move v0, v2 move v3, v0 :goto_2 cmpl-float v4, v0, v2 if-nez v4, :cond_7 cmpl-float v2, v3, v2 if-eqz v2, :cond_8 :cond_7 iget v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mScaledHorizontalScrollFactor:F mul-float/2addr v3, v2 float-to-int v2, v3 iget v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mScaledVerticalScrollFactor:F mul-float/2addr v0, v3 float-to-int v0, v0 const/4 v3, 0x1 .line 3645 invoke-direct {p0, v2, v0, p1, v3}, Landroidx/recyclerview/widget/RecyclerView;->nestedScrollByInternal(IILandroid/view/MotionEvent;I)V :cond_8 return v1 .end method .method public onInterceptTouchEvent(Landroid/view/MotionEvent;)Z .locals 8 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z const/4 v1, 0x0 if-eqz v0, :cond_0 return v1 :cond_0 const/4 v0, 0x0 iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptingOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener; .line 3305 invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->findInterceptingOnItemTouchListener(Landroid/view/MotionEvent;)Z move-result v0 const/4 v2, 0x1 if-eqz v0, :cond_1 .line 3306 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->cancelScroll()V return v2 :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-nez v0, :cond_2 return v1 .line 3314 :cond_2 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z move-result v0 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 3315 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z move-result v3 iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker; if-nez v4, :cond_3 .line 3318 invoke-static {}, Landroid/view/VelocityTracker;->obtain()Landroid/view/VelocityTracker; move-result-object v4 iput-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker; :cond_3 iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker; .line 3320 invoke-virtual {v4, p1}, Landroid/view/VelocityTracker;->addMovement(Landroid/view/MotionEvent;)V .line 3322 invoke-virtual {p1}, Landroid/view/MotionEvent;->getActionMasked()I move-result v4 .line 3323 invoke-virtual {p1}, Landroid/view/MotionEvent;->getActionIndex()I move-result v5 const/4 v6, 0x2 const/high16 v7, 0x3f000000 # 0.5f if-eqz v4, :cond_c if-eq v4, v2, :cond_b if-eq v4, v6, :cond_7 const/4 v0, 0x3 if-eq v4, v0, :cond_6 const/4 v0, 0x5 if-eq v4, v0, :cond_5 const/4 v0, 0x6 if-eq v4, v0, :cond_4 goto/16 :goto_2 .line 3389 :cond_4 invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->onPointerUp(Landroid/view/MotionEvent;)V goto/16 :goto_2 .line 3354 :cond_5 invoke-virtual {p1, v5}, Landroid/view/MotionEvent;->getPointerId(I)I move-result v0 iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I .line 3355 invoke-virtual {p1, v5}, Landroid/view/MotionEvent;->getX(I)F move-result v0 add-float/2addr v0, v7 float-to-int v0, v0 iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchX:I .line 3356 invoke-virtual {p1, v5}, Landroid/view/MotionEvent;->getY(I)F move-result p1 add-float/2addr p1, v7 float-to-int p1, p1 iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchY:I goto/16 :goto_2 .line 3400 :cond_6 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->cancelScroll()V goto/16 :goto_2 :cond_7 iget v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I .line 3360 invoke-virtual {p1, v4}, Landroid/view/MotionEvent;->findPointerIndex(I)I move-result v4 if-gez v4, :cond_8 .line 3362 new-instance p1, Ljava/lang/StringBuilder; invoke-direct {p1}, Ljava/lang/StringBuilder;->()V const-string v0, "Error processing scroll; pointer index for id " invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; const-string v0, " not found. Did any MotionEvents get skipped?" invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 const-string v0, "RecyclerView" invoke-static {v0, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I return v1 .line 3367 :cond_8 invoke-virtual {p1, v4}, Landroid/view/MotionEvent;->getX(I)F move-result v5 add-float/2addr v5, v7 float-to-int v5, v5 .line 3368 invoke-virtual {p1, v4}, Landroid/view/MotionEvent;->getY(I)F move-result p1 add-float/2addr p1, v7 float-to-int p1, p1 iget v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I if-eq v4, v2, :cond_10 iget v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchX:I sub-int v4, v5, v4 iget v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchY:I sub-int v6, p1, v6 if-eqz v0, :cond_9 .line 3373 invoke-static {v4}, Ljava/lang/Math;->abs(I)I move-result v0 iget v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I if-le v0, v4, :cond_9 iput v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I move v0, v2 goto :goto_0 :cond_9 move v0, v1 :goto_0 if-eqz v3, :cond_a .line 3377 invoke-static {v6}, Ljava/lang/Math;->abs(I)I move-result v3 iget v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I if-le v3, v4, :cond_a iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I goto :goto_1 :cond_a if-eqz v0, :cond_10 .line 3382 :goto_1 invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V goto :goto_2 :cond_b iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker; .line 3394 invoke-virtual {p1}, Landroid/view/VelocityTracker;->clear()V .line 3395 invoke-virtual {p0, v1}, Landroidx/recyclerview/widget/RecyclerView;->stopNestedScroll(I)V goto :goto_2 :cond_c iget-boolean v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mIgnoreMotionEventTillDown:Z if-eqz v4, :cond_d iput-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mIgnoreMotionEventTillDown:Z .line 3330 :cond_d invoke-virtual {p1, v1}, Landroid/view/MotionEvent;->getPointerId(I)I move-result v4 iput v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I .line 3331 invoke-virtual {p1}, Landroid/view/MotionEvent;->getX()F move-result v4 add-float/2addr v4, v7 float-to-int v4, v4 iput v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I iput v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchX:I .line 3332 invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F move-result p1 add-float/2addr p1, v7 float-to-int p1, p1 iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchY:I iget p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I if-ne p1, v6, :cond_e .line 3335 invoke-virtual {p0}, Landroid/view/View;->getParent()Landroid/view/ViewParent; move-result-object p1 invoke-interface {p1, v2}, Landroid/view/ViewParent;->requestDisallowInterceptTouchEvent(Z)V .line 3336 invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V .line 3337 invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopNestedScroll(I)V :cond_e iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I .line 3341 aput v1, p1, v2 aput v1, p1, v1 if-eqz v3, :cond_f or-int/lit8 v0, v0, 0x2 .line 3350 :cond_f invoke-virtual {p0, v0, v1}, Landroidx/recyclerview/widget/RecyclerView;->startNestedScroll(II)Z :cond_10 :goto_2 iget p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I if-ne p1, v2, :cond_11 move v1, v2 :cond_11 return v1 .end method .method public onLayout(ZIIII)V .locals 0 const-string p1, "RV OnLayout" .line 4577 invoke-static {p1}, Landroidx/core/os/TraceCompat;->beginSection(Ljava/lang/String;)V .line 4578 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayout()V .line 4579 invoke-static {}, Landroidx/core/os/TraceCompat;->endSection()V const/4 p1, 0x1 iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z return-void .end method .method public onMeasure(II)V .locals 7 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-nez v0, :cond_0 .line 3655 invoke-virtual {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->defaultOnMeasure(II)V return-void .line 3658 :cond_0 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->isAutoMeasureEnabled()Z move-result v0 const/4 v1, 0x1 const/4 v2, 0x0 if-eqz v0, :cond_6 .line 3659 invoke-static {p1}, Landroid/view/View$MeasureSpec;->getMode(I)I move-result v0 .line 3660 invoke-static {p2}, Landroid/view/View$MeasureSpec;->getMode(I)I move-result v3 iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 3669 invoke-virtual {v4, v5, v6, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onMeasure(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;II)V const/high16 v4, 0x40000000 # 2.0f if-ne v0, v4, :cond_1 if-ne v3, v4, :cond_1 move v2, v1 :cond_1 iput-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureSkippedDueToExact:Z if-nez v2, :cond_5 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; if-nez v0, :cond_2 goto :goto_0 :cond_2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 3679 iget v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mLayoutStep:I if-ne v0, v1, :cond_3 .line 3680 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep1()V :cond_3 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 3684 invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setMeasureSpecs(II)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 3685 iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mIsMeasuring:Z .line 3686 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep2()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 3689 invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setMeasuredDimensionFromChildren(II)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 3693 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->shouldMeasureTwice()Z move-result v0 if-eqz v0, :cond_4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 3695 invoke-virtual {p0}, Landroid/view/View;->getMeasuredWidth()I move-result v2 invoke-static {v2, v4}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I move-result v2 .line 3696 invoke-virtual {p0}, Landroid/view/View;->getMeasuredHeight()I move-result v3 invoke-static {v3, v4}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I move-result v3 .line 3694 invoke-virtual {v0, v2, v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setMeasureSpecs(II)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 3697 iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mIsMeasuring:Z .line 3698 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep2()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 3700 invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setMeasuredDimensionFromChildren(II)V .line 3703 :cond_4 invoke-virtual {p0}, Landroid/view/View;->getMeasuredWidth()I move-result p1 iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureNonExactMeasuredWidth:I .line 3704 invoke-virtual {p0}, Landroid/view/View;->getMeasuredHeight()I move-result p1 iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureNonExactMeasuredHeight:I goto :goto_4 :cond_5 :goto_0 return-void :cond_6 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mHasFixedSize:Z if-eqz v0, :cond_7 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 3707 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 .line 3712 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V .line 3713 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V .line 3714 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->processAdapterUpdatesAndSetAnimationFlags()V .line 3715 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 3717 iget-boolean v3, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunPredictiveAnimations:Z if-eqz v3, :cond_8 .line 3718 iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mInPreLayout:Z goto :goto_1 :cond_8 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper; .line 3721 invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->consumeUpdatesInOnePass()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 3722 iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mInPreLayout:Z :goto_1 iput-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterUpdateDuringMeasure:Z .line 3725 invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V goto :goto_2 :cond_9 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 3726 iget-boolean v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunPredictiveAnimations:Z if-eqz v0, :cond_a .line 3732 invoke-virtual {p0}, Landroid/view/View;->getMeasuredWidth()I move-result p1 invoke-virtual {p0}, Landroid/view/View;->getMeasuredHeight()I move-result p2 invoke-virtual {p0, p1, p2}, Landroid/view/View;->setMeasuredDimension(II)V return-void :cond_a :goto_2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; if-eqz v0, :cond_b iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 3737 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->getItemCount()I move-result v0 iput v0, v1, Landroidx/recyclerview/widget/RecyclerView$State;->mItemCount:I goto :goto_3 :cond_b iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 3739 iput v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mItemCount:I .line 3741 :goto_3 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 3742 invoke-virtual {v0, v1, v3, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onMeasure(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;II)V .line 3743 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; .line 3744 iput-boolean v2, p1, Landroidx/recyclerview/widget/RecyclerView$State;->mInPreLayout:Z :goto_4 return-void .end method .method public onRequestFocusInDescendants(ILandroid/graphics/Rect;)Z .locals 1 .line 3084 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isComputingLayout()Z move-result v0 if-eqz v0, :cond_0 const/4 p1, 0x0 return p1 .line 3089 :cond_0 invoke-super {p0, p1, p2}, Landroid/view/ViewGroup;->onRequestFocusInDescendants(ILandroid/graphics/Rect;)Z move-result p1 return p1 .end method .method public onRestoreInstanceState(Landroid/os/Parcelable;)V .locals 1 .line 1456 instance-of v0, p1, Landroidx/recyclerview/widget/RecyclerView$SavedState; if-nez v0, :cond_0 .line 1457 invoke-super {p0, p1}, Landroid/view/View;->onRestoreInstanceState(Landroid/os/Parcelable;)V return-void .line 1461 :cond_0 check-cast p1, Landroidx/recyclerview/widget/RecyclerView$SavedState; iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingSavedState:Landroidx/recyclerview/widget/RecyclerView$SavedState; .line 1462 invoke-virtual {p1}, Landroidx/customview/view/AbsSavedState;->getSuperState()Landroid/os/Parcelable; move-result-object p1 invoke-super {p0, p1}, Landroid/view/View;->onRestoreInstanceState(Landroid/os/Parcelable;)V .line 1470 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V return-void .end method .method public onSaveInstanceState()Landroid/os/Parcelable; .locals 2 .line 1442 new-instance v0, Landroidx/recyclerview/widget/RecyclerView$SavedState; invoke-super {p0}, Landroid/view/View;->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 .line 1444 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 .line 1446 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 public onSizeChanged(IIII)V .locals 0 .line 3767 invoke-super {p0, p1, p2, p3, p4}, Landroid/view/View;->onSizeChanged(IIII)V if-ne p1, p3, :cond_0 if-eq p2, p4, :cond_1 .line 3769 :cond_0 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->invalidateGlows()V :cond_1 return-void .end method .method public onTouchEvent(Landroid/view/MotionEvent;)Z .locals 17 move-object/from16 v6, p0 move-object/from16 v7, p1 iget-boolean v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z const/4 v8, 0x0 if-nez v0, :cond_1f iget-boolean v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mIgnoreMotionEventTillDown:Z if-eqz v0, :cond_0 goto/16 :goto_b .line 3421 :cond_0 invoke-direct/range {p0 .. p1}, Landroidx/recyclerview/widget/RecyclerView;->dispatchToOnItemTouchListeners(Landroid/view/MotionEvent;)Z move-result v0 const/4 v9, 0x1 if-eqz v0, :cond_1 .line 3422 invoke-direct/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->cancelScroll()V return v9 :cond_1 iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-nez v0, :cond_2 return v8 .line 3430 :cond_2 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z move-result v10 iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 3431 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z move-result v11 iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker; if-nez v0, :cond_3 .line 3434 invoke-static {}, Landroid/view/VelocityTracker;->obtain()Landroid/view/VelocityTracker; move-result-object v0 iput-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker; .line 3438 :cond_3 invoke-virtual/range {p1 .. p1}, Landroid/view/MotionEvent;->getActionMasked()I move-result v0 .line 3439 invoke-virtual/range {p1 .. p1}, Landroid/view/MotionEvent;->getActionIndex()I move-result v1 if-nez v0, :cond_4 iget-object v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I .line 3442 aput v8, v2, v9 aput v8, v2, v8 .line 3444 :cond_4 invoke-static/range {p1 .. p1}, Landroid/view/MotionEvent;->obtain(Landroid/view/MotionEvent;)Landroid/view/MotionEvent; move-result-object v12 iget-object v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I .line 3445 aget v3, v2, v8 int-to-float v3, v3 aget v2, v2, v9 int-to-float v2, v2 invoke-virtual {v12, v3, v2}, Landroid/view/MotionEvent;->offsetLocation(FF)V const/high16 v2, 0x3f000000 # 0.5f if-eqz v0, :cond_1c if-eq v0, v9, :cond_16 const/4 v3, 0x2 if-eq v0, v3, :cond_8 const/4 v3, 0x3 if-eq v0, v3, :cond_7 const/4 v3, 0x5 if-eq v0, v3, :cond_6 const/4 v1, 0x6 if-eq v0, v1, :cond_5 goto/16 :goto_9 .line 3545 :cond_5 invoke-direct/range {p0 .. p1}, Landroidx/recyclerview/widget/RecyclerView;->onPointerUp(Landroid/view/MotionEvent;)V goto/16 :goto_9 .line 3465 :cond_6 invoke-virtual {v7, v1}, Landroid/view/MotionEvent;->getPointerId(I)I move-result v0 iput v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I .line 3466 invoke-virtual {v7, v1}, Landroid/view/MotionEvent;->getX(I)F move-result v0 add-float/2addr v0, v2 float-to-int v0, v0 iput v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I iput v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchX:I .line 3467 invoke-virtual {v7, v1}, Landroid/view/MotionEvent;->getY(I)F move-result v0 add-float/2addr v0, v2 float-to-int v0, v0 iput v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I iput v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchY:I goto/16 :goto_9 .line 3565 :cond_7 invoke-direct/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->cancelScroll()V goto/16 :goto_9 :cond_8 iget v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I .line 3472 invoke-virtual {v7, v0}, Landroid/view/MotionEvent;->findPointerIndex(I)I move-result v0 if-gez v0, :cond_9 .line 3474 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V const-string v1, "Error processing scroll; pointer index for id " invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget v1, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; const-string v1, " not found. Did any MotionEvents get skipped?" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 const-string v1, "RecyclerView" invoke-static {v1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I return v8 .line 3479 :cond_9 invoke-virtual {v7, v0}, Landroid/view/MotionEvent;->getX(I)F move-result v1 add-float/2addr v1, v2 float-to-int v13, v1 .line 3480 invoke-virtual {v7, v0}, Landroid/view/MotionEvent;->getY(I)F move-result v0 add-float/2addr v0, v2 float-to-int v14, v0 iget v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I sub-int/2addr v0, v13 iget v1, v6, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I sub-int/2addr v1, v14 iget v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I if-eq v2, v9, :cond_e if-eqz v10, :cond_b if-lez v0, :cond_a iget v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I sub-int/2addr v0, v2 .line 3488 invoke-static {v8, v0}, Ljava/lang/Math;->max(II)I move-result v0 goto :goto_0 :cond_a iget v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I add-int/2addr v0, v2 .line 3490 invoke-static {v8, v0}, Ljava/lang/Math;->min(II)I move-result v0 :goto_0 if-eqz v0, :cond_b move v2, v9 goto :goto_1 :cond_b move v2, v8 :goto_1 if-eqz v11, :cond_d if-lez v1, :cond_c iget v3, v6, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I sub-int/2addr v1, v3 .line 3498 invoke-static {v8, v1}, Ljava/lang/Math;->max(II)I move-result v1 goto :goto_2 :cond_c iget v3, v6, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I add-int/2addr v1, v3 .line 3500 invoke-static {v8, v1}, Ljava/lang/Math;->min(II)I move-result v1 :goto_2 if-eqz v1, :cond_d move v2, v9 :cond_d if-eqz v2, :cond_e .line 3507 invoke-virtual {v6, v9}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V :cond_e move v15, v0 move/from16 v16, v1 iget v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I if-ne v0, v9, :cond_1e iget-object v3, v6, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I .line 3512 aput v8, v3, v8 .line 3513 aput v8, v3, v9 if-eqz v10, :cond_f move v1, v15 goto :goto_3 :cond_f move v1, v8 :goto_3 if-eqz v11, :cond_10 move/from16 v2, v16 goto :goto_4 :cond_10 move v2, v8 :goto_4 iget-object v4, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I const/4 v5, 0x0 move-object/from16 v0, p0 .line 3514 invoke-virtual/range {v0 .. v5}, Landroidx/recyclerview/widget/RecyclerView;->dispatchNestedPreScroll(II[I[II)Z move-result v0 if-eqz v0, :cond_11 iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I .line 3519 aget v1, v0, v8 sub-int/2addr v15, v1 .line 3520 aget v0, v0, v9 sub-int v16, v16, v0 iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I .line 3522 aget v1, v0, v8 iget-object v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I aget v3, v2, v8 add-int/2addr v1, v3 aput v1, v0, v8 .line 3523 aget v1, v0, v9 aget v2, v2, v9 add-int/2addr v1, v2 aput v1, v0, v9 .line 3525 invoke-virtual/range {p0 .. p0}, Landroid/view/View;->getParent()Landroid/view/ViewParent; move-result-object v0 invoke-interface {v0, v9}, Landroid/view/ViewParent;->requestDisallowInterceptTouchEvent(Z)V :cond_11 move/from16 v0, v16 iget-object v1, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I .line 3528 aget v2, v1, v8 sub-int/2addr v13, v2 iput v13, v6, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I .line 3529 aget v1, v1, v9 sub-int/2addr v14, v1 iput v14, v6, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I if-eqz v10, :cond_12 move v1, v15 goto :goto_5 :cond_12 move v1, v8 :goto_5 if-eqz v11, :cond_13 move v2, v0 goto :goto_6 :cond_13 move v2, v8 .line 3531 :goto_6 invoke-virtual {v6, v1, v2, v7, v8}, Landroidx/recyclerview/widget/RecyclerView;->scrollByInternal(IILandroid/view/MotionEvent;I)Z move-result v1 if-eqz v1, :cond_14 .line 3535 invoke-virtual/range {p0 .. p0}, Landroid/view/View;->getParent()Landroid/view/ViewParent; move-result-object v1 invoke-interface {v1, v9}, Landroid/view/ViewParent;->requestDisallowInterceptTouchEvent(Z)V :cond_14 iget-object v1, v6, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/GapWorker; if-eqz v1, :cond_1e if-nez v15, :cond_15 if-eqz v0, :cond_1e .line 3538 :cond_15 invoke-virtual {v1, v6, v15, v0}, Landroidx/recyclerview/widget/GapWorker;->postFromTraversal(Landroidx/recyclerview/widget/RecyclerView;II)V goto :goto_9 :cond_16 iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker; .line 3550 invoke-virtual {v0, v12}, Landroid/view/VelocityTracker;->addMovement(Landroid/view/MotionEvent;)V iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker; iget v1, v6, Landroidx/recyclerview/widget/RecyclerView;->mMaxFlingVelocity:I int-to-float v1, v1 const/16 v2, 0x3e8 .line 3552 invoke-virtual {v0, v2, v1}, Landroid/view/VelocityTracker;->computeCurrentVelocity(IF)V const/4 v0, 0x0 if-eqz v10, :cond_17 iget-object v1, v6, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker; iget v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I .line 3554 invoke-virtual {v1, v2}, Landroid/view/VelocityTracker;->getXVelocity(I)F move-result v1 neg-float v1, v1 goto :goto_7 :cond_17 move v1, v0 :goto_7 if-eqz v11, :cond_18 iget-object v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker; iget v3, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I .line 3556 invoke-virtual {v2, v3}, Landroid/view/VelocityTracker;->getYVelocity(I)F move-result v2 neg-float v2, v2 goto :goto_8 :cond_18 move v2, v0 :goto_8 cmpl-float v3, v1, v0 if-nez v3, :cond_19 cmpl-float v0, v2, v0 if-eqz v0, :cond_1a :cond_19 float-to-int v0, v1 float-to-int v1, v2 .line 3557 invoke-virtual {v6, v0, v1}, Landroidx/recyclerview/widget/RecyclerView;->fling(II)Z move-result v0 if-nez v0, :cond_1b .line 3558 :cond_1a invoke-virtual {v6, v8}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V .line 3560 :cond_1b invoke-direct/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->resetScroll()V goto :goto_a .line 3449 :cond_1c invoke-virtual {v7, v8}, Landroid/view/MotionEvent;->getPointerId(I)I move-result v0 iput v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I .line 3450 invoke-virtual/range {p1 .. p1}, Landroid/view/MotionEvent;->getX()F move-result v0 add-float/2addr v0, v2 float-to-int v0, v0 iput v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I iput v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchX:I .line 3451 invoke-virtual/range {p1 .. p1}, Landroid/view/MotionEvent;->getY()F move-result v0 add-float/2addr v0, v2 float-to-int v0, v0 iput v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I iput v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchY:I if-eqz v11, :cond_1d or-int/lit8 v10, v10, 0x2 .line 3460 :cond_1d invoke-virtual {v6, v10, v8}, Landroidx/recyclerview/widget/RecyclerView;->startNestedScroll(II)Z :cond_1e :goto_9 iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker; .line 3571 invoke-virtual {v0, v12}, Landroid/view/VelocityTracker;->addMovement(Landroid/view/MotionEvent;)V .line 3573 :goto_a invoke-virtual {v12}, Landroid/view/MotionEvent;->recycle()V return v9 :cond_1f :goto_b return v8 .end method .method public postAnimationRunner()V .locals 1 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPostedAnimatorRunner:Z if-nez v0, :cond_0 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mIsAttached:Z if-eqz v0, :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimatorRunner:Ljava/lang/Runnable; .line 3914 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 public processDataSetCompletelyChanged(Z)V .locals 1 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchItemsChangedEvent:Z or-int/2addr p1, v0 iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchItemsChangedEvent:Z const/4 p1, 0x1 iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z .line 4869 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->markKnownViewsInvalid()V return-void .end method .method public recordAnimationInfoIfBouncedHiddenView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V .locals 3 const/4 v0, 0x0 const/16 v1, 0x2000 .line 4465 invoke-virtual {p1, v0, v1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->setFlags(II)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4466 iget-boolean v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mTrackOldChangeHolders:Z if-eqz v0, :cond_0 invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isUpdated()Z move-result v0 if-eqz v0, :cond_0 .line 4467 invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isRemoved()Z move-result v0 if-nez v0, :cond_0 invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z move-result v0 if-nez v0, :cond_0 .line 4468 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->getChangedHolderKey(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)J move-result-wide v0 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; .line 4469 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; .line 4471 invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/ViewInfoStore;->addToPreLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V return-void .end method .method public removeAndRecycleViews()V .locals 2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; if-eqz v0, :cond_0 .line 1205 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->endAnimations()V :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz v0, :cond_1 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; .line 1212 invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->removeAndRecycleAllViews(Landroidx/recyclerview/widget/RecyclerView$Recycler;)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; .line 1213 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; .line 1216 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->clear()V return-void .end method .method public removeAnimatingView(Landroid/view/View;)Z .locals 2 .line 1520 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 1521 invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/ChildHelper;->removeViewIfHidden(Landroid/view/View;)Z move-result v0 if-eqz v0, :cond_0 .line 1523 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; .line 1524 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; .line 1525 invoke-virtual {v1, p1}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->recycleViewHolderInternal(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V :cond_0 xor-int/lit8 p1, v0, 0x1 .line 1531 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V return v0 .end method .method public removeDetachedView(Landroid/view/View;Z)V .locals 2 .line 4508 invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v0 if-eqz v0, :cond_2 .line 4510 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isTmpDetached()Z move-result v1 if-eqz v1, :cond_0 .line 4511 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->clearTmpDetachFlag()V goto :goto_0 .line 4512 :cond_0 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z move-result v1 if-eqz v1, :cond_1 goto :goto_0 .line 4513 :cond_1 new-instance p1, Ljava/lang/IllegalArgumentException; new-instance p2, Ljava/lang/StringBuilder; invoke-direct {p2}, Ljava/lang/StringBuilder;->()V const-string v1, "Called removeDetachedView with a view which is not flagged as tmp detached." invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; .line 4514 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 .line 4521 :cond_2 :goto_0 invoke-virtual {p1}, Landroid/view/View;->clearAnimation()V .line 4523 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->dispatchChildDetached(Landroid/view/View;)V .line 4524 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" .line 1719 invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->assertNotInLayoutOrScroll(Ljava/lang/String;)V :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; .line 1722 invoke-virtual {v0, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; .line 1723 invoke-virtual {p1}, Ljava/util/ArrayList;->isEmpty()Z move-result p1 if-eqz p1, :cond_2 .line 1724 invoke-virtual {p0}, Landroid/view/View;->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}, Landroid/view/View;->setWillNotDraw(Z)V .line 1726 :cond_2 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->markItemDecorInsetsDirty()V .line 1727 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V return-void .end method .method public removeItemDecorationAt(I)V .locals 3 .line 1700 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getItemDecorationCount()I move-result v0 if-ltz p1, :cond_0 if-ge p1, v0, :cond_0 .line 1705 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->getItemDecorationAt(I)Landroidx/recyclerview/widget/RecyclerView$ItemDecoration; move-result-object p1 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->removeItemDecoration(Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;)V return-void .line 1702 :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 .line 1351 :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; .line 3222 invoke-virtual {v0, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptingOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener; if-ne v0, p1, :cond_0 const/4 p1, 0x0 iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptingOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener; :cond_0 return-void .end method .method public removeOnScrollListener(Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;)V .locals 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 .line 1786 invoke-interface {v0, p1}, Ljava/util/List;->remove(Ljava/lang/Object;)Z :cond_0 return-void .end method .method public removeRecyclerListener(Landroidx/recyclerview/widget/RecyclerView$RecyclerListener;)V .locals 1 .param p1 # Landroidx/recyclerview/widget/RecyclerView$RecyclerListener; .annotation build Landroidx/annotation/NonNull; .end annotation .end param iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecyclerListeners:Ljava/util/List; .line 1302 invoke-interface {v0, p1}, Ljava/util/List;->remove(Ljava/lang/Object;)Z return-void .end method .method public repositionShadowingViews()V .locals 7 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 5678 invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I move-result v0 const/4 v1, 0x0 :goto_0 if-ge v1, v0, :cond_2 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 5680 invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View; move-result-object v2 .line 5681 invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolder(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v3 if-eqz v3, :cond_1 .line 5682 iget-object v3, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mShadowingHolder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder; if-eqz v3, :cond_1 .line 5683 iget-object v3, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; .line 5684 invoke-virtual {v2}, Landroid/view/View;->getLeft()I move-result v4 .line 5685 invoke-virtual {v2}, Landroid/view/View;->getTop()I move-result v2 .line 5686 invoke-virtual {v3}, Landroid/view/View;->getLeft()I move-result v5 if-ne v4, v5, :cond_0 invoke-virtual {v3}, Landroid/view/View;->getTop()I move-result v5 if-eq v2, v5, :cond_1 .line 5688 :cond_0 invoke-virtual {v3}, Landroid/view/View;->getWidth()I move-result v5 add-int/2addr v5, v4 .line 5689 invoke-virtual {v3}, Landroid/view/View;->getHeight()I move-result v6 add-int/2addr v6, v2 .line 5687 invoke-virtual {v3, v4, v2, v5, v6}, Landroid/view/View;->layout(IIII)V :cond_1 add-int/lit8 v1, v1, 0x1 goto :goto_0 :cond_2 return-void .end method .method public requestChildFocus(Landroid/view/View;Landroid/view/View;)V .locals 2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 3026 invoke-virtual {v0, p0, v1, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onRequestChildFocus(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$State;Landroid/view/View;Landroid/view/View;)Z move-result v0 if-nez v0, :cond_0 if-eqz p2, :cond_0 .line 3027 invoke-direct {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->requestChildOnScreen(Landroid/view/View;Landroid/view/View;)V .line 3029 :cond_0 invoke-super {p0, p1, p2}, Landroid/view/ViewGroup;->requestChildFocus(Landroid/view/View;Landroid/view/View;)V return-void .end method .method public requestChildRectangleOnScreen(Landroid/view/View;Landroid/graphics/Rect;Z)Z .locals 1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 3072 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; .line 3408 invoke-virtual {v0}, Ljava/util/ArrayList;->size()I move-result v0 const/4 v1, 0x0 :goto_0 if-ge v1, v0, :cond_0 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList; .line 3410 invoke-virtual {v2, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v2 check-cast v2, Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener; .line 3411 invoke-interface {v2, p1}, Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;->onRequestDisallowInterceptTouchEvent(Z)V add-int/lit8 v1, v1, 0x1 goto :goto_0 .line 3413 :cond_0 invoke-super {p0, p1}, Landroid/view/ViewGroup;->requestDisallowInterceptTouchEvent(Z)V return-void .end method .method public requestLayout()V .locals 1 iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I if-nez v0, :cond_0 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z if-nez v0, :cond_0 .line 4586 invoke-super {p0}, Landroid/view/View;->requestLayout()V goto :goto_0 :cond_0 const/4 v0, 0x1 iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z :goto_0 return-void .end method .method public saveOldPositions()V .locals 4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 4714 invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I move-result v0 const/4 v1, 0x0 :goto_0 if-ge v1, v0, :cond_1 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 4716 invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View; move-result-object v2 invoke-static {v2}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v2 .line 4721 invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z move-result v3 if-nez v3, :cond_0 .line 4722 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." .line 1870 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;->mLayoutSuppressed:Z if-eqz v1, :cond_1 return-void .line 1877 :cond_1 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z move-result v0 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 1878 invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z move-result v1 if-nez v0, :cond_2 if-eqz v1, :cond_5 :cond_2 const/4 v2, 0x0 if-eqz v0, :cond_3 goto :goto_0 :cond_3 move p1, v2 :goto_0 if-eqz v1, :cond_4 goto :goto_1 :cond_4 move p2, v2 :goto_1 const/4 v0, 0x0 .line 1880 invoke-virtual {p0, p1, p2, v0, v2}, Landroidx/recyclerview/widget/RecyclerView;->scrollByInternal(IILandroid/view/MotionEvent;I)Z :cond_5 return-void .end method .method public scrollByInternal(IILandroid/view/MotionEvent;I)Z .locals 18 move-object/from16 v8, p0 move/from16 v9, p1 move/from16 v10, p2 move-object/from16 v11, p3 .line 2067 invoke-virtual/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->consumePendingUpdateOperations()V iget-object v0, v8, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; const/4 v12, 0x1 const/4 v13, 0x0 if-eqz v0, :cond_0 iget-object v0, v8, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I .line 2069 aput v13, v0, v13 .line 2070 aput v13, v0, v12 .line 2071 invoke-virtual {v8, v9, v10, v0}, Landroidx/recyclerview/widget/RecyclerView;->scrollStep(II[I)V iget-object v0, v8, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I .line 2072 aget v1, v0, v13 .line 2073 aget v0, v0, v12 sub-int v2, v9, v1 sub-int v3, v10, v0 move v14, v0 move v15, v1 move/from16 v16, v2 move/from16 v17, v3 goto :goto_0 :cond_0 move v14, v13 move v15, v14 move/from16 v16, v15 move/from16 v17, v16 :goto_0 iget-object v0, v8, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; .line 2077 invoke-virtual {v0}, Ljava/util/ArrayList;->isEmpty()Z move-result v0 if-nez v0, :cond_1 .line 2078 invoke-virtual/range {p0 .. p0}, Landroid/view/View;->invalidate()V :cond_1 iget-object v7, v8, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I .line 2081 aput v13, v7, v13 .line 2082 aput v13, v7, v12 iget-object v5, v8, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I move-object/from16 v0, p0 move v1, v15 move v2, v14 move/from16 v3, v16 move/from16 v4, v17 move/from16 v6, p4 .line 2083 invoke-virtual/range {v0 .. v7}, Landroidx/recyclerview/widget/RecyclerView;->dispatchNestedScroll(IIII[II[I)V iget-object v0, v8, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I .line 2085 aget v1, v0, v13 sub-int v2, v16, v1 .line 2086 aget v0, v0, v12 sub-int v3, v17, v0 if-nez v1, :cond_3 if-eqz v0, :cond_2 goto :goto_1 :cond_2 move v0, v13 goto :goto_2 :cond_3 :goto_1 move v0, v12 :goto_2 iget v1, v8, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I iget-object v4, v8, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I .line 2090 aget v5, v4, v13 sub-int/2addr v1, v5 iput v1, v8, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I iget v1, v8, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I .line 2091 aget v4, v4, v12 sub-int/2addr v1, v4 iput v1, v8, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I iget-object v1, v8, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I .line 2092 aget v6, v1, v13 add-int/2addr v6, v5 aput v6, v1, v13 .line 2093 aget v5, v1, v12 add-int/2addr v5, v4 aput v5, v1, v12 .line 2095 invoke-virtual/range {p0 .. p0}, Landroid/view/View;->getOverScrollMode()I move-result v1 const/4 v4, 0x2 if-eq v1, v4, :cond_5 if-eqz v11, :cond_4 const/16 v1, 0x2002 .line 2096 invoke-static {v11, v1}, Landroidx/core/view/MotionEventCompat;->isFromSource(Landroid/view/MotionEvent;I)Z move-result v1 if-nez v1, :cond_4 .line 2097 invoke-virtual/range {p3 .. p3}, Landroid/view/MotionEvent;->getX()F move-result v1 int-to-float v2, v2 invoke-virtual/range {p3 .. p3}, Landroid/view/MotionEvent;->getY()F move-result v4 int-to-float v3, v3 invoke-direct {v8, v1, v2, v4, v3}, Landroidx/recyclerview/widget/RecyclerView;->pullGlows(FFFF)V .line 2099 :cond_4 invoke-virtual/range {p0 .. p2}, Landroidx/recyclerview/widget/RecyclerView;->considerReleasingGlowsOnScroll(II)V :cond_5 if-nez v15, :cond_6 if-eqz v14, :cond_7 .line 2102 :cond_6 invoke-virtual {v8, v15, v14}, Landroidx/recyclerview/widget/RecyclerView;->dispatchOnScrolled(II)V .line 2104 :cond_7 invoke-virtual/range {p0 .. p0}, Landroid/view/View;->awakenScrollBars()Z move-result v1 if-nez v1, :cond_8 .line 2105 invoke-virtual/range {p0 .. p0}, Landroid/view/View;->invalidate()V :cond_8 if-nez v0, :cond_a if-nez v15, :cond_a if-eqz v14, :cond_9 goto :goto_3 :cond_9 move v12, v13 :cond_a :goto_3 return v12 .end method .method public scrollStep(II[I)V .locals 4 .param p3 # [I .annotation build Landroidx/annotation/Nullable; .end annotation .end param .line 1960 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V .line 1961 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V const-string v0, "RV Scroll" .line 1963 invoke-static {v0}, Landroidx/core/os/TraceCompat;->beginSection(Ljava/lang/String;)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 1964 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->fillRemainingScrollValues(Landroidx/recyclerview/widget/RecyclerView$State;)V const/4 v0, 0x0 if-eqz p1, :cond_0 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 1969 invoke-virtual {v1, p1, v2, v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->scrollHorizontallyBy(ILandroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)I move-result p1 goto :goto_0 :cond_0 move p1, v0 :goto_0 if-eqz p2, :cond_1 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 1972 invoke-virtual {v1, p2, v2, v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->scrollVerticallyBy(ILandroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)I move-result p2 goto :goto_1 :cond_1 move p2, v0 .line 1975 :goto_1 invoke-static {}, Landroidx/core/os/TraceCompat;->endSection()V .line 1976 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->repositionShadowingViews()V .line 1978 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V .line 1979 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V if-eqz p3, :cond_2 .line 1982 aput p1, p3, v0 const/4 p1, 0x1 .line 1983 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" .line 1863 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;->mLayoutSuppressed:Z if-eqz v0, :cond_0 return-void .line 1812 :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." .line 1814 invoke-static {p1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I return-void .line 1818 :cond_1 invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->scrollToPosition(I)V .line 1819 invoke-virtual {p0}, Landroid/view/View;->awakenScrollBars()Z return-void .end method .method public sendAccessibilityEventUnchecked(Landroid/view/accessibility/AccessibilityEvent;)V .locals 1 .line 3882 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->shouldDeferAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)Z move-result v0 if-eqz v0, :cond_0 return-void .line 3885 :cond_0 invoke-super {p0, p1}, Landroid/view/View;->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; .line 802 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 .line 1193 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setLayoutFrozen(Z)V const/4 v1, 0x1 .line 1194 invoke-direct {p0, p1, v0, v1}, Landroidx/recyclerview/widget/RecyclerView;->setAdapterInternal(Landroidx/recyclerview/widget/RecyclerView$Adapter;ZZ)V .line 1195 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->processDataSetCompletelyChanged(Z)V .line 1196 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; if-eqz p1, :cond_1 const/4 p1, 0x1 goto :goto_0 :cond_1 const/4 p1, 0x0 .line 1748 :goto_0 invoke-virtual {p0, p1}, Landroid/view/ViewGroup;->setChildrenDrawingOrderEnabled(Z)V return-void .end method .method public setChildImportantForAccessibilityInternal(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;I)Z .locals 1 .annotation build Landroidx/annotation/VisibleForTesting; .end annotation .line 11829 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isComputingLayout()Z move-result v0 if-eqz v0, :cond_0 .line 11830 iput p2, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPendingAccessibilityState:I iget-object p2, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingAccessibilityImportanceChange:Ljava/util/List; .line 11831 invoke-interface {p2, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z const/4 p1, 0x0 return p1 .line 11834 :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 .line 1109 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->invalidateGlows()V :cond_0 iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z .line 1112 invoke-super {p0, p1}, Landroid/view/ViewGroup;->setClipToPadding(Z)V iget-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z if-eqz p1, :cond_1 .line 1114 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 .line 2832 invoke-static {p1}, Landroidx/core/util/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory; .line 2834 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 .line 3787 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->endAnimations()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; const/4 v1, 0x0 .line 3788 invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->setListener(Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemAnimatorListener;)V :cond_0 iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; if-eqz p1, :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimatorListener:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemAnimatorListener; .line 3792 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; .line 1593 invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->setViewCacheSize(I)V return-void .end method .method public setLayoutFrozen(Z)V .locals 0 .annotation runtime Ljava/lang/Deprecated; .end annotation .line 2401 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->suppressLayout(Z)V return-void .end method .method public setLayoutManager(Landroidx/recyclerview/widget/RecyclerView$LayoutManager;)V .locals 3 .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 .line 1380 :cond_0 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->stopScroll()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz v0, :cond_3 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; if-eqz v0, :cond_1 .line 1386 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->endAnimations()V :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; .line 1388 invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->removeAndRecycleAllViews(Landroidx/recyclerview/widget/RecyclerView$Recycler;)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; .line 1389 invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->removeAndRecycleScrapInt(Landroidx/recyclerview/widget/RecyclerView$Recycler;)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; .line 1390 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->clear()V iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mIsAttached:Z if-eqz v0, :cond_2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; .line 1393 invoke-virtual {v0, p0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->dispatchDetachedFromWindow(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$Recycler;)V :cond_2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; const/4 v1, 0x0 .line 1395 invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setRecyclerView(Landroidx/recyclerview/widget/RecyclerView;)V iput-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; goto :goto_0 :cond_3 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; .line 1398 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->clear()V :goto_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 1401 invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->removeAllViewsUnfiltered()V iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz p1, :cond_5 .line 1404 iget-object v0, p1, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView; if-nez v0, :cond_4 .line 1409 invoke-virtual {p1, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setRecyclerView(Landroidx/recyclerview/widget/RecyclerView;)V iget-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mIsAttached:Z if-eqz p1, :cond_5 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 1411 invoke-virtual {p1, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->dispatchAttachedToWindow(Landroidx/recyclerview/widget/RecyclerView;)V goto :goto_1 .line 1405 :cond_4 new-instance v0, Ljava/lang/IllegalArgumentException; new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V const-string v2, "LayoutManager " invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; const-string v2, " is already attached to a RecyclerView:" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget-object p1, p1, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView; .line 1407 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; .line 1414 invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->updateViewCacheSize()V .line 1415 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V return-void .end method .method public setLayoutTransition(Landroid/animation/LayoutTransition;)V .locals 1 .annotation runtime Ljava/lang/Deprecated; .end annotation if-nez p1, :cond_0 const/4 p1, 0x0 .line 2440 invoke-super {p0, p1}, Landroid/view/ViewGroup;->setLayoutTransition(Landroid/animation/LayoutTransition;)V return-void .line 2442 :cond_0 new-instance p1, Ljava/lang/IllegalArgumentException; const-string v0, "Providing a LayoutTransition into RecyclerView is not supported. Please use setItemAnimator() instead for animating changes to the items in this RecyclerView" invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p1 .end method .method public setNestedScrollingEnabled(Z)V .locals 1 .line 11887 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; .line 1568 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 .annotation runtime Ljava/lang/Deprecated; .end annotation iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecyclerListener:Landroidx/recyclerview/widget/RecyclerView$RecyclerListener; return-void .end method .method public 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 .line 1616 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->stopScrollersInternal()V .line 1618 :cond_1 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->dispatchOnScrollStateChanged(I)V return-void .end method .method public setScrollingTouchSlop(I)V .locals 3 .line 1144 invoke-virtual {p0}, Landroid/view/View;->getContext()Landroid/content/Context; move-result-object v0 invoke-static {v0}, Landroid/view/ViewConfiguration;->get(Landroid/content/Context;)Landroid/view/ViewConfiguration; move-result-object v0 if-eqz p1, :cond_1 const/4 v1, 0x1 if-eq p1, v1, :cond_0 .line 1147 new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V const-string v2, "setScrollingTouchSlop(): bad argument constant " invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; const-string p1, "; using default value" invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 const-string v1, "RecyclerView" invoke-static {v1, p1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I goto :goto_0 .line 1155 :cond_0 invoke-virtual {v0}, Landroid/view/ViewConfiguration;->getScaledPagingTouchSlop()I move-result p1 iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I goto :goto_1 .line 1151 :cond_1 :goto_0 invoke-virtual {v0}, Landroid/view/ViewConfiguration;->getScaledTouchSlop()I move-result p1 iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I :goto_1 return-void .end method .method public setViewCacheExtension(Landroidx/recyclerview/widget/RecyclerView$ViewCacheExtension;)V .locals 1 .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; .line 1578 invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->setViewCacheExtension(Landroidx/recyclerview/widget/RecyclerView$ViewCacheExtension;)V return-void .end method .method public shouldDeferAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)Z .locals 2 .line 3866 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isComputingLayout()Z move-result v0 const/4 v1, 0x0 if-eqz v0, :cond_2 if-eqz p1, :cond_0 .line 3869 invoke-static {p1}, Landroidx/core/view/accessibility/AccessibilityEventCompat;->getContentChangeTypes(Landroid/view/accessibility/AccessibilityEvent;)I move-result p1 goto :goto_0 :cond_0 move p1, v1 :goto_0 if-nez p1, :cond_1 goto :goto_1 :cond_1 move v1, p1 :goto_1 iget p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mEatenAccessibilityChangeFlags:I or-int/2addr p1, v1 iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mEatenAccessibilityChangeFlags:I const/4 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 .line 2455 invoke-virtual {p0, p1, p2, v0}, Landroidx/recyclerview/widget/RecyclerView;->smoothScrollBy(IILandroid/view/animation/Interpolator;)V return-void .end method .method public smoothScrollBy(IILandroid/view/animation/Interpolator;)V .locals 1 .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 const/high16 v0, -0x80000000 .line 2467 invoke-virtual {p0, p1, p2, p3, v0}, Landroidx/recyclerview/widget/RecyclerView;->smoothScrollBy(IILandroid/view/animation/Interpolator;I)V return-void .end method .method public smoothScrollBy(IILandroid/view/animation/Interpolator;I)V .locals 6 .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 const/4 v5, 0x0 move-object v0, p0 move v1, p1 move v2, p2 move-object v3, p3 move v4, p4 .line 2486 invoke-virtual/range {v0 .. v5}, Landroidx/recyclerview/widget/RecyclerView;->smoothScrollBy(IILandroid/view/animation/Interpolator;IZ)V return-void .end method .method public smoothScrollBy(IILandroid/view/animation/Interpolator;IZ)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." .line 2525 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;->mLayoutSuppressed:Z if-eqz v1, :cond_1 return-void .line 2532 :cond_1 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z move-result v0 const/4 v1, 0x0 if-nez v0, :cond_2 move p1, v1 :cond_2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 2535 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z move-result v0 if-nez v0, :cond_3 move p2, v1 :cond_3 if-nez p1, :cond_4 if-eqz p2, :cond_a :cond_4 const/high16 v0, -0x80000000 if-eq p4, v0, :cond_6 if-lez p4, :cond_5 goto :goto_0 .line 2553 :cond_5 invoke-virtual {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->scrollBy(II)V goto :goto_1 :cond_6 :goto_0 if-eqz p5, :cond_9 const/4 p5, 0x1 if-eqz p1, :cond_7 move v1, p5 :cond_7 if-eqz p2, :cond_8 or-int/lit8 v1, v1, 0x2 .line 2549 :cond_8 invoke-virtual {p0, v1, p5}, Landroidx/recyclerview/widget/RecyclerView;->startNestedScroll(II)Z :cond_9 iget-object p5, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$ViewFlinger; .line 2551 invoke-virtual {p5, p1, p2, p4, p3}, Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;->smoothScrollBy(IIILandroid/view/animation/Interpolator;)V :cond_a :goto_1 return-void .end method .method public smoothScrollToPosition(I)V .locals 2 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z if-eqz v0, :cond_0 return-void :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-nez v0, :cond_1 const-string p1, "RecyclerView" const-string v0, "Cannot smooth scroll without a LayoutManager set. Call setLayoutManager with a non-null argument." .line 1854 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; .line 1858 invoke-virtual {v0, p0, v1, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->smoothScrollToPosition(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$State;I)V return-void .end method .method public startInterceptRequestLayout()V .locals 2 iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I const/4 v1, 0x1 add-int/2addr v0, v1 iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I if-ne v0, v1, :cond_0 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z if-nez v0, :cond_0 const/4 v0, 0x0 iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z :cond_0 return-void .end method .method public startNestedScroll(I)Z .locals 1 .line 11897 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper; move-result-object v0 invoke-virtual {v0, p1}, Landroidx/core/view/NestedScrollingChildHelper;->startNestedScroll(I)Z move-result p1 return p1 .end method .method public startNestedScroll(II)Z .locals 1 .line 11902 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper; move-result-object v0 invoke-virtual {v0, p1, p2}, Landroidx/core/view/NestedScrollingChildHelper;->startNestedScroll(II)Z move-result p1 return p1 .end method .method public stopInterceptRequestLayout(Z)V .locals 3 iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I const/4 v1, 0x1 if-ge v0, v1, :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;->mLayoutSuppressed: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;->mLayoutSuppressed:Z if-nez p1, :cond_2 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz p1, :cond_2 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; if-eqz p1, :cond_2 .line 2309 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayout()V :cond_2 iget-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed: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 .line 11907 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper; move-result-object v0 invoke-virtual {v0}, Landroidx/core/view/NestedScrollingChildHelper;->stopNestedScroll()V return-void .end method .method public stopNestedScroll(I)V .locals 1 .line 11912 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper; move-result-object v0 invoke-virtual {v0, p1}, Landroidx/core/view/NestedScrollingChildHelper;->stopNestedScroll(I)V return-void .end method .method public stopScroll()V .locals 1 const/4 v0, 0x0 .line 2626 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V .line 2627 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->stopScrollersInternal()V return-void .end method .method public final suppressLayout(Z)V .locals 9 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z if-eq p1, v0, :cond_2 const-string v0, "Do not suppressLayout in layout or scroll" .line 2346 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->assertNotInLayoutOrScroll(Ljava/lang/String;)V if-nez p1, :cond_1 const/4 p1, 0x0 iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z if-eqz v0, :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz v0, :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; if-eqz v0, :cond_0 .line 2350 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V :cond_0 iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z goto :goto_0 .line 2354 :cond_1 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J move-result-wide v3 const/4 v5, 0x3 const/4 v6, 0x0 const/4 v7, 0x0 const/4 v8, 0x0 move-wide v1, v3 .line 2355 invoke-static/range {v1 .. v8}, Landroid/view/MotionEvent;->obtain(JJIFFI)Landroid/view/MotionEvent; move-result-object p1 .line 2357 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->onTouchEvent(Landroid/view/MotionEvent;)Z const/4 p1, 0x1 iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mIgnoreMotionEventTillDown:Z .line 2360 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->stopScroll()V :cond_2 :goto_0 return-void .end method .method public swapAdapter(Landroidx/recyclerview/widget/RecyclerView$Adapter;Z)V .locals 1 .param p1 # Landroidx/recyclerview/widget/RecyclerView$Adapter; .annotation build Landroidx/annotation/Nullable; .end annotation .end param const/4 v0, 0x0 .line 1176 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setLayoutFrozen(Z)V const/4 v0, 0x1 .line 1177 invoke-direct {p0, p1, v0, p2}, Landroidx/recyclerview/widget/RecyclerView;->setAdapterInternal(Landroidx/recyclerview/widget/RecyclerView$Adapter;ZZ)V .line 1178 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->processDataSetCompletelyChanged(Z)V .line 1179 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V return-void .end method .method public viewRangeUpdate(IILjava/lang/Object;)V .locals 6 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 4826 invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I move-result v0 add-int v1, p1, p2 const/4 v2, 0x0 :goto_0 if-ge v2, v0, :cond_2 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 4830 invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View; move-result-object v3 .line 4831 invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v4 if-eqz v4, :cond_1 .line 4832 invoke-virtual {v4}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z move-result v5 if-eqz v5, :cond_0 goto :goto_1 .line 4835 :cond_0 iget v5, v4, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I if-lt v5, p1, :cond_1 if-ge v5, v1, :cond_1 const/4 v5, 0x2 .line 4838 invoke-virtual {v4, v5}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->addFlags(I)V .line 4839 invoke-virtual {v4, p3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->addChangePayload(Ljava/lang/Object;)V .line 4841 invoke-virtual {v3}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams; move-result-object v3 check-cast v3, Landroidx/recyclerview/widget/RecyclerView$LayoutParams; const/4 v4, 0x1 iput-boolean v4, v3, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mInsetsDirty:Z :cond_1 :goto_1 add-int/lit8 v2, v2, 0x1 goto :goto_0 :cond_2 iget-object p3, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; .line 4844 invoke-virtual {p3, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->viewRangeUpdate(II)V return-void .end method