.class public Landroidx/recyclerview/widget/RecyclerView; .super Landroid/view/ViewGroup; .source "RecyclerView.java" # interfaces .implements Landroidx/core/view/ScrollingView; .implements Landroidx/core/view/NestedScrollingChild2; .implements Landroidx/core/view/NestedScrollingChild3; # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback;, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;, Landroidx/recyclerview/widget/RecyclerView$ItemAnimatorRestoreListener;, Landroidx/recyclerview/widget/RecyclerView$OnFlingListener;, Landroidx/recyclerview/widget/RecyclerView$State;, Landroidx/recyclerview/widget/RecyclerView$SavedState;, Landroidx/recyclerview/widget/RecyclerView$AdapterDataObservable;, Landroidx/recyclerview/widget/RecyclerView$SmoothScroller;, Landroidx/recyclerview/widget/RecyclerView$AdapterDataObserver;, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;, Landroidx/recyclerview/widget/RecyclerView$OnChildAttachStateChangeListener;, Landroidx/recyclerview/widget/RecyclerView$RecyclerListener;, Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;, Landroidx/recyclerview/widget/RecyclerView$SimpleOnItemTouchListener;, Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;, Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;, Landroidx/recyclerview/widget/RecyclerView$Adapter;, Landroidx/recyclerview/widget/RecyclerView$ViewCacheExtension;, Landroidx/recyclerview/widget/RecyclerView$Recycler;, Landroidx/recyclerview/widget/RecyclerView$RecycledViewPool;, Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;, Landroidx/recyclerview/widget/RecyclerView$RecyclerViewDataObserver;, Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;, Landroidx/recyclerview/widget/RecyclerView$Orientation; } .end annotation # static fields .field static final ALLOW_SIZE_IN_UNSPECIFIED_SPEC:Z .field static final ALLOW_THREAD_GAP_WORK:Z .field 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; .field mEnableFastScroller:Z .field mFirstLayoutComplete:Z .field mGapWorker:Landroidx/recyclerview/widget/GapWorker; .field mHasFixedSize:Z .field private mIgnoreMotionEventTillDown:Z .field private mInitialTouchX:I .field private mInitialTouchY:I .field private mInterceptRequestLayoutDepth:I .field private mInterceptingOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener; .field mIsAttached:Z .field mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; .field private mItemAnimatorListener:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemAnimatorListener; .field private mItemAnimatorRunner:Ljava/lang/Runnable; .field final mItemDecorations:Ljava/util/ArrayList; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/ArrayList<", "Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;", ">;" } .end annotation .end field .field mItemsAddedOrRemoved:Z .field mItemsChanged:Z .field private mLastTouchX:I .field private mLastTouchY:I .field mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .field private mLayoutOrScrollCounter:I .field mLayoutSuppressed:Z .field mLayoutWasDefered:Z .field private mLeftGlow:Landroid/widget/EdgeEffect; .field private final mMaxFlingVelocity:I .field private final mMinFlingVelocity:I .field private final mMinMaxLayoutPositions:[I .field private final mNestedOffsets:[I .field private final mObserver:Landroidx/recyclerview/widget/RecyclerView$RecyclerViewDataObserver; .field private mOnChildAttachStateListeners:Ljava/util/List; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/List<", "Landroidx/recyclerview/widget/RecyclerView$OnChildAttachStateChangeListener;", ">;" } .end annotation .end field .field private mOnFlingListener:Landroidx/recyclerview/widget/RecyclerView$OnFlingListener; .field private final mOnItemTouchListeners:Ljava/util/ArrayList; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/ArrayList<", "Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;", ">;" } .end annotation .end field .field final mPendingAccessibilityImportanceChange:Ljava/util/List; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/List<", "Landroidx/recyclerview/widget/RecyclerView$ViewHolder;", ">;" } .end annotation .end field .field private mPendingSavedState:Landroidx/recyclerview/widget/RecyclerView$SavedState; .field mPostedAnimatorRunner:Z .field mPrefetchRegistry:Landroidx/recyclerview/widget/GapWorker$LayoutPrefetchRegistryImpl; .field private mPreserveFocusAfterLayout:Z .field final mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; .field mRecyclerListener:Landroidx/recyclerview/widget/RecyclerView$RecyclerListener; .field final mReusableIntPair:[I .field private mRightGlow:Landroid/widget/EdgeEffect; .field private mScaledHorizontalScrollFactor:F .field private mScaledVerticalScrollFactor:F .field private mScrollListener:Landroidx/recyclerview/widget/RecyclerView$OnScrollListener; .field private mScrollListeners:Ljava/util/List; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/List<", "Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;", ">;" } .end annotation .end field .field private final mScrollOffset:[I .field private mScrollPointerId:I .field private mScrollState:I .field private mScrollingChildHelper:Landroidx/core/view/NestedScrollingChildHelper; .field final mState:Landroidx/recyclerview/widget/RecyclerView$State; .field final mTempRect:Landroid/graphics/Rect; .field private final mTempRect2:Landroid/graphics/Rect; .field final mTempRectF:Landroid/graphics/RectF; .field private mTopGlow:Landroid/widget/EdgeEffect; .field private mTouchSlop:I .field final mUpdateChildViewsRunnable:Ljava/lang/Runnable; .field private mVelocityTracker:Landroid/view/VelocityTracker; .field final mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$ViewFlinger; .field private final mViewInfoProcessCallback:Landroidx/recyclerview/widget/ViewInfoStore$ProcessCallback; .field final mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; # direct methods .method static constructor ()V .locals 4 const v0, 0x1010436 .line 219 filled-new-array {v0}, [I move-result-object v0 sput-object v0, Landroidx/recyclerview/widget/RecyclerView;->NESTED_SCROLLING_ATTRS:[I const/4 v0, 0x0 .line 229 sput-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->FORCE_INVALIDATE_DISPLAY_LIST:Z const/4 v1, 0x1 .line 236 sput-boolean v1, Landroidx/recyclerview/widget/RecyclerView;->ALLOW_SIZE_IN_UNSPECIFIED_SPEC:Z .line 238 sput-boolean v1, Landroidx/recyclerview/widget/RecyclerView;->POST_UPDATES_ON_ANIMATION:Z .line 244 sput-boolean v1, Landroidx/recyclerview/widget/RecyclerView;->ALLOW_THREAD_GAP_WORK:Z .line 250 sput-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->FORCE_ABS_FOCUS_SEARCH_DIRECTION:Z .line 260 sput-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->IGNORE_DETACHED_FOCUSED_CHILD:Z const/4 v2, 0x4 .line 362 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 598 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 const/4 v0, 0x0 .line 646 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 .line 650 sget v0, Landroidx/recyclerview/R$attr;->recyclerViewStyle:I 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 16 move-object/from16 v7, p0 move-object/from16 v8, p1 move-object/from16 v9, p2 move/from16 v10, p3 .line 654 invoke-direct/range {p0 .. p3}, Landroid/view/ViewGroup;->(Landroid/content/Context;Landroid/util/AttributeSet;I)V .line 365 new-instance v0, Landroidx/recyclerview/widget/RecyclerView$RecyclerViewDataObserver; invoke-direct {v0, v7}, 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 367 new-instance v0, Landroidx/recyclerview/widget/RecyclerView$Recycler; invoke-direct {v0, v7}, 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 384 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 398 new-instance v0, Landroidx/recyclerview/widget/RecyclerView$1; invoke-direct {v0, v7}, Landroidx/recyclerview/widget/RecyclerView$1;->(Landroidx/recyclerview/widget/RecyclerView;)V iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mUpdateChildViewsRunnable:Ljava/lang/Runnable; .line 418 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 419 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 420 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 424 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 425 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 .line 440 iput v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I .line 470 iput-boolean v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z .line 479 iput-boolean v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mDispatchItemsChangedEvent:Z .line 489 iput v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I .line 498 iput v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mDispatchScrollCounter:I .line 500 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 504 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; .line 531 iput v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I const/4 v12, -0x1 .line 532 iput v12, v7, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I const/4 v0, 0x1 .line 544 iput v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mScaledHorizontalScrollFactor:F .line 545 iput v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mScaledVerticalScrollFactor:F const/4 v13, 0x1 .line 547 iput-boolean v13, v7, Landroidx/recyclerview/widget/RecyclerView;->mPreserveFocusAfterLayout:Z .line 549 new-instance v0, Landroidx/recyclerview/widget/RecyclerView$ViewFlinger; invoke-direct {v0, v7}, Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;->(Landroidx/recyclerview/widget/RecyclerView;)V iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$ViewFlinger; .line 552 sget-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->ALLOW_THREAD_GAP_WORK:Z if-eqz v0, :cond_0 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 555 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; .line 561 iput-boolean v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mItemsAddedOrRemoved:Z .line 562 iput-boolean v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mItemsChanged:Z .line 563 new-instance v0, Landroidx/recyclerview/widget/RecyclerView$ItemAnimatorRestoreListener; invoke-direct {v0, v7}, 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; .line 565 iput-boolean v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mPostedAnimatorRunner:Z const/4 v0, 0x2 .line 571 new-array v1, v0, [I iput-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mMinMaxLayoutPositions:[I .line 574 new-array v1, v0, [I iput-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I .line 575 new-array v1, v0, [I iput-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I .line 578 new-array v1, v0, [I iput-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I .line 585 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 588 new-instance v1, Landroidx/recyclerview/widget/RecyclerView$2; invoke-direct {v1, v7}, Landroidx/recyclerview/widget/RecyclerView$2;->(Landroidx/recyclerview/widget/RecyclerView;)V iput-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimatorRunner:Ljava/lang/Runnable; .line 609 new-instance v1, Landroidx/recyclerview/widget/RecyclerView$4; invoke-direct {v1, v7}, 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 655 invoke-virtual {v7, v13}, Landroidx/recyclerview/widget/RecyclerView;->setScrollContainer(Z)V .line 656 invoke-virtual {v7, v13}, Landroidx/recyclerview/widget/RecyclerView;->setFocusableInTouchMode(Z)V .line 658 invoke-static/range {p1 .. p1}, Landroid/view/ViewConfiguration;->get(Landroid/content/Context;)Landroid/view/ViewConfiguration; move-result-object v1 .line 659 invoke-virtual {v1}, Landroid/view/ViewConfiguration;->getScaledTouchSlop()I move-result v2 iput v2, v7, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I .line 661 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 663 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 664 invoke-virtual {v1}, Landroid/view/ViewConfiguration;->getScaledMinimumFlingVelocity()I move-result v2 iput v2, v7, Landroidx/recyclerview/widget/RecyclerView;->mMinFlingVelocity:I .line 665 invoke-virtual {v1}, Landroid/view/ViewConfiguration;->getScaledMaximumFlingVelocity()I move-result v1 iput v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mMaxFlingVelocity:I .line 666 invoke-virtual/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->getOverScrollMode()I move-result v1 if-ne v1, v0, :cond_1 move v0, v13 goto :goto_1 :cond_1 move v0, v11 :goto_1 invoke-virtual {v7, v0}, Landroidx/recyclerview/widget/RecyclerView;->setWillNotDraw(Z)V .line 668 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; invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->setListener(Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemAnimatorListener;)V .line 669 invoke-virtual/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->initAdapterManager()V .line 670 invoke-direct/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->initChildrenHelper()V .line 671 invoke-direct/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->initAutofill()V .line 673 invoke-static/range {p0 .. p0}, Landroidx/core/view/ViewCompat;->getImportantForAccessibility(Landroid/view/View;)I move-result v0 if-nez v0, :cond_2 .line 675 invoke-static {v7, v13}, Landroidx/core/view/ViewCompat;->setImportantForAccessibility(Landroid/view/View;I)V .line 678 :cond_2 invoke-virtual/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->getContext()Landroid/content/Context; move-result-object v0 const-string v1, "accessibility" .line 679 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 680 new-instance v0, Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate; invoke-direct {v0, v7}, Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate;->(Landroidx/recyclerview/widget/RecyclerView;)V invoke-virtual {v7, v0}, Landroidx/recyclerview/widget/RecyclerView;->setAccessibilityDelegateCompat(Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate;)V .line 682 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 684 sget v0, Landroid/os/Build$VERSION;->SDK_INT:I const/16 v15, 0x1d if-lt v0, v15, :cond_3 .line 685 sget-object v2, Landroidx/recyclerview/R$styleable;->RecyclerView:[I const/4 v6, 0x0 move-object/from16 v0, p0 move-object/from16 v1, p1 move-object/from16 v3, p2 move-object v4, v14 move/from16 v5, p3 invoke-virtual/range {v0 .. v6}, Landroidx/recyclerview/widget/RecyclerView;->saveAttributeDataForStyleable(Landroid/content/Context;[ILandroid/util/AttributeSet;Landroid/content/res/TypedArray;II)V .line 688 :cond_3 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 689 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_4 const/high16 v0, 0x40000 .line 692 invoke-virtual {v7, v0}, Landroidx/recyclerview/widget/RecyclerView;->setDescendantFocusability(I)V .line 694 :cond_4 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 695 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_5 .line 697 sget v0, Landroidx/recyclerview/R$styleable;->RecyclerView_fastScrollVerticalThumbDrawable:I .line 698 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 699 sget v1, Landroidx/recyclerview/R$styleable;->RecyclerView_fastScrollVerticalTrackDrawable:I .line 700 invoke-virtual {v14, v1}, Landroid/content/res/TypedArray;->getDrawable(I)Landroid/graphics/drawable/Drawable; move-result-object v1 .line 701 sget v3, Landroidx/recyclerview/R$styleable;->RecyclerView_fastScrollHorizontalThumbDrawable:I .line 702 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 703 sget v4, Landroidx/recyclerview/R$styleable;->RecyclerView_fastScrollHorizontalTrackDrawable:I .line 704 invoke-virtual {v14, v4}, Landroid/content/res/TypedArray;->getDrawable(I)Landroid/graphics/drawable/Drawable; move-result-object v4 .line 705 invoke-virtual {v7, 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 708 :cond_5 invoke-virtual {v14}, Landroid/content/res/TypedArray;->recycle()V const/4 v5, 0x0 move-object/from16 v0, p0 move-object/from16 v1, p1 move-object/from16 v3, p2 move/from16 v4, p3 .line 711 invoke-direct/range {v0 .. v5}, Landroidx/recyclerview/widget/RecyclerView;->createLayoutManager(Landroid/content/Context;Ljava/lang/String;Landroid/util/AttributeSet;II)V .line 715 sget-object v2, Landroidx/recyclerview/widget/RecyclerView;->NESTED_SCROLLING_ATTRS:[I invoke-virtual {v8, v9, v2, v10, v11}, Landroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray; move-result-object v12 .line 717 sget v0, Landroid/os/Build$VERSION;->SDK_INT:I if-lt v0, v15, :cond_6 const/4 v6, 0x0 move-object/from16 v0, p0 move-object/from16 v1, p1 move-object/from16 v3, p2 move-object v4, v12 move/from16 v5, p3 .line 718 invoke-virtual/range {v0 .. v6}, Landroidx/recyclerview/widget/RecyclerView;->saveAttributeDataForStyleable(Landroid/content/Context;[ILandroid/util/AttributeSet;Landroid/content/res/TypedArray;II)V .line 721 :cond_6 invoke-virtual {v12, v11, v13}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z move-result v0 .line 722 invoke-virtual {v12}, Landroid/content/res/TypedArray;->recycle()V .line 725 invoke-virtual {v7, v0}, Landroidx/recyclerview/widget/RecyclerView;->setNestedScrollingEnabled(Z)V return-void .end method .method static synthetic access$000(Landroidx/recyclerview/widget/RecyclerView;Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V .locals 0 .line 210 invoke-virtual {p0, p1, p2, p3}, Landroidx/recyclerview/widget/RecyclerView;->attachViewToParent(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V return-void .end method .method static synthetic access$100(Landroidx/recyclerview/widget/RecyclerView;I)V .locals 0 .line 210 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->detachViewFromParent(I)V return-void .end method .method static synthetic access$200(Landroidx/recyclerview/widget/RecyclerView;)Z .locals 0 .line 210 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->awakenScrollBars()Z move-result p0 return p0 .end method .method static synthetic access$300(Landroidx/recyclerview/widget/RecyclerView;II)V .locals 0 .line 210 invoke-virtual {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->setMeasuredDimension(II)V return-void .end method .method private addAnimatingView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V .locals 5 .line 1431 iget-object v0, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; .line 1432 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 .line 1433 :goto_0 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolder(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v4 invoke-virtual {v3, v4}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->unscrapView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V .line 1434 invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isTmpDetached()Z move-result p1 if-eqz p1, :cond_1 .line 1436 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; const/4 v1, -0x1 invoke-virtual {v0}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams; move-result-object v3 invoke-virtual {p1, v0, v1, v3, v2}, Landroidx/recyclerview/widget/ChildHelper;->attachViewToParent(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;Z)V goto :goto_1 :cond_1 if-nez v1, :cond_2 .line 1438 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {p1, v0, v2}, Landroidx/recyclerview/widget/ChildHelper;->addView(Landroid/view/View;Z)V goto :goto_1 .line 1440 :cond_2 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/ChildHelper;->hide(Landroid/view/View;)V :goto_1 return-void .end method .method private animateChange(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;ZZ)V .locals 1 const/4 v0, 0x0 .line 4381 invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->setIsRecyclable(Z)V if-eqz p5, :cond_0 .line 4383 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 4387 invoke-direct {p0, p2}, Landroidx/recyclerview/widget/RecyclerView;->addAnimatingView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V .line 4389 :cond_1 iput-object p2, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mShadowedHolder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder; .line 4391 invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->addAnimatingView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V .line 4392 iget-object p5, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; invoke-virtual {p5, p1}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->unscrapView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V .line 4393 invoke-virtual {p2, v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->setIsRecyclable(Z)V .line 4394 iput-object p1, p2, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mShadowingHolder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder; .line 4396 :cond_2 iget-object p5, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; invoke-virtual {p5, p1, p2, p3, p4}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->animateChange(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)Z move-result p1 if-eqz p1, :cond_3 .line 4397 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->postAnimationRunner()V :cond_3 return-void .end method .method private cancelScroll()V .locals 1 .line 3443 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->resetScroll()V const/4 v0, 0x0 .line 3444 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V return-void .end method .method static clearNestedRecyclerViewIfNotNested(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V .locals 3 .line 5851 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mNestedRecyclerView:Ljava/lang/ref/WeakReference; if-eqz v0, :cond_3 .line 5852 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mNestedRecyclerView:Ljava/lang/ref/WeakReference; invoke-virtual {v0}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object; move-result-object v0 check-cast v0, Landroid/view/View; :goto_0 const/4 v1, 0x0 if-eqz v0, :cond_2 .line 5854 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; if-ne v0, v2, :cond_0 return-void .line 5858 :cond_0 invoke-virtual {v0}, Landroid/view/View;->getParent()Landroid/view/ViewParent; move-result-object v0 .line 5859 instance-of v2, v0, Landroid/view/View; if-eqz v2, :cond_1 .line 5860 check-cast v0, Landroid/view/View; goto :goto_0 :cond_1 move-object v0, v1 goto :goto_0 .line 5865 :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 .line 782 const-string v0, ": Could not instantiate the LayoutManager: " if-eqz p2, :cond_1 .line 783 invoke-virtual {p2}, Ljava/lang/String;->trim()Ljava/lang/String; move-result-object p2 .line 784 invoke-virtual {p2}, Ljava/lang/String;->isEmpty()Z move-result v1 if-nez v1, :cond_1 .line 785 invoke-direct {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->getFullClassName(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String; move-result-object p2 .line 788 :try_start_0 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isInEditMode()Z move-result v1 if-eqz v1, :cond_0 .line 790 invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class; move-result-object v1 invoke-virtual {v1}, Ljava/lang/Class;->getClassLoader()Ljava/lang/ClassLoader; move-result-object v1 goto :goto_0 .line 792 :cond_0 invoke-virtual {p1}, Landroid/content/Context;->getClassLoader()Ljava/lang/ClassLoader; move-result-object v1 :goto_0 const/4 v2, 0x0 .line 795 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 796 invoke-virtual {v1, v3}, Ljava/lang/Class;->asSubclass(Ljava/lang/Class;)Ljava/lang/Class; move-result-object v1 :try_end_0 .catch Ljava/lang/ClassNotFoundException; {:try_start_0 .. :try_end_0} :catch_6 .catch Ljava/lang/reflect/InvocationTargetException; {:try_start_0 .. :try_end_0} :catch_5 .catch Ljava/lang/InstantiationException; {:try_start_0 .. :try_end_0} :catch_4 .catch Ljava/lang/IllegalAccessException; {:try_start_0 .. :try_end_0} :catch_3 .catch Ljava/lang/ClassCastException; {:try_start_0 .. :try_end_0} :catch_2 const/4 v3, 0x1 .line 800 :try_start_1 sget-object v4, Landroidx/recyclerview/widget/RecyclerView;->LAYOUT_MANAGER_CONSTRUCTOR_SIGNATURE:[Ljava/lang/Class; .line 801 invoke-virtual {v1, v4}, Ljava/lang/Class;->getConstructor([Ljava/lang/Class;)Ljava/lang/reflect/Constructor; move-result-object v4 const/4 v5, 0x4 .line 802 new-array v5, v5, [Ljava/lang/Object; aput-object p1, v5, v2 aput-object p3, v5, v3 invoke-static {p4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p1 const/4 p4, 0x2 aput-object p1, v5, p4 invoke-static {p5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p1 const/4 p4, 0x3 aput-object p1, v5, p4 :try_end_1 .catch Ljava/lang/NoSuchMethodException; {:try_start_1 .. :try_end_1} :catch_0 .catch Ljava/lang/ClassNotFoundException; {:try_start_1 .. :try_end_1} :catch_6 .catch Ljava/lang/reflect/InvocationTargetException; {:try_start_1 .. :try_end_1} :catch_5 .catch Ljava/lang/InstantiationException; {:try_start_1 .. :try_end_1} :catch_4 .catch Ljava/lang/IllegalAccessException; {:try_start_1 .. :try_end_1} :catch_3 .catch Ljava/lang/ClassCastException; {:try_start_1 .. :try_end_1} :catch_2 goto :goto_1 :catch_0 move-exception p1 .line 805 :try_start_2 new-array p4, v2, [Ljava/lang/Class; invoke-virtual {v1, p4}, Ljava/lang/Class;->getConstructor([Ljava/lang/Class;)Ljava/lang/reflect/Constructor; move-result-object v4 :try_end_2 .catch Ljava/lang/NoSuchMethodException; {:try_start_2 .. :try_end_2} :catch_1 .catch Ljava/lang/ClassNotFoundException; {:try_start_2 .. :try_end_2} :catch_6 .catch Ljava/lang/reflect/InvocationTargetException; {:try_start_2 .. :try_end_2} :catch_5 .catch Ljava/lang/InstantiationException; {:try_start_2 .. :try_end_2} :catch_4 .catch Ljava/lang/IllegalAccessException; {:try_start_2 .. :try_end_2} :catch_3 .catch Ljava/lang/ClassCastException; {:try_start_2 .. :try_end_2} :catch_2 const/4 v5, 0x0 .line 812 :goto_1 :try_start_3 invoke-virtual {v4, v3}, Ljava/lang/reflect/Constructor;->setAccessible(Z)V .line 813 invoke-virtual {v4, v5}, Ljava/lang/reflect/Constructor;->newInstance([Ljava/lang/Object;)Ljava/lang/Object; move-result-object p1 check-cast p1, Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->setLayoutManager(Landroidx/recyclerview/widget/RecyclerView$LayoutManager;)V goto/16 :goto_2 :catch_1 move-exception p4 .line 807 invoke-virtual {p4, p1}, Ljava/lang/NoSuchMethodException;->initCause(Ljava/lang/Throwable;)Ljava/lang/Throwable; .line 808 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; move-result-object p5 const-string v1, ": Error creating LayoutManager " invoke-virtual {p5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p5 invoke-virtual {p5, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p5 invoke-virtual {p5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p5 invoke-direct {p1, p5, p4}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;Ljava/lang/Throwable;)V throw p1 :try_end_3 .catch Ljava/lang/ClassNotFoundException; {:try_start_3 .. :try_end_3} :catch_6 .catch Ljava/lang/reflect/InvocationTargetException; {:try_start_3 .. :try_end_3} :catch_5 .catch Ljava/lang/InstantiationException; {:try_start_3 .. :try_end_3} :catch_4 .catch Ljava/lang/IllegalAccessException; {:try_start_3 .. :try_end_3} :catch_3 .catch Ljava/lang/ClassCastException; {:try_start_3 .. :try_end_3} :catch_2 :catch_2 move-exception p1 .line 827 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; move-result-object p3 const-string p5, ": Class is not a LayoutManager " invoke-virtual {p3, p5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p3 invoke-virtual {p3, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p2 invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p2 invoke-direct {p4, p2, p1}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;Ljava/lang/Throwable;)V throw p4 :catch_3 move-exception p1 .line 824 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; move-result-object p3 const-string p5, ": Cannot access non-public constructor " invoke-virtual {p3, p5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p3 invoke-virtual {p3, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p2 invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p2 invoke-direct {p4, p2, p1}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;Ljava/lang/Throwable;)V throw p4 :catch_4 move-exception p1 .line 821 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; move-result-object p3 invoke-virtual {p3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p3 invoke-virtual {p3, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p2 invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p2 invoke-direct {p4, p2, p1}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;Ljava/lang/Throwable;)V throw p4 :catch_5 move-exception p1 .line 818 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; move-result-object p3 invoke-virtual {p3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p3 invoke-virtual {p3, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p2 invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p2 invoke-direct {p4, p2, p1}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;Ljava/lang/Throwable;)V throw p4 :catch_6 move-exception p1 .line 815 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; move-result-object p3 const-string p5, ": Unable to find LayoutManager " invoke-virtual {p3, p5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p3 invoke-virtual {p3, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p2 invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p2 invoke-direct {p4, p2, p1}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;Ljava/lang/Throwable;)V throw p4 :cond_1 :goto_2 return-void .end method .method private didChildRangeChange(II)Z .locals 4 .line 4327 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinMaxLayoutPositions:[I invoke-direct {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->findMinMaxChildLayoutPositions([I)V .line 4328 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinMaxLayoutPositions:[I const/4 v1, 0x0 aget v2, v0, v1 const/4 v3, 0x1 if-ne v2, p1, :cond_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 .line 3675 iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mEatenAccessibilityChangeFlags:I const/4 v1, 0x0 .line 3676 iput v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mEatenAccessibilityChangeFlags:I if-eqz v0, :cond_0 .line 3677 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isAccessibilityEnabled()Z move-result v1 if-eqz v1, :cond_0 .line 3678 invoke-static {}, Landroid/view/accessibility/AccessibilityEvent;->obtain()Landroid/view/accessibility/AccessibilityEvent; move-result-object v1 const/16 v2, 0x800 .line 3679 invoke-virtual {v1, v2}, Landroid/view/accessibility/AccessibilityEvent;->setEventType(I)V .line 3680 invoke-static {v1, v0}, Landroidx/core/view/accessibility/AccessibilityEventCompat;->setContentChangeTypes(Landroid/view/accessibility/AccessibilityEvent;I)V .line 3681 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 .line 4033 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; const/4 v1, 0x1 invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$State;->assertLayoutStep(I)V .line 4034 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->fillRemainingScrollValues(Landroidx/recyclerview/widget/RecyclerView$State;)V .line 4035 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; const/4 v2, 0x0 iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mIsMeasuring:Z .line 4036 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V .line 4037 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; invoke-virtual {v0}, Landroidx/recyclerview/widget/ViewInfoStore;->clear()V .line 4038 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V .line 4039 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->processAdapterUpdatesAndSetAnimationFlags()V .line 4040 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->saveFocusInfo()V .line 4041 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iget-boolean v3, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunSimpleAnimations:Z if-eqz v3, :cond_0 iget-boolean v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemsChanged:Z if-eqz v3, :cond_0 goto :goto_0 :cond_0 move v1, v2 :goto_0 iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mTrackOldChangeHolders:Z .line 4042 iput-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemsChanged:Z iput-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemsAddedOrRemoved:Z .line 4043 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iget-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunPredictiveAnimations:Z iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mInPreLayout:Z .line 4044 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->getItemCount()I move-result v1 iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mItemCount:I .line 4045 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinMaxLayoutPositions:[I invoke-direct {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->findMinMaxChildLayoutPositions([I)V .line 4047 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iget-boolean v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunSimpleAnimations:Z if-eqz v0, :cond_3 .line 4049 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I move-result v0 move v1, v2 :goto_1 if-ge v1, v0, :cond_3 .line 4051 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v3, v1}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View; move-result-object v3 invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v3 .line 4052 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 .line 4055 :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 4057 invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->buildAdapterChangeFlagsForAnimations(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)I move-result v6 .line 4058 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getUnmodifiedPayloads()Ljava/util/List; move-result-object v7 .line 4056 invoke-virtual {v4, v5, v3, v6, v7}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->recordPreLayoutInformation(Landroidx/recyclerview/widget/RecyclerView$State;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;ILjava/util/List;)Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo; move-result-object v4 .line 4059 iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; invoke-virtual {v5, v3, v4}, Landroidx/recyclerview/widget/ViewInfoStore;->addToPreLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V .line 4060 iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iget-boolean v4, v4, Landroidx/recyclerview/widget/RecyclerView$State;->mTrackOldChangeHolders:Z if-eqz v4, :cond_2 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isUpdated()Z move-result v4 if-eqz v4, :cond_2 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isRemoved()Z move-result v4 if-nez v4, :cond_2 .line 4061 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 4062 invoke-virtual {p0, v3}, Landroidx/recyclerview/widget/RecyclerView;->getChangedHolderKey(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)J move-result-wide v4 .line 4070 iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; invoke-virtual {v6, v4, v5, v3}, Landroidx/recyclerview/widget/ViewInfoStore;->addToOldChangeHolders(JLandroidx/recyclerview/widget/RecyclerView$ViewHolder;)V :cond_2 :goto_2 add-int/lit8 v1, v1, 0x1 goto :goto_1 .line 4074 :cond_3 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iget-boolean v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunPredictiveAnimations:Z if-eqz v0, :cond_9 .line 4081 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->saveOldPositions()V .line 4082 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iget-boolean v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z .line 4083 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iput-boolean v2, v1, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z .line 4085 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {v1, v3, v4}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onLayoutChildren(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)V .line 4086 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iput-boolean v0, v1, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z move v0, v2 .line 4088 :goto_3 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v1}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I move-result v1 if-ge v0, v1, :cond_8 .line 4089 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v1, v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View; move-result-object v1 .line 4090 invoke-static {v1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v1 .line 4091 invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z move-result v3 if-eqz v3, :cond_4 goto :goto_4 .line 4094 :cond_4 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; invoke-virtual {v3, v1}, Landroidx/recyclerview/widget/ViewInfoStore;->isInPreLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Z move-result v3 if-nez v3, :cond_7 .line 4095 invoke-static {v1}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->buildAdapterChangeFlagsForAnimations(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)I move-result v3 const/16 v4, 0x2000 .line 4097 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 .line 4101 :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 4102 invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getUnmodifiedPayloads()Ljava/util/List; move-result-object v7 .line 4101 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 4104 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 .line 4106 :cond_6 iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; invoke-virtual {v4, v1, v3}, Landroidx/recyclerview/widget/ViewInfoStore;->addToAppearedInPreLayoutHolders(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V :cond_7 :goto_4 add-int/lit8 v0, v0, 0x1 goto :goto_3 .line 4111 :cond_8 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->clearOldPositions()V goto :goto_5 .line 4113 :cond_9 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->clearOldPositions()V .line 4115 :goto_5 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V .line 4116 invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V .line 4117 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; const/4 v1, 0x2 iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mLayoutStep:I return-void .end method .method private dispatchLayoutStep2()V .locals 4 .line 4125 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V .line 4126 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V .line 4127 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; const/4 v1, 0x6 invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$State;->assertLayoutStep(I)V .line 4128 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->consumeUpdatesInOnePass()V .line 4129 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->getItemCount()I move-result v1 iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mItemCount:I .line 4130 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; const/4 v1, 0x0 iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mDeletedInvisibleItemCountSincePreviousLayout:I .line 4133 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mInPreLayout:Z .line 4134 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {v0, v2, v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onLayoutChildren(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)V .line 4136 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z const/4 v0, 0x0 .line 4137 iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingSavedState:Landroidx/recyclerview/widget/RecyclerView$SavedState; .line 4140 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iget-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunSimpleAnimations:Z if-eqz v2, :cond_0 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; if-eqz v2, :cond_0 const/4 v2, 0x1 goto :goto_0 :cond_0 move v2, v1 :goto_0 iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunSimpleAnimations:Z .line 4141 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; const/4 v2, 0x4 iput v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mLayoutStep:I .line 4142 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V .line 4143 invoke-virtual {p0, v1}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V return-void .end method .method private dispatchLayoutStep3()V .locals 11 .line 4151 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; const/4 v1, 0x4 invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$State;->assertLayoutStep(I)V .line 4152 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V .line 4153 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V .line 4154 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; const/4 v1, 0x1 iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mLayoutStep:I .line 4155 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iget-boolean v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunSimpleAnimations:Z if-eqz v0, :cond_5 .line 4159 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I move-result v0 sub-int/2addr v0, v1 :goto_0 if-ltz v0, :cond_4 .line 4160 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v2, v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View; move-result-object v2 invoke-static {v2}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v5 .line 4161 invoke-virtual {v5}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z move-result v2 if-eqz v2, :cond_0 goto :goto_1 .line 4164 :cond_0 invoke-virtual {p0, v5}, Landroidx/recyclerview/widget/RecyclerView;->getChangedHolderKey(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)J move-result-wide v2 .line 4165 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 4166 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 .line 4167 iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; invoke-virtual {v6, v2, v3}, Landroidx/recyclerview/widget/ViewInfoStore;->getFromOldChangeHolders(J)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v6 if-eqz v6, :cond_3 .line 4168 invoke-virtual {v6}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z move-result v7 if-nez v7, :cond_3 .line 4179 iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; invoke-virtual {v7, v6}, Landroidx/recyclerview/widget/ViewInfoStore;->isDisappearing(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Z move-result v8 .line 4181 iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; invoke-virtual {v7, v5}, Landroidx/recyclerview/widget/ViewInfoStore;->isDisappearing(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Z move-result v9 if-eqz v8, :cond_1 if-ne v6, v5, :cond_1 .line 4184 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; invoke-virtual {v2, v5, v4}, Landroidx/recyclerview/widget/ViewInfoStore;->addToPostLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V goto :goto_1 .line 4186 :cond_1 iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; invoke-virtual {v7, v6}, Landroidx/recyclerview/widget/ViewInfoStore;->popFromPreLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo; move-result-object v7 .line 4189 iget-object v10, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; invoke-virtual {v10, v5, v4}, Landroidx/recyclerview/widget/ViewInfoStore;->addToPostLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V .line 4190 iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; invoke-virtual {v4, v5}, Landroidx/recyclerview/widget/ViewInfoStore;->popFromPostLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo; move-result-object v10 if-nez v7, :cond_2 .line 4192 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 4194 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 .line 4199 :cond_3 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; invoke-virtual {v2, v5, v4}, Landroidx/recyclerview/widget/ViewInfoStore;->addToPostLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V :goto_1 add-int/lit8 v0, v0, -0x1 goto :goto_0 .line 4204 :cond_4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoProcessCallback:Landroidx/recyclerview/widget/ViewInfoStore$ProcessCallback; invoke-virtual {v0, v2}, Landroidx/recyclerview/widget/ViewInfoStore;->process(Landroidx/recyclerview/widget/ViewInfoStore$ProcessCallback;)V .line 4207 :cond_5 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; invoke-virtual {v0, v2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->removeAndRecycleScrapInt(Landroidx/recyclerview/widget/RecyclerView$Recycler;)V .line 4208 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iget v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mItemCount:I iput v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mPreviousLayoutItemCount:I const/4 v0, 0x0 .line 4209 iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z .line 4210 iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchItemsChangedEvent:Z .line 4211 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iput-boolean v0, v2, Landroidx/recyclerview/widget/RecyclerView$State;->mRunSimpleAnimations:Z .line 4213 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iput-boolean v0, v2, Landroidx/recyclerview/widget/RecyclerView$State;->mRunPredictiveAnimations:Z .line 4214 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iput-boolean v0, v2, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mRequestedSimpleAnimations:Z .line 4215 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; iget-object v2, v2, Landroidx/recyclerview/widget/RecyclerView$Recycler;->mChangedScrap:Ljava/util/ArrayList; if-eqz v2, :cond_6 .line 4216 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; iget-object v2, v2, Landroidx/recyclerview/widget/RecyclerView$Recycler;->mChangedScrap:Ljava/util/ArrayList; invoke-virtual {v2}, Ljava/util/ArrayList;->clear()V .line 4218 :cond_6 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-boolean v2, v2, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mPrefetchMaxObservedInInitialPrefetch:Z if-eqz v2, :cond_7 .line 4221 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iput v0, v2, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mPrefetchMaxCountObserved:I .line 4222 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iput-boolean v0, v2, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mPrefetchMaxObservedInInitialPrefetch:Z .line 4223 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->updateViewCacheSize()V .line 4226 :cond_7 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {v2, v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onLayoutCompleted(Landroidx/recyclerview/widget/RecyclerView$State;)V .line 4227 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V .line 4228 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V .line 4229 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; invoke-virtual {v2}, Landroidx/recyclerview/widget/ViewInfoStore;->clear()V .line 4230 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinMaxLayoutPositions:[I aget v3, v2, v0 aget v1, v2, v1 invoke-direct {p0, v3, v1}, Landroidx/recyclerview/widget/RecyclerView;->didChildRangeChange(II)Z move-result v1 if-eqz v1, :cond_8 .line 4231 invoke-virtual {p0, v0, v0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchOnScrolled(II)V .line 4233 :cond_8 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->recoverFocusFromState()V .line 4234 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->resetFocusInfo()V return-void .end method .method private dispatchToOnItemTouchListeners(Landroid/view/MotionEvent;)Z .locals 2 .line 3118 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptingOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener; if-nez v0, :cond_1 .line 3119 invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I move-result v0 if-nez v0, :cond_0 const/4 p1, 0x0 return p1 .line 3122 :cond_0 invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->findInterceptingOnItemTouchListener(Landroid/view/MotionEvent;)Z move-result p1 return p1 .line 3124 :cond_1 invoke-interface {v0, p0, p1}, Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;->onTouchEvent(Landroidx/recyclerview/widget/RecyclerView;Landroid/view/MotionEvent;)V .line 3125 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 .line 3127 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 3147 invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I move-result v0 .line 3148 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList; 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 .line 3150 iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList; invoke-virtual {v4, v3}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v4 check-cast v4, Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener; .line 3151 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 .line 3152 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 .line 4301 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I move-result v0 const/4 v1, 0x1 const/4 v2, 0x0 if-nez v0, :cond_0 const/4 v0, -0x1 .line 4303 aput v0, p1, v2 .line 4304 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 .line 4310 iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v6, v5}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View; move-result-object v6 invoke-static {v6}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v6 .line 4311 invoke-virtual {v6}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z move-result v7 if-eqz v7, :cond_1 goto :goto_1 .line 4314 :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 4322 :cond_4 aput v3, p1, v2 .line 4323 aput v4, p1, v1 return-void .end method .method static findNestedRecyclerView(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView; .locals 4 .line 5829 instance-of v0, p0, Landroid/view/ViewGroup; const/4 v1, 0x0 if-nez v0, :cond_0 return-object v1 .line 5832 :cond_0 instance-of v0, p0, Landroidx/recyclerview/widget/RecyclerView; if-eqz v0, :cond_1 .line 5833 check-cast p0, Landroidx/recyclerview/widget/RecyclerView; return-object p0 .line 5835 :cond_1 check-cast p0, Landroid/view/ViewGroup; .line 5836 invoke-virtual {p0}, Landroid/view/ViewGroup;->getChildCount()I move-result v0 const/4 v2, 0x0 :goto_0 if-ge v2, v0, :cond_3 .line 5838 invoke-virtual {p0, v2}, Landroid/view/ViewGroup;->getChildAt(I)Landroid/view/View; move-result-object v3 .line 5839 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 .line 3902 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iget v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemPosition:I const/4 v1, -0x1 if-eq v0, v1, :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iget v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemPosition:I goto :goto_0 :cond_0 const/4 v0, 0x0 .line 3905 :goto_0 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$State;->getItemCount()I move-result v1 move v2, v0 :goto_1 if-ge v2, v1, :cond_3 .line 3907 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 3911 :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 3912 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 3915 :cond_3 :goto_2 invoke-static {v1, v0}, Ljava/lang/Math;->min(II)I move-result v0 add-int/lit8 v0, v0, -0x1 :goto_3 const/4 v1, 0x0 if-ltz v0, :cond_6 .line 3917 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 3921 :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 3922 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 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 4819 :cond_0 invoke-virtual {p0}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams; move-result-object p0 check-cast p0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams; iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mViewHolder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder; return-object p0 .end method .method static getDecoratedBoundsWithMarginsInt(Landroid/view/View;Landroid/graphics/Rect;)V .locals 6 .line 5096 invoke-virtual {p0}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams; move-result-object v0 check-cast v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams; .line 5097 iget-object v1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mDecorInsets:Landroid/graphics/Rect; .line 5098 invoke-virtual {p0}, Landroid/view/View;->getLeft()I move-result v2 iget v3, v1, Landroid/graphics/Rect;->left:I sub-int/2addr v2, v3 iget v3, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->leftMargin:I sub-int/2addr v2, v3 .line 5099 invoke-virtual {p0}, Landroid/view/View;->getTop()I move-result v3 iget v4, v1, Landroid/graphics/Rect;->top:I sub-int/2addr v3, v4 iget v4, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->topMargin:I sub-int/2addr v3, v4 .line 5100 invoke-virtual {p0}, Landroid/view/View;->getRight()I move-result v4 iget v5, v1, Landroid/graphics/Rect;->right:I add-int/2addr v4, v5 iget v5, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->rightMargin:I add-int/2addr v4, v5 .line 5101 invoke-virtual {p0}, Landroid/view/View;->getBottom()I move-result p0 iget v1, v1, Landroid/graphics/Rect;->bottom:I add-int/2addr p0, v1 iget v0, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->bottomMargin:I add-int/2addr p0, v0 .line 5098 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 4003 invoke-virtual {p1}, Landroid/view/View;->getId()I move-result v0 .line 4004 :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 4005 check-cast p1, Landroid/view/ViewGroup; invoke-virtual {p1}, Landroid/view/ViewGroup;->getFocusedChild()Landroid/view/View; move-result-object p1 .line 4006 invoke-virtual {p1}, Landroid/view/View;->getId()I move-result v1 const/4 v2, -0x1 if-eq v1, v2, :cond_0 .line 4008 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 835 invoke-virtual {p2, v0}, Ljava/lang/String;->charAt(I)C move-result v0 const/16 v1, 0x2e if-ne v0, v1, :cond_0 .line 836 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; move-result-object p1 invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 return-object p1 .line 838 :cond_0 const-string p1, "." invoke-virtual {p2, p1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result p1 if-eqz p1, :cond_1 return-object p2 .line 841 :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; move-result-object p1 invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 return-object p1 .end method .method private getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper; .locals 1 .line 13495 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollingChildHelper:Landroidx/core/view/NestedScrollingChildHelper; if-nez v0, :cond_0 .line 13496 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; .line 13498 :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 .line 4255 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I move-result v0 const/4 v1, 0x0 :goto_0 if-ge v1, v0, :cond_3 .line 4257 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View; move-result-object v2 .line 4258 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 4262 :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 .line 4264 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 invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z move-result p1 if-eqz p1, :cond_1 .line 4265 new-instance p1, Ljava/lang/IllegalStateException; new-instance p4, Ljava/lang/StringBuilder; const-string v0, "Two different ViewHolders have the same stable ID. Stable IDs in your adapter MUST BE unique and SHOULD NOT change.\n ViewHolder 1:" invoke-direct {p4, v0}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object p4 invoke-virtual {p4, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p2 invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object p2 .line 4268 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; move-result-object p2 invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p2 invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw p1 .line 4270 :cond_1 new-instance p1, Ljava/lang/IllegalStateException; new-instance p4, Ljava/lang/StringBuilder; const-string v0, "Two different ViewHolders have the same change ID. This might happen due to inconsistent Adapter update events or if the LayoutManager lays out the same View multiple times.\n ViewHolder 1:" invoke-direct {p4, v0}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object p4 invoke-virtual {p4, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p2 invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object p2 .line 4274 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; move-result-object p2 invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p2 invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw p1 :cond_2 :goto_1 add-int/lit8 v1, v1, 0x1 goto :goto_0 .line 4279 :cond_3 new-instance p1, Ljava/lang/StringBuilder; const-string p2, "Problem while matching changed view holders with the newones. The pre-layout information for the change holder " invoke-direct {p1, p2}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p1, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object p1 const-string p2, " cannot be found but it is necessary for " invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object p1 .line 4281 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; move-result-object p1 invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 .line 4279 const-string p2, "RecyclerView" invoke-static {p2, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I return-void .end method .method private hasUpdatedView()Z .locals 5 .line 1906 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I move-result v0 const/4 v1, 0x0 move v2, v1 :goto_0 if-ge v2, v0, :cond_2 .line 1908 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View; move-result-object v3 invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v3 if-eqz v3, :cond_1 .line 1909 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z move-result v4 if-eqz v4, :cond_0 goto :goto_1 .line 1912 :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 .line 747 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 748 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 845 new-instance v0, Landroidx/recyclerview/widget/ChildHelper; new-instance v1, Landroidx/recyclerview/widget/RecyclerView$5; invoke-direct {v1, p0}, Landroidx/recyclerview/widget/RecyclerView$5;->(Landroidx/recyclerview/widget/RecyclerView;)V invoke-direct {v0, v1}, Landroidx/recyclerview/widget/ChildHelper;->(Landroidx/recyclerview/widget/ChildHelper$Callback;)V iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; return-void .end method .method private isPreferredNextFocus(Landroid/view/View;Landroid/view/View;I)Z .locals 5 const/4 v0, 0x0 if-eqz p2, :cond_1a if-ne p2, p0, :cond_0 goto/16 :goto_3 .line 2838 :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 2845 :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 .line 2849 :cond_3 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; invoke-virtual {p1}, Landroid/view/View;->getWidth()I move-result v3 invoke-virtual {p1}, Landroid/view/View;->getHeight()I move-result v4 invoke-virtual {v2, v0, v0, v3, v4}, Landroid/graphics/Rect;->set(IIII)V .line 2850 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect; invoke-virtual {p2}, Landroid/view/View;->getWidth()I move-result v3 invoke-virtual {p2}, Landroid/view/View;->getHeight()I move-result v4 invoke-virtual {v2, v0, v0, v3, v4}, Landroid/graphics/Rect;->set(IIII)V .line 2851 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; invoke-virtual {p0, p1, v2}, Landroidx/recyclerview/widget/RecyclerView;->offsetDescendantRectToMyCoords(Landroid/view/View;Landroid/graphics/Rect;)V .line 2852 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect; invoke-virtual {p0, p2, p1}, Landroidx/recyclerview/widget/RecyclerView;->offsetDescendantRectToMyCoords(Landroid/view/View;Landroid/graphics/Rect;)V .line 2853 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->getLayoutDirection()I move-result p1 const/4 p2, -0x1 if-ne p1, v1, :cond_4 move p1, p2 goto :goto_0 :cond_4 move p1, v1 .line 2855 :goto_0 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; iget v2, v2, Landroid/graphics/Rect;->left:I iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect; iget v3, v3, Landroid/graphics/Rect;->left:I if-lt v2, v3, :cond_5 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; iget v2, v2, Landroid/graphics/Rect;->right:I iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect; iget v3, v3, Landroid/graphics/Rect;->left:I if-gt v2, v3, :cond_6 :cond_5 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; iget v2, v2, Landroid/graphics/Rect;->right:I iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect; iget v3, v3, Landroid/graphics/Rect;->right:I if-ge v2, v3, :cond_6 move v2, v1 goto :goto_1 .line 2859 :cond_6 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; iget v2, v2, Landroid/graphics/Rect;->right:I iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect; iget v3, v3, Landroid/graphics/Rect;->right:I if-gt v2, v3, :cond_7 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; iget v2, v2, Landroid/graphics/Rect;->left:I iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect; iget v3, v3, Landroid/graphics/Rect;->right:I if-lt v2, v3, :cond_8 :cond_7 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; iget v2, v2, Landroid/graphics/Rect;->left:I iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect; iget v3, v3, Landroid/graphics/Rect;->left:I if-le v2, v3, :cond_8 move v2, p2 goto :goto_1 :cond_8 move v2, v0 .line 2865 :goto_1 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; iget v3, v3, Landroid/graphics/Rect;->top:I iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect; iget v4, v4, Landroid/graphics/Rect;->top:I if-lt v3, v4, :cond_9 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; iget v3, v3, Landroid/graphics/Rect;->bottom:I iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect; iget v4, v4, Landroid/graphics/Rect;->top:I if-gt v3, v4, :cond_a :cond_9 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; iget v3, v3, Landroid/graphics/Rect;->bottom:I iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect; iget v4, v4, Landroid/graphics/Rect;->bottom:I if-ge v3, v4, :cond_a move p2, v1 goto :goto_2 .line 2869 :cond_a iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; iget v3, v3, Landroid/graphics/Rect;->bottom:I iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect; iget v4, v4, Landroid/graphics/Rect;->bottom:I if-gt v3, v4, :cond_b iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; iget v3, v3, Landroid/graphics/Rect;->top:I iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect; iget v4, v4, Landroid/graphics/Rect;->bottom:I if-lt v3, v4, :cond_c :cond_b iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; iget v3, v3, Landroid/graphics/Rect;->top:I iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect; iget v4, v4, Landroid/graphics/Rect;->top:I if-le v3, v4, :cond_c goto :goto_2 :cond_c move p2, v0 :goto_2 if-eq p3, v1, :cond_18 const/4 v3, 0x2 if-eq p3, v3, :cond_15 const/16 p1, 0x11 if-eq p3, p1, :cond_13 const/16 p1, 0x21 if-eq p3, p1, :cond_11 const/16 p1, 0x42 if-eq p3, p1, :cond_f const/16 p1, 0x82 if-ne p3, p1, :cond_e if-lez p2, :cond_d move v0, v1 :cond_d return v0 .line 2888 :cond_e new-instance p1, Ljava/lang/IllegalArgumentException; new-instance p2, Ljava/lang/StringBuilder; const-string v0, "Invalid direction: " invoke-direct {p2, v0}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object p2 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String; move-result-object p3 invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p2 invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p2 invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p1 :cond_f if-lez v2, :cond_10 move v0, v1 :cond_10 return v0 :cond_11 if-gez p2, :cond_12 move v0, v1 :cond_12 return v0 :cond_13 if-gez v2, :cond_14 move v0, v1 :cond_14 return v0 :cond_15 if-gtz p2, :cond_16 if-nez p2, :cond_17 mul-int/2addr v2, p1 if-ltz v2, :cond_17 :cond_16 move v0, v1 :cond_17 return v0 :cond_18 if-ltz p2, :cond_19 if-nez p2, :cond_1a mul-int/2addr v2, p1 if-gtz v2, :cond_1a :cond_19 move v0, v1 :cond_1a :goto_3 return v0 .end method .method private onPointerUp(Landroid/view/MotionEvent;)V .locals 3 .line 3448 invoke-virtual {p1}, Landroid/view/MotionEvent;->getActionIndex()I move-result v0 .line 3449 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 3452 :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 3453 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 3454 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 .line 3771 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; if-eqz v0, :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->supportsPredictiveItemAnimations()Z move-result v0 if-eqz v0, :cond_0 const/4 v0, 0x1 goto :goto_0 :cond_0 const/4 v0, 0x0 :goto_0 return v0 .end method .method private processAdapterUpdatesAndSetAnimationFlags()V .locals 5 .line 3781 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z if-eqz v0, :cond_0 .line 3784 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->reset()V .line 3785 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchItemsChangedEvent:Z if-eqz v0, :cond_0 .line 3786 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onItemsChanged(Landroidx/recyclerview/widget/RecyclerView;)V .line 3792 :cond_0 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->predictiveItemAnimationsEnabled()Z move-result v0 if-eqz v0, :cond_1 .line 3793 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->preProcess()V goto :goto_0 .line 3795 :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->consumeUpdatesInOnePass()V .line 3797 :goto_0 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemsAddedOrRemoved:Z const/4 v1, 0x0 const/4 v2, 0x1 if-nez v0, :cond_3 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemsChanged:Z if-eqz v0, :cond_2 goto :goto_1 :cond_2 move v0, v1 goto :goto_2 :cond_3 :goto_1 move v0, v2 .line 3798 :goto_2 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iget-boolean v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z if-eqz v4, :cond_6 iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; if-eqz v4, :cond_6 iget-boolean v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z if-nez v4, :cond_4 if-nez v0, :cond_4 iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-boolean v4, v4, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mRequestedSimpleAnimations:Z if-eqz v4, :cond_6 :cond_4 iget-boolean v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z if-eqz v4, :cond_5 iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; .line 3804 invoke-virtual {v4}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z move-result v4 if-eqz v4, :cond_6 :cond_5 move v4, v2 goto :goto_3 :cond_6 move v4, v1 :goto_3 iput-boolean v4, v3, Landroidx/recyclerview/widget/RecyclerView$State;->mRunSimpleAnimations:Z .line 3805 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iget-boolean v4, v3, Landroidx/recyclerview/widget/RecyclerView$State;->mRunSimpleAnimations:Z if-eqz v4, :cond_7 if-eqz v0, :cond_7 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z if-nez v0, :cond_7 .line 3808 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->predictiveItemAnimationsEnabled()Z move-result v0 if-eqz v0, :cond_7 move v1, v2 :cond_7 iput-boolean v1, v3, Landroidx/recyclerview/widget/RecyclerView$State;->mRunPredictiveAnimations:Z return-void .end method .method private pullGlows(FFFF)V .locals 6 const/4 v0, 0x0 cmpg-float v1, p2, v0 const/4 v2, 0x1 const/high16 v3, 0x3f800000 # 1.0f if-gez v1, :cond_0 .line 2532 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureLeftGlow()V .line 2533 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; neg-float v4, p2 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I move-result v5 int-to-float v5, v5 div-float/2addr v4, v5 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getHeight()I move-result v5 int-to-float v5, v5 div-float/2addr p3, v5 sub-float p3, 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 2536 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureRightGlow()V .line 2537 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I move-result v4 int-to-float v4, v4 div-float v4, p2, v4 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getHeight()I move-result v5 int-to-float v5, v5 div-float/2addr p3, v5 invoke-static {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 2542 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureTopGlow()V .line 2543 iget-object p2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; neg-float p3, p4 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getHeight()I move-result p4 int-to-float p4, p4 div-float/2addr p3, p4 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I move-result p4 int-to-float p4, p4 div-float/2addr p1, p4 invoke-static {p2, p3, p1}, Landroidx/core/widget/EdgeEffectCompat;->onPull(Landroid/widget/EdgeEffect;FF)V goto :goto_1 :cond_2 cmpl-float p3, p4, v0 if-lez p3, :cond_3 .line 2546 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureBottomGlow()V .line 2547 iget-object p2, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getHeight()I move-result p3 int-to-float p3, p3 div-float/2addr p4, p3 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I move-result p3 int-to-float p3, p3 div-float/2addr p1, p3 sub-float/2addr v3, p1 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 2552 :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 .line 3929 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 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->hasFocus()Z move-result v0 if-eqz v0, :cond_9 .line 3930 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getDescendantFocusability()I move-result v0 const/high16 v1, 0x60000 if-eq v0, v1, :cond_9 .line 3931 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getDescendantFocusability()I move-result v0 const/high16 v1, 0x20000 if-ne v0, v1, :cond_0 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isFocused()Z move-result v0 if-eqz v0, :cond_0 goto/16 :goto_3 .line 3939 :cond_0 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isFocused()Z move-result v0 if-nez v0, :cond_3 .line 3940 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getFocusedChild()Landroid/view/View; move-result-object v0 .line 3941 sget-boolean v1, Landroidx/recyclerview/widget/RecyclerView;->IGNORE_DETACHED_FOCUSED_CHILD:Z if-eqz v1, :cond_2 .line 3942 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 .line 3954 :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I move-result v0 if-nez v0, :cond_3 .line 3957 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestFocus()Z return-void .line 3960 :cond_2 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v1, v0}, Landroidx/recyclerview/widget/ChildHelper;->isHidden(Landroid/view/View;)Z move-result v0 if-nez v0, :cond_3 return-void .line 3970 :cond_3 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iget-wide v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemId:J const-wide/16 v2, -0x1 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 .line 3971 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; 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 .line 3974 iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; iget-object v5, v0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; invoke-virtual {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 3975 invoke-virtual {v4}, Landroid/view/View;->hasFocusable()Z move-result v4 if-nez v4, :cond_5 goto :goto_1 .line 3988 :cond_5 iget-object v1, v0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; goto :goto_2 .line 3976 :cond_6 :goto_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I move-result v0 if-lez v0, :cond_7 .line 3983 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->findNextViewToFocus()Landroid/view/View; move-result-object v1 :cond_7 :goto_2 if-eqz v1, :cond_9 .line 3992 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iget v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedSubChildId:I int-to-long v4, v0 cmp-long v0, v4, v2 if-eqz v0, :cond_8 .line 3993 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iget v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedSubChildId:I invoke-virtual {v1, v0}, Landroid/view/View;->findViewById(I)Landroid/view/View; move-result-object v0 if-eqz v0, :cond_8 .line 3994 invoke-virtual {v0}, Landroid/view/View;->isFocusable()Z move-result v2 if-eqz v2, :cond_8 move-object v1, v0 .line 3998 :cond_8 invoke-virtual {v1}, Landroid/view/View;->requestFocus()Z :cond_9 :goto_3 return-void .end method .method private releaseGlows()V .locals 2 .line 2558 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; if-eqz v0, :cond_0 .line 2559 invoke-virtual {v0}, Landroid/widget/EdgeEffect;->onRelease()V .line 2560 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z move-result v0 goto :goto_0 :cond_0 const/4 v0, 0x0 .line 2562 :goto_0 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; if-eqz v1, :cond_1 .line 2563 invoke-virtual {v1}, Landroid/widget/EdgeEffect;->onRelease()V .line 2564 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; invoke-virtual {v1}, Landroid/widget/EdgeEffect;->isFinished()Z move-result v1 or-int/2addr v0, v1 .line 2566 :cond_1 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; if-eqz v1, :cond_2 .line 2567 invoke-virtual {v1}, Landroid/widget/EdgeEffect;->onRelease()V .line 2568 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; invoke-virtual {v1}, Landroid/widget/EdgeEffect;->isFinished()Z move-result v1 or-int/2addr v0, v1 .line 2570 :cond_2 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; if-eqz v1, :cond_3 .line 2571 invoke-virtual {v1}, Landroid/widget/EdgeEffect;->onRelease()V .line 2572 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; invoke-virtual {v1}, Landroid/widget/EdgeEffect;->isFinished()Z move-result v1 or-int/2addr v0, v1 :cond_3 if-eqz v0, :cond_4 .line 2575 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 if-eqz p2, :cond_0 move-object v0, p2 goto :goto_0 :cond_0 move-object v0, p1 .line 2910 :goto_0 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; invoke-virtual {v0}, Landroid/view/View;->getWidth()I move-result v2 invoke-virtual {v0}, Landroid/view/View;->getHeight()I move-result v3 const/4 v4, 0x0 invoke-virtual {v1, v4, v4, v2, v3}, Landroid/graphics/Rect;->set(IIII)V .line 2915 invoke-virtual {v0}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams; move-result-object v0 .line 2916 instance-of v1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams; if-eqz v1, :cond_1 .line 2918 check-cast v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams; .line 2919 iget-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mInsetsDirty:Z if-nez v1, :cond_1 .line 2920 iget-object v0, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mDecorInsets:Landroid/graphics/Rect; .line 2921 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; iget v2, v1, Landroid/graphics/Rect;->left:I iget v3, v0, Landroid/graphics/Rect;->left:I sub-int/2addr v2, v3 iput v2, v1, Landroid/graphics/Rect;->left:I .line 2922 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; iget v2, v1, Landroid/graphics/Rect;->right:I iget v3, v0, Landroid/graphics/Rect;->right:I add-int/2addr v2, v3 iput v2, v1, Landroid/graphics/Rect;->right:I .line 2923 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; iget v2, v1, Landroid/graphics/Rect;->top:I iget v3, v0, Landroid/graphics/Rect;->top:I sub-int/2addr v2, v3 iput v2, v1, Landroid/graphics/Rect;->top:I .line 2924 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; iget v2, v1, Landroid/graphics/Rect;->bottom:I iget v0, v0, Landroid/graphics/Rect;->bottom:I add-int/2addr v2, v0 iput v2, v1, Landroid/graphics/Rect;->bottom:I :cond_1 if-eqz p2, :cond_2 .line 2929 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; invoke-virtual {p0, p2, v0}, Landroidx/recyclerview/widget/RecyclerView;->offsetDescendantRectToMyCoords(Landroid/view/View;Landroid/graphics/Rect;)V .line 2930 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; invoke-virtual {p0, p1, v0}, Landroidx/recyclerview/widget/RecyclerView;->offsetRectIntoDescendantCoords(Landroid/view/View;Landroid/graphics/Rect;)V .line 2932 :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 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 .line 3887 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; const-wide/16 v1, -0x1 iput-wide v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemId:J .line 3888 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; const/4 v1, -0x1 iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemPosition:I .line 3889 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedSubChildId:I return-void .end method .method private resetScroll()V .locals 1 .line 3435 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker; if-eqz v0, :cond_0 .line 3436 invoke-virtual {v0}, Landroid/view/VelocityTracker;->clear()V :cond_0 const/4 v0, 0x0 .line 3438 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->stopNestedScroll(I)V .line 3439 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->releaseGlows()V return-void .end method .method private saveFocusInfo()V .locals 4 .line 3867 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPreserveFocusAfterLayout:Z const/4 v1, 0x0 if-eqz v0, :cond_0 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->hasFocus()Z move-result v0 if-eqz v0, :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; if-eqz v0, :cond_0 .line 3868 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getFocusedChild()Landroid/view/View; move-result-object v0 goto :goto_0 :cond_0 move-object v0, v1 :goto_0 if-nez v0, :cond_1 goto :goto_1 .line 3871 :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 3873 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->resetFocusInfo()V goto :goto_4 .line 3875 :cond_2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z move-result v2 if-eqz v2, :cond_3 invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getItemId()J move-result-wide v2 goto :goto_2 :cond_3 const-wide/16 v2, -0x1 :goto_2 iput-wide v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemId:J .line 3879 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 3880 :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 3881 :cond_5 invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getAdapterPosition()I move-result v2 :goto_3 iput v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemPosition:I .line 3882 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iget-object v1, v1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; invoke-direct {p0, v1}, Landroidx/recyclerview/widget/RecyclerView;->getDeepestFocusedViewWithId(Landroid/view/View;)I move-result v1 iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedSubChildId:I :goto_4 return-void .end method .method private setAdapterInternal(Landroidx/recyclerview/widget/RecyclerView$Adapter;ZZ)V .locals 2 .line 1197 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; if-eqz v0, :cond_0 .line 1198 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mObserver:Landroidx/recyclerview/widget/RecyclerView$RecyclerViewDataObserver; invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->unregisterAdapterDataObserver(Landroidx/recyclerview/widget/RecyclerView$AdapterDataObserver;)V .line 1199 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->onDetachedFromRecyclerView(Landroidx/recyclerview/widget/RecyclerView;)V :cond_0 if-eqz p2, :cond_1 if-eqz p3, :cond_2 .line 1202 :cond_1 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->removeAndRecycleViews()V .line 1204 :cond_2 iget-object p3, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper; invoke-virtual {p3}, Landroidx/recyclerview/widget/AdapterHelper;->reset()V .line 1205 iget-object p3, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; .line 1206 iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; if-eqz p1, :cond_3 .line 1208 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mObserver:Landroidx/recyclerview/widget/RecyclerView$RecyclerViewDataObserver; invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->registerAdapterDataObserver(Landroidx/recyclerview/widget/RecyclerView$AdapterDataObserver;)V .line 1209 invoke-virtual {p1, p0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->onAttachedToRecyclerView(Landroidx/recyclerview/widget/RecyclerView;)V .line 1211 :cond_3 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz p1, :cond_4 .line 1212 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; invoke-virtual {p1, p3, v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onAdapterChanged(Landroidx/recyclerview/widget/RecyclerView$Adapter;Landroidx/recyclerview/widget/RecyclerView$Adapter;)V .line 1214 :cond_4 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; invoke-virtual {p1, p3, v0, p2}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->onAdapterChanged(Landroidx/recyclerview/widget/RecyclerView$Adapter;Landroidx/recyclerview/widget/RecyclerView$Adapter;Z)V .line 1215 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; const/4 p2, 0x1 iput-boolean p2, p1, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z return-void .end method .method private stopScrollersInternal()V .locals 1 .line 2501 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$ViewFlinger; invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;->stop()V .line 2502 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz v0, :cond_0 .line 2503 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->stopSmoothScroller()V :cond_0 return-void .end method # virtual methods .method absorbGlows(II)V .locals 2 if-gez p1, :cond_0 .line 2604 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureLeftGlow()V .line 2605 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z move-result v0 if-eqz v0, :cond_1 .line 2606 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; neg-int v1, p1 invoke-virtual {v0, v1}, Landroid/widget/EdgeEffect;->onAbsorb(I)V goto :goto_0 :cond_0 if-lez p1, :cond_1 .line 2609 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureRightGlow()V .line 2610 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z move-result v0 if-eqz v0, :cond_1 .line 2611 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; invoke-virtual {v0, p1}, Landroid/widget/EdgeEffect;->onAbsorb(I)V :cond_1 :goto_0 if-gez p2, :cond_2 .line 2616 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureTopGlow()V .line 2617 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z move-result v0 if-eqz v0, :cond_3 .line 2618 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; neg-int v1, p2 invoke-virtual {v0, v1}, Landroid/widget/EdgeEffect;->onAbsorb(I)V goto :goto_1 :cond_2 if-lez p2, :cond_3 .line 2621 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureBottomGlow()V .line 2622 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z move-result v0 if-eqz v0, :cond_3 .line 2623 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; invoke-virtual {v0, p2}, Landroid/widget/EdgeEffect;->onAbsorb(I)V :cond_3 :goto_1 if-nez p1, :cond_4 if-eqz p2, :cond_5 .line 2628 :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 .line 2943 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz v0, :cond_0 invoke-virtual {v0, p0, p1, p2, p3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onAddFocusables(Landroidx/recyclerview/widget/RecyclerView;Ljava/util/ArrayList;II)Z move-result v0 if-nez v0, :cond_1 .line 2944 :cond_0 invoke-super {p0, p1, p2, p3}, Landroid/view/ViewGroup;->addFocusables(Ljava/util/ArrayList;II)V :cond_1 return-void .end method .method public addItemDecoration(Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;)V .locals 1 const/4 v0, -0x1 .line 1597 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 .line 1568 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz v0, :cond_0 .line 1569 const-string v1, "Cannot add item decoration during a scroll or layout" invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->assertNotInLayoutOrScroll(Ljava/lang/String;)V .line 1572 :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; invoke-virtual {v0}, Ljava/util/ArrayList;->isEmpty()Z move-result v0 if-eqz v0, :cond_1 const/4 v0, 0x0 .line 1573 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setWillNotDraw(Z)V :cond_1 if-gez p2, :cond_2 .line 1576 iget-object p2, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; invoke-virtual {p2, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z goto :goto_0 .line 1578 :cond_2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; invoke-virtual {v0, p2, p1}, Ljava/util/ArrayList;->add(ILjava/lang/Object;)V .line 1580 :goto_0 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->markItemDecorInsetsDirty()V .line 1581 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V return-void .end method .method public addOnChildAttachStateChangeListener(Landroidx/recyclerview/widget/RecyclerView$OnChildAttachStateChangeListener;)V .locals 1 .line 1273 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List; if-nez v0, :cond_0 .line 1274 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; .line 1276 :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List; invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z return-void .end method .method public addOnItemTouchListener(Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;)V .locals 1 .line 3079 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList; invoke-virtual {v0, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z return-void .end method .method public addOnScrollListener(Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;)V .locals 1 .line 1706 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List; if-nez v0, :cond_0 .line 1707 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; .line 1709 :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List; invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z return-void .end method .method animateAppearance(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V .locals 1 const/4 v0, 0x0 .line 4363 invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->setIsRecyclable(Z)V .line 4364 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; invoke-virtual {v0, p1, p2, p3}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->animateAppearance(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)Z move-result p1 if-eqz p1, :cond_0 .line 4365 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->postAnimationRunner()V :cond_0 return-void .end method .method animateDisappearance(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V .locals 1 .line 4371 invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->addAnimatingView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V const/4 v0, 0x0 .line 4372 invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->setIsRecyclable(Z)V .line 4373 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; invoke-virtual {v0, p1, p2, p3}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->animateDisappearance(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)Z move-result p1 if-eqz p1, :cond_0 .line 4374 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->postAnimationRunner()V :cond_0 return-void .end method .method assertInLayoutOrScroll(Ljava/lang/String;)V .locals 2 .line 3030 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isComputingLayout()Z move-result v0 if-nez v0, :cond_1 if-nez p1, :cond_0 .line 3032 new-instance p1, Ljava/lang/IllegalStateException; new-instance v0, Ljava/lang/StringBuilder; const-string v1, "Cannot call this method unless RecyclerView is computing a layout or scrolling" invoke-direct {v0, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V .line 3033 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; move-result-object v0 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 3035 :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; move-result-object p1 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String; move-result-object v1 invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 invoke-direct {v0, p1}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw v0 :cond_1 return-void .end method .method assertNotInLayoutOrScroll(Ljava/lang/String;)V .locals 2 .line 3048 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isComputingLayout()Z move-result v0 if-eqz v0, :cond_1 if-nez p1, :cond_0 .line 3050 new-instance p1, Ljava/lang/IllegalStateException; new-instance v0, Ljava/lang/StringBuilder; const-string v1, "Cannot call this method while RecyclerView is computing a layout or scrolling" invoke-direct {v0, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V .line 3051 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; move-result-object v0 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 3053 :cond_0 new-instance v0, Ljava/lang/IllegalStateException; invoke-direct {v0, p1}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw v0 .line 3055 :cond_1 iget p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchScrollCounter:I if-lez p1, :cond_2 .line 3056 new-instance p1, Ljava/lang/IllegalStateException; new-instance v0, Ljava/lang/StringBuilder; const-string v1, "" invoke-direct {v0, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V .line 3061 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; move-result-object v0 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 .line 3056 const-string v0, "RecyclerView" const-string v1, "Cannot call this method in a scroll callback. Scroll callbacks mightbe run during a measure & layout pass where you cannot change theRecyclerView data. Any method call that might change the structureof the RecyclerView or the adapter contents should be postponed tothe next frame." invoke-static {v0, v1, p1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I :cond_2 return-void .end method .method canReuseUpdatedViewHolder(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Z .locals 2 .line 4674 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; if-eqz v0, :cond_1 .line 4675 invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getUnmodifiedPayloads()Ljava/util/List; move-result-object v1 .line 4674 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 protected checkLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Z .locals 1 .line 4500 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 clearOldPositions()V .locals 4 .line 4554 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I move-result v0 const/4 v1, 0x0 :goto_0 if-ge v1, v0, :cond_1 .line 4556 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View; move-result-object v2 invoke-static {v2}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v2 .line 4557 invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z move-result v3 if-nez v3, :cond_0 .line 4558 invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->clearOldPosition()V :cond_0 add-int/lit8 v1, v1, 0x1 goto :goto_0 .line 4561 :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->clearOldPositions()V return-void .end method .method public clearOnChildAttachStateChangeListeners()V .locals 1 .line 1297 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List; if-eqz v0, :cond_0 .line 1298 invoke-interface {v0}, Ljava/util/List;->clear()V :cond_0 return-void .end method .method public clearOnScrollListeners()V .locals 1 .line 1727 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List; if-eqz v0, :cond_0 .line 1728 invoke-interface {v0}, Ljava/util/List;->clear()V :cond_0 return-void .end method .method public computeHorizontalScrollExtent()I .locals 2 .line 2024 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 2027 :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 .line 1999 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 2002 :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 .line 2047 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 2050 :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 .line 2096 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 2099 :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 .line 2072 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 2075 :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 .line 2119 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 2122 :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 considerReleasingGlowsOnScroll(II)V .locals 2 .line 2581 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; if-eqz v0, :cond_0 invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z move-result v0 if-nez v0, :cond_0 if-lez p1, :cond_0 .line 2582 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; invoke-virtual {v0}, Landroid/widget/EdgeEffect;->onRelease()V .line 2583 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z move-result v0 goto :goto_0 :cond_0 const/4 v0, 0x0 .line 2585 :goto_0 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; if-eqz v1, :cond_1 invoke-virtual {v1}, Landroid/widget/EdgeEffect;->isFinished()Z move-result v1 if-nez v1, :cond_1 if-gez p1, :cond_1 .line 2586 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; invoke-virtual {p1}, Landroid/widget/EdgeEffect;->onRelease()V .line 2587 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; invoke-virtual {p1}, Landroid/widget/EdgeEffect;->isFinished()Z move-result p1 or-int/2addr v0, p1 .line 2589 :cond_1 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; if-eqz p1, :cond_2 invoke-virtual {p1}, Landroid/widget/EdgeEffect;->isFinished()Z move-result p1 if-nez p1, :cond_2 if-lez p2, :cond_2 .line 2590 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; invoke-virtual {p1}, Landroid/widget/EdgeEffect;->onRelease()V .line 2591 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; invoke-virtual {p1}, Landroid/widget/EdgeEffect;->isFinished()Z move-result p1 or-int/2addr v0, p1 .line 2593 :cond_2 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; if-eqz p1, :cond_3 invoke-virtual {p1}, Landroid/widget/EdgeEffect;->isFinished()Z move-result p1 if-nez p1, :cond_3 if-gez p2, :cond_3 .line 2594 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; invoke-virtual {p1}, Landroid/widget/EdgeEffect;->onRelease()V .line 2595 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; invoke-virtual {p1}, Landroid/widget/EdgeEffect;->isFinished()Z move-result p1 or-int/2addr v0, p1 :cond_3 if-eqz v0, :cond_4 .line 2598 invoke-static {p0}, Landroidx/core/view/ViewCompat;->postInvalidateOnAnimation(Landroid/view/View;)V :cond_4 return-void .end method .method consumePendingUpdateOperations()V .locals 3 .line 1865 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 .line 1871 :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->hasPendingUpdates()Z move-result v0 if-nez v0, :cond_1 return-void .line 1877 :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper; const/4 v2, 0x4 invoke-virtual {v0, v2}, Landroidx/recyclerview/widget/AdapterHelper;->hasAnyUpdateTypes(I)Z move-result v0 if-eqz v0, :cond_4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper; const/16 v2, 0xb .line 1878 invoke-virtual {v0, v2}, Landroidx/recyclerview/widget/AdapterHelper;->hasAnyUpdateTypes(I)Z move-result v0 if-nez v0, :cond_4 .line 1880 const-string v0, "RV PartialInvalidate" invoke-static {v0}, Landroidx/core/os/TraceCompat;->beginSection(Ljava/lang/String;)V .line 1881 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V .line 1882 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V .line 1883 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->preProcess()V .line 1884 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z if-nez v0, :cond_3 .line 1885 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->hasUpdatedView()Z move-result v0 if-eqz v0, :cond_2 .line 1886 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayout()V goto :goto_0 .line 1889 :cond_2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->consumePostponedUpdates()V :cond_3 :goto_0 const/4 v0, 0x1 .line 1892 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V .line 1893 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V .line 1894 invoke-static {}, Landroidx/core/os/TraceCompat;->endSection()V goto :goto_1 .line 1895 :cond_4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->hasPendingUpdates()Z move-result v0 if-eqz v0, :cond_5 .line 1896 invoke-static {v1}, Landroidx/core/os/TraceCompat;->beginSection(Ljava/lang/String;)V .line 1897 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayout()V .line 1898 invoke-static {}, Landroidx/core/os/TraceCompat;->endSection()V :cond_5 :goto_1 return-void .line 1866 :cond_6 :goto_2 invoke-static {v1}, Landroidx/core/os/TraceCompat;->beginSection(Ljava/lang/String;)V .line 1867 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayout()V .line 1868 invoke-static {}, Landroidx/core/os/TraceCompat;->endSection()V return-void .end method .method defaultOnMeasure(II)V .locals 2 .line 3607 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingLeft()I move-result v0 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingRight()I move-result v1 add-int/2addr v0, v1 .line 3608 invoke-static {p0}, Landroidx/core/view/ViewCompat;->getMinimumWidth(Landroid/view/View;)I move-result v1 .line 3606 invoke-static {p1, v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->chooseSize(III)I move-result p1 .line 3610 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingTop()I move-result v0 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingBottom()I move-result v1 add-int/2addr v0, v1 .line 3611 invoke-static {p0}, Landroidx/core/view/ViewCompat;->getMinimumHeight(Landroid/view/View;)I move-result v1 .line 3609 invoke-static {p2, v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->chooseSize(III)I move-result p2 .line 3613 invoke-virtual {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->setMeasuredDimension(II)V return-void .end method .method dispatchChildAttached(Landroid/view/View;)V .locals 2 .line 7553 invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v0 .line 7554 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->onChildAttachedToWindow(Landroid/view/View;)V .line 7555 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 7556 invoke-virtual {v1, v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->onViewAttachedToWindow(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V .line 7558 :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List; if-eqz v0, :cond_1 .line 7559 invoke-interface {v0}, Ljava/util/List;->size()I move-result v0 add-int/lit8 v0, v0, -0x1 :goto_0 if-ltz v0, :cond_1 .line 7561 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List; invoke-interface {v1, v0}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object v1 check-cast v1, Landroidx/recyclerview/widget/RecyclerView$OnChildAttachStateChangeListener; invoke-interface {v1, p1}, Landroidx/recyclerview/widget/RecyclerView$OnChildAttachStateChangeListener;->onChildViewAttachedToWindow(Landroid/view/View;)V add-int/lit8 v0, v0, -0x1 goto :goto_0 :cond_1 return-void .end method .method dispatchChildDetached(Landroid/view/View;)V .locals 2 .line 7538 invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v0 .line 7539 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->onChildDetachedFromWindow(Landroid/view/View;)V .line 7540 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 7541 invoke-virtual {v1, v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->onViewDetachedFromWindow(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V .line 7543 :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List; if-eqz v0, :cond_1 .line 7544 invoke-interface {v0}, Ljava/util/List;->size()I move-result v0 add-int/lit8 v0, v0, -0x1 :goto_0 if-ltz v0, :cond_1 .line 7546 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List; invoke-interface {v1, v0}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object v1 check-cast v1, Landroidx/recyclerview/widget/RecyclerView$OnChildAttachStateChangeListener; invoke-interface {v1, p1}, Landroidx/recyclerview/widget/RecyclerView$OnChildAttachStateChangeListener;->onChildViewDetachedFromWindow(Landroid/view/View;)V add-int/lit8 v0, v0, -0x1 goto :goto_0 :cond_1 return-void .end method .method dispatchLayout()V .locals 2 .line 3837 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; const-string v1, "RecyclerView" if-nez v0, :cond_0 .line 3838 const-string v0, "No adapter attached; skipping layout" invoke-static {v1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I return-void .line 3842 :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-nez v0, :cond_1 .line 3843 const-string v0, "No layout manager attached; skipping layout" invoke-static {v1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I return-void .line 3847 :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; const/4 v1, 0x0 iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mIsMeasuring:Z .line 3848 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iget v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mLayoutStep:I const/4 v1, 0x1 if-ne v0, v1, :cond_2 .line 3849 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep1()V .line 3850 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setExactMeasureSpecsFrom(Landroidx/recyclerview/widget/RecyclerView;)V .line 3851 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep2()V goto :goto_1 .line 3852 :cond_2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->hasUpdates()Z move-result v0 if-nez v0, :cond_4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->getWidth()I move-result v0 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I move-result v1 if-ne v0, v1, :cond_4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 3853 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->getHeight()I move-result v0 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getHeight()I move-result v1 if-eq v0, v1, :cond_3 goto :goto_0 .line 3860 :cond_3 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setExactMeasureSpecsFrom(Landroidx/recyclerview/widget/RecyclerView;)V goto :goto_1 .line 3856 :cond_4 :goto_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setExactMeasureSpecsFrom(Landroidx/recyclerview/widget/RecyclerView;)V .line 3857 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep2()V .line 3862 :goto_1 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep3()V return-void .end method .method public dispatchNestedFling(FFZ)Z .locals 1 .line 11601 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 11606 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 11589 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 11595 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 .line 11583 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 11569 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 11576 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper; move-result-object v0 move v1, p1 move v2, p2 move v3, p3 move v4, p4 move-object v5, p5 move v6, p6 invoke-virtual/range {v0 .. v6}, Landroidx/core/view/NestedScrollingChildHelper;->dispatchNestedScroll(IIII[II)Z move-result p1 return p1 .end method .method dispatchOnScrollStateChanged(I)V .locals 2 .line 5196 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz v0, :cond_0 .line 5197 invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onScrollStateChanged(I)V .line 5202 :cond_0 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->onScrollStateChanged(I)V .line 5205 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListener:Landroidx/recyclerview/widget/RecyclerView$OnScrollListener; if-eqz v0, :cond_1 .line 5206 invoke-virtual {v0, p0, p1}, Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;->onScrollStateChanged(Landroidx/recyclerview/widget/RecyclerView;I)V .line 5208 :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List; if-eqz v0, :cond_2 .line 5209 invoke-interface {v0}, Ljava/util/List;->size()I move-result v0 add-int/lit8 v0, v0, -0x1 :goto_0 if-ltz v0, :cond_2 .line 5210 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List; invoke-interface {v1, v0}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object v1 check-cast v1, Landroidx/recyclerview/widget/RecyclerView$OnScrollListener; invoke-virtual {v1, p0, p1}, Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;->onScrollStateChanged(Landroidx/recyclerview/widget/RecyclerView;I)V add-int/lit8 v0, v0, -0x1 goto :goto_0 :cond_2 return-void .end method .method dispatchOnScrolled(II)V .locals 4 .line 5154 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 5159 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollX()I move-result v0 .line 5160 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollY()I move-result v1 sub-int v2, v0, p1 sub-int v3, v1, p2 .line 5161 invoke-virtual {p0, v0, v1, v2, v3}, Landroidx/recyclerview/widget/RecyclerView;->onScrollChanged(IIII)V .line 5164 invoke-virtual {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->onScrolled(II)V .line 5168 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListener:Landroidx/recyclerview/widget/RecyclerView$OnScrollListener; if-eqz v0, :cond_0 .line 5169 invoke-virtual {v0, p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;->onScrolled(Landroidx/recyclerview/widget/RecyclerView;II)V .line 5171 :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List; if-eqz v0, :cond_1 .line 5172 invoke-interface {v0}, Ljava/util/List;->size()I move-result v0 add-int/lit8 v0, v0, -0x1 :goto_0 if-ltz v0, :cond_1 .line 5173 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List; invoke-interface {v1, v0}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object v1 check-cast v1, Landroidx/recyclerview/widget/RecyclerView$OnScrollListener; invoke-virtual {v1, p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;->onScrolled(Landroidx/recyclerview/widget/RecyclerView;II)V add-int/lit8 v0, v0, -0x1 goto :goto_0 .line 5176 :cond_1 iget p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchScrollCounter:I add-int/lit8 p1, p1, -0x1 iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchScrollCounter:I return-void .end method .method dispatchPendingImportantForAccessibilityChanges()V .locals 5 .line 11480 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingAccessibilityImportanceChange:Ljava/util/List; invoke-interface {v0}, Ljava/util/List;->size()I move-result v0 add-int/lit8 v0, v0, -0x1 :goto_0 if-ltz v0, :cond_2 .line 11481 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingAccessibilityImportanceChange:Ljava/util/List; invoke-interface {v1, v0}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object v1 check-cast v1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder; .line 11482 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 11485 :cond_0 iget v2, v1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPendingAccessibilityState:I const/4 v3, -0x1 if-eq v2, v3, :cond_1 .line 11488 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 11489 iput v3, v1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPendingAccessibilityState:I :cond_1 :goto_1 add-int/lit8 v0, v0, -0x1 goto :goto_0 .line 11493 :cond_2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingAccessibilityImportanceChange:Ljava/util/List; invoke-interface {v0}, Ljava/util/List;->clear()V return-void .end method .method public dispatchPopulateAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)Z .locals 0 .line 3741 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->onPopulateAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)V const/4 p1, 0x1 return p1 .end method .method protected dispatchRestoreInstanceState(Landroid/util/SparseArray;)V .locals 0 .annotation system Ldalvik/annotation/Signature; value = { "(", "Landroid/util/SparseArray<", "Landroid/os/Parcelable;", ">;)V" } .end annotation .line 1419 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->dispatchThawSelfOnly(Landroid/util/SparseArray;)V return-void .end method .method protected dispatchSaveInstanceState(Landroid/util/SparseArray;)V .locals 0 .annotation system Ldalvik/annotation/Signature; value = { "(", "Landroid/util/SparseArray<", "Landroid/os/Parcelable;", ">;)V" } .end annotation .line 1411 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->dispatchFreezeSelfOnly(Landroid/util/SparseArray;)V return-void .end method .method public draw(Landroid/graphics/Canvas;)V .locals 7 .line 4429 invoke-super {p0, p1}, Landroid/view/ViewGroup;->draw(Landroid/graphics/Canvas;)V .line 4431 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; invoke-virtual {v0}, Ljava/util/ArrayList;->size()I move-result v0 const/4 v1, 0x0 move v2, v1 :goto_0 if-ge v2, v0, :cond_0 .line 4433 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; invoke-virtual {v3, v2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v3 check-cast v3, Landroidx/recyclerview/widget/RecyclerView$ItemDecoration; iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {v3, p1, p0, v4}, Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;->onDrawOver(Landroid/graphics/Canvas;Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$State;)V add-int/lit8 v2, v2, 0x1 goto :goto_0 .line 4438 :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; const/4 v2, 0x1 if-eqz v0, :cond_3 invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z move-result v0 if-nez v0, :cond_3 .line 4439 invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I move-result v0 .line 4440 iget-boolean v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z if-eqz v3, :cond_1 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingBottom()I move-result v3 goto :goto_1 :cond_1 move v3, v1 :goto_1 const/high16 v4, 0x43870000 # 270.0f .line 4441 invoke-virtual {p1, v4}, Landroid/graphics/Canvas;->rotate(F)V .line 4442 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getHeight()I move-result v4 neg-int v4, v4 add-int/2addr v4, v3 int-to-float v3, v4 const/4 v4, 0x0 invoke-virtual {p1, v3, v4}, Landroid/graphics/Canvas;->translate(FF)V .line 4443 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; if-eqz v3, :cond_2 invoke-virtual {v3, p1}, Landroid/widget/EdgeEffect;->draw(Landroid/graphics/Canvas;)Z move-result v3 if-eqz v3, :cond_2 move v3, v2 goto :goto_2 :cond_2 move v3, v1 .line 4444 :goto_2 invoke-virtual {p1, v0}, Landroid/graphics/Canvas;->restoreToCount(I)V goto :goto_3 :cond_3 move v3, v1 .line 4446 :goto_3 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; if-eqz v0, :cond_6 invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z move-result v0 if-nez v0, :cond_6 .line 4447 invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I move-result v0 .line 4448 iget-boolean v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z if-eqz v4, :cond_4 .line 4449 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingLeft()I move-result v4 int-to-float v4, v4 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingTop()I move-result v5 int-to-float v5, v5 invoke-virtual {p1, v4, v5}, Landroid/graphics/Canvas;->translate(FF)V .line 4451 :cond_4 iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; if-eqz v4, :cond_5 invoke-virtual {v4, p1}, Landroid/widget/EdgeEffect;->draw(Landroid/graphics/Canvas;)Z move-result v4 if-eqz v4, :cond_5 move v4, v2 goto :goto_4 :cond_5 move v4, v1 :goto_4 or-int/2addr v3, v4 .line 4452 invoke-virtual {p1, v0}, Landroid/graphics/Canvas;->restoreToCount(I)V .line 4454 :cond_6 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; if-eqz v0, :cond_9 invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z move-result v0 if-nez v0, :cond_9 .line 4455 invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I move-result v0 .line 4456 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I move-result v4 .line 4457 iget-boolean v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z if-eqz v5, :cond_7 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingTop()I move-result v5 goto :goto_5 :cond_7 move v5, v1 :goto_5 const/high16 v6, 0x42b40000 # 90.0f .line 4458 invoke-virtual {p1, v6}, Landroid/graphics/Canvas;->rotate(F)V neg-int v5, v5 int-to-float v5, v5 neg-int v4, v4 int-to-float v4, v4 .line 4459 invoke-virtual {p1, v5, v4}, Landroid/graphics/Canvas;->translate(FF)V .line 4460 iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; if-eqz v4, :cond_8 invoke-virtual {v4, p1}, Landroid/widget/EdgeEffect;->draw(Landroid/graphics/Canvas;)Z move-result v4 if-eqz v4, :cond_8 move v4, v2 goto :goto_6 :cond_8 move v4, v1 :goto_6 or-int/2addr v3, v4 .line 4461 invoke-virtual {p1, v0}, Landroid/graphics/Canvas;->restoreToCount(I)V .line 4463 :cond_9 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; if-eqz v0, :cond_c invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z move-result v0 if-nez v0, :cond_c .line 4464 invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I move-result v0 const/high16 v4, 0x43340000 # 180.0f .line 4465 invoke-virtual {p1, v4}, Landroid/graphics/Canvas;->rotate(F)V .line 4466 iget-boolean v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z if-eqz v4, :cond_a .line 4467 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I move-result v4 neg-int v4, v4 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingRight()I move-result v5 add-int/2addr v4, v5 int-to-float v4, v4 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getHeight()I move-result v5 neg-int v5, v5 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingBottom()I move-result v6 add-int/2addr v5, v6 int-to-float v5, v5 invoke-virtual {p1, v4, v5}, Landroid/graphics/Canvas;->translate(FF)V goto :goto_7 .line 4469 :cond_a invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I move-result v4 neg-int v4, v4 int-to-float v4, v4 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getHeight()I move-result v5 neg-int v5, v5 int-to-float v5, v5 invoke-virtual {p1, v4, v5}, Landroid/graphics/Canvas;->translate(FF)V .line 4471 :goto_7 iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; if-eqz v4, :cond_b invoke-virtual {v4, p1}, Landroid/widget/EdgeEffect;->draw(Landroid/graphics/Canvas;)Z move-result v4 if-eqz v4, :cond_b move v1, v2 :cond_b or-int/2addr v3, v1 .line 4472 invoke-virtual {p1, v0}, Landroid/graphics/Canvas;->restoreToCount(I)V :cond_c if-nez v3, :cond_d .line 4478 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; if-eqz p1, :cond_d iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; invoke-virtual {p1}, Ljava/util/ArrayList;->size()I move-result p1 if-lez p1, :cond_d iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; .line 4479 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 4484 :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 5030 invoke-super {p0, p1, p2, p3, p4}, Landroid/view/ViewGroup;->drawChild(Landroid/graphics/Canvas;Landroid/view/View;J)Z move-result p1 return p1 .end method .method ensureBottomGlow()V .locals 4 .line 2673 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; if-eqz v0, :cond_0 return-void .line 2676 :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory; const/4 v1, 0x3 invoke-virtual {v0, p0, v1}, Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;->createEdgeEffect(Landroidx/recyclerview/widget/RecyclerView;I)Landroid/widget/EdgeEffect; move-result-object v0 iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; .line 2677 iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z if-eqz v1, :cond_1 .line 2678 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredWidth()I move-result v1 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingLeft()I move-result v2 sub-int/2addr v1, v2 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingRight()I move-result v2 sub-int/2addr v1, v2 .line 2679 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredHeight()I move-result v2 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingTop()I move-result v3 sub-int/2addr v2, v3 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingBottom()I move-result v3 sub-int/2addr v2, v3 .line 2678 invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V goto :goto_0 .line 2681 :cond_1 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredWidth()I move-result v1 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredHeight()I move-result v2 invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V :goto_0 return-void .end method .method ensureLeftGlow()V .locals 4 .line 2633 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; if-eqz v0, :cond_0 return-void .line 2636 :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory; const/4 v1, 0x0 invoke-virtual {v0, p0, v1}, Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;->createEdgeEffect(Landroidx/recyclerview/widget/RecyclerView;I)Landroid/widget/EdgeEffect; move-result-object v0 iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; .line 2637 iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z if-eqz v1, :cond_1 .line 2638 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredHeight()I move-result v1 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingTop()I move-result v2 sub-int/2addr v1, v2 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingBottom()I move-result v2 sub-int/2addr v1, v2 .line 2639 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredWidth()I move-result v2 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingLeft()I move-result v3 sub-int/2addr v2, v3 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingRight()I move-result v3 sub-int/2addr v2, v3 .line 2638 invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V goto :goto_0 .line 2641 :cond_1 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredHeight()I move-result v1 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredWidth()I move-result v2 invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V :goto_0 return-void .end method .method ensureRightGlow()V .locals 4 .line 2646 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; if-eqz v0, :cond_0 return-void .line 2649 :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory; const/4 v1, 0x2 invoke-virtual {v0, p0, v1}, Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;->createEdgeEffect(Landroidx/recyclerview/widget/RecyclerView;I)Landroid/widget/EdgeEffect; move-result-object v0 iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; .line 2650 iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z if-eqz v1, :cond_1 .line 2651 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredHeight()I move-result v1 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingTop()I move-result v2 sub-int/2addr v1, v2 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingBottom()I move-result v2 sub-int/2addr v1, v2 .line 2652 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredWidth()I move-result v2 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingLeft()I move-result v3 sub-int/2addr v2, v3 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingRight()I move-result v3 sub-int/2addr v2, v3 .line 2651 invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V goto :goto_0 .line 2654 :cond_1 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredHeight()I move-result v1 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredWidth()I move-result v2 invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V :goto_0 return-void .end method .method ensureTopGlow()V .locals 4 .line 2659 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; if-eqz v0, :cond_0 return-void .line 2662 :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory; const/4 v1, 0x1 invoke-virtual {v0, p0, v1}, Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;->createEdgeEffect(Landroidx/recyclerview/widget/RecyclerView;I)Landroid/widget/EdgeEffect; move-result-object v0 iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; .line 2663 iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z if-eqz v1, :cond_1 .line 2664 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredWidth()I move-result v1 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingLeft()I move-result v2 sub-int/2addr v1, v2 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingRight()I move-result v2 sub-int/2addr v1, v2 .line 2665 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredHeight()I move-result v2 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingTop()I move-result v3 sub-int/2addr v2, v3 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingBottom()I move-result v3 sub-int/2addr v2, v3 .line 2664 invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V goto :goto_0 .line 2667 :cond_1 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredWidth()I move-result v1 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredHeight()I move-result v2 invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V :goto_0 return-void .end method .method exceptionLabel()Ljava/lang/String; .locals 2 .line 733 new-instance v0, Ljava/lang/StringBuilder; const-string v1, " " invoke-direct {v0, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-super {p0}, Landroid/view/ViewGroup;->toString()Ljava/lang/String; move-result-object v1 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v0 const-string v1, ", adapter:" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v0 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object v0 const-string v1, ", layout:" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v0 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object v0 const-string v1, ", context:" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v0 .line 736 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getContext()Landroid/content/Context; move-result-object v1 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object v0 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 return-object v0 .end method .method final fillRemainingScrollValues(Landroidx/recyclerview/widget/RecyclerView$State;)V .locals 3 .line 4015 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollState()I move-result v0 const/4 v1, 0x2 if-ne v0, v1, :cond_0 .line 4016 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$ViewFlinger; iget-object v0, v0, Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;->mOverScroller:Landroid/widget/OverScroller; .line 4017 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 4018 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 4020 iput v0, p1, Landroidx/recyclerview/widget/RecyclerView$State;->mRemainingScrollHorizontal:I .line 4021 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 .line 5013 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I move-result v0 add-int/lit8 v0, v0, -0x1 :goto_0 if-ltz v0, :cond_1 .line 5015 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v1, v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View; move-result-object v1 .line 5016 invoke-virtual {v1}, Landroid/view/View;->getTranslationX()F move-result v2 .line 5017 invoke-virtual {v1}, Landroid/view/View;->getTranslationY()F move-result v3 .line 5018 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 5019 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 5020 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 5021 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 .line 4792 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 4793 instance-of v1, v0, Landroid/view/View; if-eqz v1, :cond_0 .line 4794 move-object p1, v0 check-cast p1, Landroid/view/View; .line 4795 invoke-virtual {p1}, Landroid/view/View;->getParent()Landroid/view/ViewParent; move-result-object v0 goto :goto_0 :cond_0 if-ne v0, p0, :cond_1 goto :goto_1 :cond_1 const/4 p1, 0x0 :goto_1 return-object p1 .end method .method public findContainingViewHolder(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; .locals 0 .line 4810 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 4811 :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 .line 4924 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z const/4 v1, 0x0 if-eqz v0, :cond_0 return-object v1 .line 4927 :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I move-result v0 const/4 v2, 0x0 :goto_0 if-ge v2, v0, :cond_3 .line 4931 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View; move-result-object v3 invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v3 if-eqz v3, :cond_2 .line 4932 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isRemoved()Z move-result v4 if-nez v4, :cond_2 .line 4933 invoke-virtual {p0, v3}, Landroidx/recyclerview/widget/RecyclerView;->getAdapterPositionFor(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)I move-result v4 if-ne v4, p1, :cond_2 .line 4934 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; iget-object v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; invoke-virtual {v1, v4}, Landroidx/recyclerview/widget/ChildHelper;->isHidden(Landroid/view/View;)Z move-result v1 if-eqz v1, :cond_1 move-object v1, v3 goto :goto_1 :cond_1 return-object v3 :cond_2 :goto_1 add-int/lit8 v2, v2, 0x1 goto :goto_0 :cond_3 return-object v1 .end method .method public findViewHolderForItemId(J)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; .locals 6 .line 4986 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; const/4 v1, 0x0 if-eqz v0, :cond_3 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z move-result v0 if-nez v0, :cond_0 goto :goto_2 .line 4989 :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I move-result v0 const/4 v2, 0x0 :goto_0 if-ge v2, v0, :cond_3 .line 4992 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View; move-result-object v3 invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v3 if-eqz v3, :cond_2 .line 4993 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 .line 4994 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; iget-object v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; invoke-virtual {v1, v4}, Landroidx/recyclerview/widget/ChildHelper;->isHidden(Landroid/view/View;)Z move-result v1 if-eqz v1, :cond_1 move-object v1, v3 goto :goto_1 :cond_1 return-object v3 :cond_2 :goto_1 add-int/lit8 v2, v2, 0x1 goto :goto_0 :cond_3 :goto_2 return-object v1 .end method .method public findViewHolderForLayoutPosition(I)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; .locals 1 const/4 v0, 0x0 .line 4902 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 runtime Ljava/lang/Deprecated; .end annotation const/4 v0, 0x0 .line 4878 invoke-virtual {p0, p1, v0}, Landroidx/recyclerview/widget/RecyclerView;->findViewHolderForPosition(IZ)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object p1 return-object p1 .end method .method findViewHolderForPosition(IZ)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; .locals 5 .line 4946 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I move-result v0 const/4 v1, 0x0 const/4 v2, 0x0 :goto_0 if-ge v2, v0, :cond_4 .line 4949 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View; move-result-object v3 invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v3 if-eqz v3, :cond_3 .line 4950 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isRemoved()Z move-result v4 if-nez v4, :cond_3 if-eqz p2, :cond_0 .line 4952 iget v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I if-eq v4, p1, :cond_1 goto :goto_1 .line 4955 :cond_0 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getLayoutPosition()I move-result v4 if-eq v4, p1, :cond_1 goto :goto_1 .line 4958 :cond_1 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; iget-object v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; invoke-virtual {v1, v4}, Landroidx/recyclerview/widget/ChildHelper;->isHidden(Landroid/view/View;)Z move-result v1 if-eqz v1, :cond_2 move-object v1, v3 goto :goto_1 :cond_2 return-object v3 :cond_3 :goto_1 add-int/lit8 v2, v2, 0x1 goto :goto_0 :cond_4 return-object v1 .end method .method public fling(II)Z .locals 7 .line 2438 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; const/4 v1, 0x0 if-nez v0, :cond_0 .line 2439 const-string p1, "RecyclerView" const-string p2, "Cannot fling without a LayoutManager set. Call setLayoutManager with a non-null argument." invoke-static {p1, p2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I return v1 .line 2443 :cond_0 iget-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z if-eqz v2, :cond_1 return v1 .line 2447 :cond_1 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z move-result v0 .line 2448 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z move-result v2 if-eqz v0, :cond_2 .line 2450 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 2453 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 2461 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 2463 :goto_1 invoke-virtual {p0, v3, v4, v6}, Landroidx/recyclerview/widget/RecyclerView;->dispatchNestedFling(FFZ)Z .line 2465 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnFlingListener:Landroidx/recyclerview/widget/RecyclerView$OnFlingListener; if-eqz v3, :cond_9 invoke-virtual {v3, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$OnFlingListener;->onFling(II)Z move-result v3 if-eqz v3, :cond_9 return v5 :cond_9 if-eqz v6, :cond_b if-eqz v2, :cond_a or-int/lit8 v0, v0, 0x2 .line 2477 :cond_a invoke-virtual {p0, v0, v5}, Landroidx/recyclerview/widget/RecyclerView;->startNestedScroll(II)Z .line 2479 iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMaxFlingVelocity:I neg-int v1, v0 invoke-static {p1, v0}, Ljava/lang/Math;->min(II)I move-result p1 invoke-static {v1, p1}, Ljava/lang/Math;->max(II)I move-result p1 .line 2480 iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMaxFlingVelocity:I neg-int v1, v0 invoke-static {p2, v0}, Ljava/lang/Math;->min(II)I move-result p2 invoke-static {v1, p2}, Ljava/lang/Math;->max(II)I move-result p2 .line 2481 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$ViewFlinger; invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;->fling(II)V return v5 :cond_b return v1 .end method .method public focusSearch(Landroid/view/View;I)Landroid/view/View; .locals 8 .line 2748 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onInterceptFocusSearch(Landroid/view/View;I)Landroid/view/View; move-result-object v0 if-eqz v0, :cond_0 return-object v0 .line 2752 :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 2753 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 2755 :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 .line 2761 :cond_2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z move-result v0 if-eqz v0, :cond_5 if-ne p2, v5, :cond_3 const/16 v0, 0x82 goto :goto_1 :cond_3 const/16 v0, 0x21 .line 2764 :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 .line 2766 :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 .line 2771 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z move-result v0 if-eqz v0, :cond_c .line 2772 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->getLayoutDirection()I move-result v0 if-ne v0, v1, :cond_7 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 2775 :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 .line 2777 :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 2783 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->consumePendingUpdateOperations()V .line 2784 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 2789 :cond_d invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V .line 2790 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {v0, p1, p2, v1, v5}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onFocusSearchFailed(Landroid/view/View;ILandroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)Landroid/view/View; .line 2791 invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V .line 2793 :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 2795 :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 2797 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->consumePendingUpdateOperations()V .line 2798 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 2803 :cond_10 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V .line 2804 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {v0, p1, p2, v1, v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onFocusSearchFailed(Landroid/view/View;ILandroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)Landroid/view/View; move-result-object v0 .line 2805 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 2808 invoke-virtual {v0}, Landroid/view/View;->hasFocusable()Z move-result v1 if-nez v1, :cond_13 .line 2809 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getFocusedChild()Landroid/view/View; move-result-object v1 if-nez v1, :cond_12 .line 2812 invoke-super {p0, p1, p2}, Landroid/view/ViewGroup;->focusSearch(Landroid/view/View;I)Landroid/view/View; move-result-object p1 return-object p1 .line 2818 :cond_12 invoke-direct {p0, v0, v4}, Landroidx/recyclerview/widget/RecyclerView;->requestChildOnScreen(Landroid/view/View;Landroid/view/View;)V return-object p1 .line 2821 :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 2822 :cond_14 invoke-super {p0, p1, p2}, Landroid/view/ViewGroup;->focusSearch(Landroid/view/View;I)Landroid/view/View; move-result-object v0 :goto_9 return-object v0 .end method .method protected generateDefaultLayoutParams()Landroid/view/ViewGroup$LayoutParams; .locals 3 .line 4505 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz v0, :cond_0 .line 4508 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->generateDefaultLayoutParams()Landroidx/recyclerview/widget/RecyclerView$LayoutParams; move-result-object v0 return-object v0 .line 4506 :cond_0 new-instance v0, Ljava/lang/IllegalStateException; new-instance v1, Ljava/lang/StringBuilder; const-string v2, "RecyclerView has no LayoutManager" invoke-direct {v1, v2}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String; move-result-object v2 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 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 .line 4513 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz v0, :cond_0 .line 4516 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getContext()Landroid/content/Context; move-result-object v1 invoke-virtual {v0, v1, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->generateLayoutParams(Landroid/content/Context;Landroid/util/AttributeSet;)Landroidx/recyclerview/widget/RecyclerView$LayoutParams; move-result-object p1 return-object p1 .line 4514 :cond_0 new-instance p1, Ljava/lang/IllegalStateException; new-instance v0, Ljava/lang/StringBuilder; const-string v1, "RecyclerView has no LayoutManager" invoke-direct {v0, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String; move-result-object v1 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v0 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw p1 .end method .method protected generateLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Landroid/view/ViewGroup$LayoutParams; .locals 2 .line 4521 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz v0, :cond_0 .line 4524 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 4522 :cond_0 new-instance p1, Ljava/lang/IllegalStateException; new-instance v0, Ljava/lang/StringBuilder; const-string v1, "RecyclerView has no LayoutManager" invoke-direct {v0, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String; move-result-object v1 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v0 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 .line 774 const-string v0, "androidx.recyclerview.widget.RecyclerView" return-object v0 .end method .method public getAdapter()Landroidx/recyclerview/widget/RecyclerView$Adapter; .locals 1 .line 1226 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; return-object v0 .end method .method getAdapterPositionFor(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)I .locals 1 const/16 v0, 0x20c .line 11497 invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->hasAnyOfTheFlags(I)Z move-result v0 if-nez v0, :cond_1 .line 11499 invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isBound()Z move-result v0 if-nez v0, :cond_0 goto :goto_0 .line 11502 :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper; iget p1, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/AdapterHelper;->applyPendingUpdatesToPosition(I)I move-result p1 return p1 :cond_1 :goto_0 const/4 p1, -0x1 return p1 .end method .method public getBaseline()I .locals 1 .line 1253 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz v0, :cond_0 .line 1254 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->getBaseline()I move-result v0 return v0 .line 1256 :cond_0 invoke-super {p0}, Landroid/view/ViewGroup;->getBaseline()I move-result v0 return v0 .end method .method getChangedHolderKey(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)J .locals 2 .line 4358 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z move-result v0 if-eqz v0, :cond_0 invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getItemId()J move-result-wide v0 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 .line 4838 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 4839 invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getAdapterPosition()I move-result p1 goto :goto_0 :cond_0 const/4 p1, -0x1 :goto_0 return p1 .end method .method protected getChildDrawingOrder(II)I .locals 1 .line 13465 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildDrawingOrderCallback:Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback; if-nez v0, :cond_0 .line 13466 invoke-super {p0, p1, p2}, Landroid/view/ViewGroup;->getChildDrawingOrder(II)I move-result p1 return p1 .line 13468 :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 .line 4864 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; const-wide/16 v1, -0x1 if-eqz v0, :cond_1 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z move-result v0 if-nez v0, :cond_0 goto :goto_0 .line 4867 :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 4868 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 .line 4853 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 4854 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 .annotation runtime Ljava/lang/Deprecated; .end annotation .line 4828 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 .line 4769 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 4771 :cond_0 new-instance v0, Ljava/lang/IllegalArgumentException; new-instance v1, Ljava/lang/StringBuilder; const-string v2, "View " invoke-direct {v1, v2}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object p1 const-string v1, " is not a direct child of " invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1}, 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 4774 :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 .line 1099 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z return v0 .end method .method public getCompatAccessibilityDelegate()Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate; .locals 1 .line 759 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 .line 5092 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 .line 2713 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 .line 3756 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; return-object v0 .end method .method getItemDecorInsetsForChild(Landroid/view/View;)Landroid/graphics/Rect; .locals 8 .line 5105 invoke-virtual {p1}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams; move-result-object v0 check-cast v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams; .line 5106 iget-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mInsetsDirty:Z if-nez v1, :cond_0 .line 5107 iget-object p1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mDecorInsets:Landroid/graphics/Rect; return-object p1 .line 5110 :cond_0 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$State;->isPreLayout()Z move-result v1 if-eqz v1, :cond_2 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->isItemChanged()Z move-result v1 if-nez v1, :cond_1 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->isViewInvalid()Z move-result v1 if-eqz v1, :cond_2 .line 5112 :cond_1 iget-object p1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mDecorInsets:Landroid/graphics/Rect; return-object p1 .line 5114 :cond_2 iget-object v1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mDecorInsets:Landroid/graphics/Rect; const/4 v2, 0x0 .line 5115 invoke-virtual {v1, v2, v2, v2, v2}, Landroid/graphics/Rect;->set(IIII)V .line 5116 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; invoke-virtual {v3}, Ljava/util/ArrayList;->size()I move-result v3 move v4, v2 :goto_0 if-ge v4, v3, :cond_3 .line 5118 iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; invoke-virtual {v5, v2, v2, v2, v2}, Landroid/graphics/Rect;->set(IIII)V .line 5119 iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; invoke-virtual {v5, v4}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v5 check-cast v5, Landroidx/recyclerview/widget/RecyclerView$ItemDecoration; iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {v5, v6, p1, p0, v7}, Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;->getItemOffsets(Landroid/graphics/Rect;Landroid/view/View;Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$State;)V .line 5120 iget v5, v1, Landroid/graphics/Rect;->left:I iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; iget v6, v6, Landroid/graphics/Rect;->left:I add-int/2addr v5, v6 iput v5, v1, Landroid/graphics/Rect;->left:I .line 5121 iget v5, v1, Landroid/graphics/Rect;->top:I iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; iget v6, v6, Landroid/graphics/Rect;->top:I add-int/2addr v5, v6 iput v5, v1, Landroid/graphics/Rect;->top:I .line 5122 iget v5, v1, Landroid/graphics/Rect;->right:I iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; iget v6, v6, Landroid/graphics/Rect;->right:I add-int/2addr v5, v6 iput v5, v1, Landroid/graphics/Rect;->right:I .line 5123 iget v5, v1, Landroid/graphics/Rect;->bottom:I iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; iget v6, v6, Landroid/graphics/Rect;->bottom:I add-int/2addr v5, v6 iput v5, v1, Landroid/graphics/Rect;->bottom:I add-int/lit8 v4, v4, 0x1 goto :goto_0 .line 5125 :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 .line 1609 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getItemDecorationCount()I move-result v0 if-ltz p1, :cond_0 if-ge p1, v0, :cond_0 .line 1614 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; invoke-virtual {v0, p1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object p1 check-cast p1, Landroidx/recyclerview/widget/RecyclerView$ItemDecoration; return-object p1 .line 1611 :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; move-result-object p1 const-string v2, " is an invalid index for size " invoke-virtual {p1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 invoke-direct {v1, p1}, Ljava/lang/IndexOutOfBoundsException;->(Ljava/lang/String;)V throw v1 .end method .method public getItemDecorationCount()I .locals 1 .line 1623 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; invoke-virtual {v0}, Ljava/util/ArrayList;->size()I move-result v0 return v0 .end method .method public getLayoutManager()Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .locals 1 .line 1474 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 .line 2523 iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMaxFlingVelocity:I return v0 .end method .method public getMinFlingVelocity()I .locals 1 .line 2513 iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinFlingVelocity:I return v0 .end method .method getNanoTime()J .locals 2 .line 5876 sget-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->ALLOW_THREAD_GAP_WORK:Z if-eqz v0, :cond_0 .line 5877 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 .line 1375 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 .line 4741 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPreserveFocusAfterLayout:Z return v0 .end method .method public getRecycledViewPool()Landroidx/recyclerview/widget/RecyclerView$RecycledViewPool; .locals 1 .line 1487 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->getRecycledViewPool()Landroidx/recyclerview/widget/RecyclerView$RecycledViewPool; move-result-object v0 return-object v0 .end method .method public getScrollState()I .locals 1 .line 1535 iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I return v0 .end method .method public hasFixedSize()Z .locals 1 .line 1070 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mHasFixedSize:Z return v0 .end method .method public hasNestedScrollingParent()Z .locals 1 .line 11558 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 11563 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 .line 5229 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 5230 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 initAdapterManager()V .locals 2 .line 968 new-instance v0, Landroidx/recyclerview/widget/AdapterHelper; new-instance v1, Landroidx/recyclerview/widget/RecyclerView$6; invoke-direct {v1, p0}, Landroidx/recyclerview/widget/RecyclerView$6;->(Landroidx/recyclerview/widget/RecyclerView;)V invoke-direct {v0, v1}, Landroidx/recyclerview/widget/AdapterHelper;->(Landroidx/recyclerview/widget/AdapterHelper$Callback;)V iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper; return-void .end method .method initFastScroller(Landroid/graphics/drawable/StateListDrawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/StateListDrawable;Landroid/graphics/drawable/Drawable;)V .locals 10 if-eqz p1, :cond_0 if-eqz p2, :cond_0 if-eqz p3, :cond_0 if-eqz p4, :cond_0 .line 11516 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getContext()Landroid/content/Context; move-result-object v0 invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources; move-result-object v0 .line 11517 new-instance v1, Landroidx/recyclerview/widget/FastScroller; sget v2, Landroidx/recyclerview/R$dimen;->fastscroll_default_thickness:I .line 11519 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 11520 invoke-virtual {v0, v2}, Landroid/content/res/Resources;->getDimensionPixelSize(I)I move-result v8 sget v2, Landroidx/recyclerview/R$dimen;->fastscroll_margin:I .line 11521 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 11511 :cond_0 new-instance p1, Ljava/lang/IllegalArgumentException; new-instance p2, Ljava/lang/StringBuilder; const-string p3, "Trying to set fast scroller without both required drawables." invoke-direct {p2, p3}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V .line 11513 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; move-result-object p2 invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p2 invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p1 .end method .method invalidateGlows()V .locals 1 const/4 v0, 0x0 .line 2686 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 .line 4718 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; invoke-virtual {v0}, Ljava/util/ArrayList;->size()I move-result v0 if-nez v0, :cond_0 return-void .line 4721 :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz v0, :cond_1 .line 4722 const-string v1, "Cannot invalidate item decorations during a scroll or layout" invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->assertNotInLayoutOrScroll(Ljava/lang/String;)V .line 4725 :cond_1 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->markItemDecorInsetsDirty()V .line 4726 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V return-void .end method .method isAccessibilityEnabled()Z .locals 1 .line 3671 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAccessibilityManager:Landroid/view/accessibility/AccessibilityManager; if-eqz v0, :cond_0 invoke-virtual {v0}, Landroid/view/accessibility/AccessibilityManager;->isEnabled()Z move-result v0 if-eqz v0, :cond_0 const/4 v0, 0x1 goto :goto_0 :cond_0 const/4 v0, 0x0 :goto_0 return v0 .end method .method public isAnimating()Z .locals 1 .line 4536 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; if-eqz v0, :cond_0 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->isRunning()Z move-result v0 if-eqz v0, :cond_0 const/4 v0, 0x1 goto :goto_0 :cond_0 const/4 v0, 0x0 :goto_0 return v0 .end method .method public isAttachedToWindow()Z .locals 1 .line 3019 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mIsAttached:Z return v0 .end method .method public isComputingLayout()Z .locals 1 .line 3705 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 2281 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isLayoutSuppressed()Z move-result v0 return v0 .end method .method public final isLayoutSuppressed()Z .locals 1 .line 2242 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z return v0 .end method .method public isNestedScrollingEnabled()Z .locals 1 .line 11533 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper; move-result-object v0 invoke-virtual {v0}, Landroidx/core/view/NestedScrollingChildHelper;->isNestedScrollingEnabled()Z move-result v0 return v0 .end method .method jumpToPositionForSmoothScroller(I)V .locals 1 .line 1755 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 1761 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V .line 1762 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->scrollToPosition(I)V .line 1763 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->awakenScrollBars()Z return-void .end method .method markItemDecorInsetsDirty()V .locals 4 .line 4419 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I move-result v0 const/4 v1, 0x0 :goto_0 if-ge v1, v0, :cond_0 .line 4421 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View; move-result-object v2 .line 4422 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 .line 4424 :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->markItemDecorInsetsDirty()V return-void .end method .method markKnownViewsInvalid()V .locals 4 .line 4702 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I move-result v0 const/4 v1, 0x0 :goto_0 if-ge v1, v0, :cond_1 .line 4704 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View; move-result-object v2 invoke-static {v2}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v2 if-eqz v2, :cond_0 .line 4705 invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z move-result v3 if-nez v3, :cond_0 const/4 v3, 0x6 .line 4706 invoke-virtual {v2, v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->addFlags(I)V :cond_0 add-int/lit8 v1, v1, 0x1 goto :goto_0 .line 4709 :cond_1 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->markItemDecorInsetsDirty()V .line 4710 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->markKnownViewsInvalid()V return-void .end method .method public offsetChildrenHorizontal(I)V .locals 3 .line 5078 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I move-result v0 const/4 v1, 0x0 :goto_0 if-ge v1, v0, :cond_0 .line 5080 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View; move-result-object v2 invoke-virtual {v2, p1}, Landroid/view/View;->offsetLeftAndRight(I)V add-int/lit8 v1, v1, 0x1 goto :goto_0 :cond_0 return-void .end method .method public offsetChildrenVertical(I)V .locals 3 .line 5040 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I move-result v0 const/4 v1, 0x0 :goto_0 if-ge v1, v0, :cond_0 .line 5042 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View; move-result-object v2 invoke-virtual {v2, p1}, Landroid/view/View;->offsetTopAndBottom(I)V add-int/lit8 v1, v1, 0x1 goto :goto_0 :cond_0 return-void .end method .method offsetPositionRecordsForInsert(II)V .locals 5 .line 4599 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I move-result v0 const/4 v1, 0x0 move v2, v1 :goto_0 if-ge v2, v0, :cond_1 .line 4601 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View; move-result-object v3 invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v3 if-eqz v3, :cond_0 .line 4602 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 4607 invoke-virtual {v3, p2, v1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->offsetPosition(IZ)V .line 4608 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; const/4 v4, 0x1 iput-boolean v4, v3, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z :cond_0 add-int/lit8 v2, v2, 0x1 goto :goto_0 .line 4611 :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->offsetPositionRecordsForInsert(II)V .line 4612 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V return-void .end method .method offsetPositionRecordsForMove(II)V .locals 9 .line 4565 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I move-result v0 const/4 v1, 0x1 if-ge p1, p2, :cond_0 const/4 v2, -0x1 move 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 .line 4578 iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v7, v6}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View; move-result-object v7 invoke-static {v7}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v7 if-eqz v7, :cond_3 .line 4579 iget v8, v7, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I if-lt v8, v3, :cond_3 iget v8, v7, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I if-le v8, v4, :cond_1 goto :goto_3 .line 4586 :cond_1 iget v8, v7, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I if-ne v8, p1, :cond_2 sub-int v8, p2, p1 .line 4587 invoke-virtual {v7, v8, v5}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->offsetPosition(IZ)V goto :goto_2 .line 4589 :cond_2 invoke-virtual {v7, v2, v5}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->offsetPosition(IZ)V .line 4592 :goto_2 iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iput-boolean v1, v7, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z :cond_3 :goto_3 add-int/lit8 v6, v6, 0x1 goto :goto_1 .line 4594 :cond_4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->offsetPositionRecordsForMove(II)V .line 4595 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V return-void .end method .method offsetPositionRecordsForRemove(IIZ)V .locals 7 add-int v0, p1, p2 .line 4618 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v1}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I move-result v1 const/4 v2, 0x0 :goto_0 if-ge v2, v1, :cond_2 .line 4620 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View; move-result-object v3 invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v3 if-eqz v3, :cond_1 .line 4621 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z move-result v4 if-nez v4, :cond_1 .line 4622 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 4628 invoke-virtual {v3, v4, p3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->offsetPosition(IZ)V .line 4629 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iput-boolean v5, v3, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z goto :goto_1 .line 4630 :cond_0 iget v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I if-lt v4, p1, :cond_1 add-int/lit8 v4, p1, -0x1 neg-int v6, p2 .line 4635 invoke-virtual {v3, v4, v6, p3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->flagRemovedAndOffsetPosition(IIZ)V .line 4637 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iput-boolean v5, v3, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z :cond_1 :goto_1 add-int/lit8 v2, v2, 0x1 goto :goto_0 .line 4641 :cond_2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; invoke-virtual {v0, p1, p2, p3}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->offsetPositionRecordsForRemove(IIZ)V .line 4642 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V return-void .end method .method protected onAttachedToWindow()V .locals 4 .line 2960 invoke-super {p0}, Landroid/view/ViewGroup;->onAttachedToWindow()V const/4 v0, 0x0 .line 2961 iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I const/4 v1, 0x1 .line 2962 iput-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mIsAttached:Z .line 2963 iget-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z if-eqz v2, :cond_0 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isLayoutRequested()Z move-result v2 if-nez v2, :cond_0 goto :goto_0 :cond_0 move v1, v0 :goto_0 iput-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z .line 2964 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz v1, :cond_1 .line 2965 invoke-virtual {v1, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->dispatchAttachedToWindow(Landroidx/recyclerview/widget/RecyclerView;)V .line 2967 :cond_1 iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPostedAnimatorRunner:Z .line 2969 sget-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->ALLOW_THREAD_GAP_WORK:Z if-eqz v0, :cond_4 .line 2971 sget-object v0, Landroidx/recyclerview/widget/GapWorker;->sGapWorker:Ljava/lang/ThreadLocal; invoke-virtual {v0}, Ljava/lang/ThreadLocal;->get()Ljava/lang/Object; move-result-object v0 check-cast v0, Landroidx/recyclerview/widget/GapWorker; iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/GapWorker; if-nez v0, :cond_3 .line 2973 new-instance v0, Landroidx/recyclerview/widget/GapWorker; invoke-direct {v0}, Landroidx/recyclerview/widget/GapWorker;->()V iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/GapWorker; .line 2977 invoke-static {p0}, Landroidx/core/view/ViewCompat;->getDisplay(Landroid/view/View;)Landroid/view/Display; move-result-object v0 .line 2979 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isInEditMode()Z move-result v1 if-nez v1, :cond_2 if-eqz v0, :cond_2 .line 2980 invoke-virtual {v0}, Landroid/view/Display;->getRefreshRate()F move-result v0 const/high16 v1, 0x41f00000 # 30.0f cmpl-float v1, v0, v1 if-ltz v1, :cond_2 goto :goto_1 :cond_2 const/high16 v0, 0x42700000 # 60.0f .line 2985 :goto_1 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/GapWorker; const v2, 0x4e6e6b28 # 1.0E9f div-float/2addr v2, v0 float-to-long v2, v2 iput-wide v2, v1, Landroidx/recyclerview/widget/GapWorker;->mFrameIntervalNs:J .line 2986 sget-object v0, Landroidx/recyclerview/widget/GapWorker;->sGapWorker:Ljava/lang/ThreadLocal; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/GapWorker; invoke-virtual {v0, v1}, Ljava/lang/ThreadLocal;->set(Ljava/lang/Object;)V .line 2988 :cond_3 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/GapWorker; invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/GapWorker;->add(Landroidx/recyclerview/widget/RecyclerView;)V :cond_4 return-void .end method .method public onChildAttachedToWindow(Landroid/view/View;)V .locals 0 return-void .end method .method public onChildDetachedFromWindow(Landroid/view/View;)V .locals 0 return-void .end method .method protected onDetachedFromWindow()V .locals 2 .line 2994 invoke-super {p0}, Landroid/view/ViewGroup;->onDetachedFromWindow()V .line 2995 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; if-eqz v0, :cond_0 .line 2996 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->endAnimations()V .line 2998 :cond_0 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->stopScroll()V const/4 v0, 0x0 .line 2999 iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mIsAttached:Z .line 3000 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz v0, :cond_1 .line 3001 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; invoke-virtual {v0, p0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->dispatchDetachedFromWindow(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$Recycler;)V .line 3003 :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingAccessibilityImportanceChange:Ljava/util/List; invoke-interface {v0}, Ljava/util/List;->clear()V .line 3004 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimatorRunner:Ljava/lang/Runnable; invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->removeCallbacks(Ljava/lang/Runnable;)Z .line 3005 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; invoke-virtual {v0}, Landroidx/recyclerview/widget/ViewInfoStore;->onDetach()V .line 3007 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 3009 invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/GapWorker;->remove(Landroidx/recyclerview/widget/RecyclerView;)V const/4 v0, 0x0 .line 3010 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 4490 invoke-super {p0, p1}, Landroid/view/ViewGroup;->onDraw(Landroid/graphics/Canvas;)V .line 4492 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; invoke-virtual {v0}, Ljava/util/ArrayList;->size()I move-result v0 const/4 v1, 0x0 :goto_0 if-ge v1, v0, :cond_0 .line 4494 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; invoke-virtual {v2, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v2 check-cast v2, Landroidx/recyclerview/widget/RecyclerView$ItemDecoration; iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {v2, p1, p0, v3}, Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;->onDraw(Landroid/graphics/Canvas;Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$State;)V add-int/lit8 v1, v1, 0x1 goto :goto_0 :cond_0 return-void .end method .method onEnterLayoutOrScroll()V .locals 1 .line 3648 iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I add-int/lit8 v0, v0, 0x1 iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I return-void .end method .method onExitLayoutOrScroll()V .locals 1 const/4 v0, 0x1 .line 3652 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll(Z)V return-void .end method .method onExitLayoutOrScroll(Z)V .locals 2 .line 3656 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 .line 3662 iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I if-eqz p1, :cond_0 .line 3664 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchContentChangedIfNecessary()V .line 3665 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchPendingImportantForAccessibilityChanges()V :cond_0 return-void .end method .method public onGenericMotionEvent(Landroid/view/MotionEvent;)Z .locals 5 .line 3460 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 3463 :cond_0 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z if-eqz v0, :cond_1 return v1 .line 3466 :cond_1 invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I move-result v0 const/16 v2, 0x8 if-ne v0, v2, :cond_8 .line 3468 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 .line 3469 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z move-result v0 if-eqz v0, :cond_2 const/16 v0, 0x9 .line 3472 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 .line 3476 :goto_0 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z move-result v3 if-eqz v3, :cond_3 const/16 v3, 0xa .line 3477 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 3481 :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 3482 invoke-virtual {p1, v0}, Landroid/view/MotionEvent;->getAxisValue(I)F move-result v0 .line 3483 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z move-result v3 if-eqz v3, :cond_5 neg-float v0, v0 goto :goto_1 .line 3488 :cond_5 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z move-result v3 if-eqz v3, :cond_6 move v3, v0 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 .line 3501 :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 invoke-virtual {p0, v2, v0, p1}, Landroidx/recyclerview/widget/RecyclerView;->scrollByInternal(IILandroid/view/MotionEvent;)Z :cond_8 return v1 .end method .method public onInterceptTouchEvent(Landroid/view/MotionEvent;)Z .locals 8 .line 3161 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 .line 3169 iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptingOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener; .line 3170 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 3171 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->cancelScroll()V return v2 .line 3175 :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-nez v0, :cond_2 return v1 .line 3179 :cond_2 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z move-result v0 .line 3180 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z move-result v3 .line 3182 iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker; if-nez v4, :cond_3 .line 3183 invoke-static {}, Landroid/view/VelocityTracker;->obtain()Landroid/view/VelocityTracker; move-result-object v4 iput-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker; .line 3185 :cond_3 iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker; invoke-virtual {v4, p1}, Landroid/view/VelocityTracker;->addMovement(Landroid/view/MotionEvent;)V .line 3187 invoke-virtual {p1}, Landroid/view/MotionEvent;->getActionMasked()I move-result v4 .line 3188 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 3253 :cond_4 invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->onPointerUp(Landroid/view/MotionEvent;)V goto/16 :goto_2 .line 3219 :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 3220 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 3221 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 3262 :cond_6 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->cancelScroll()V goto/16 :goto_2 .line 3225 :cond_7 iget v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I invoke-virtual {p1, v4}, Landroid/view/MotionEvent;->findPointerIndex(I)I move-result v4 if-gez v4, :cond_8 .line 3227 new-instance p1, Ljava/lang/StringBuilder; const-string v0, "Error processing scroll; pointer index for id " invoke-direct {p1, v0}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object p1 const-string v0, " not found. Did any MotionEvents get skipped?" invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 const-string v0, "RecyclerView" invoke-static {v0, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I return v1 .line 3232 :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 3233 invoke-virtual {p1, v4}, Landroid/view/MotionEvent;->getY(I)F move-result p1 add-float/2addr p1, v7 float-to-int p1, p1 .line 3234 iget v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I if-eq v4, v2, :cond_10 .line 3235 iget v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchX:I sub-int v4, v5, v4 .line 3236 iget v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchY:I sub-int v6, p1, v6 if-eqz v0, :cond_9 .line 3238 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 .line 3239 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 3242 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 .line 3243 iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I goto :goto_1 :cond_a if-eqz v0, :cond_10 .line 3247 :goto_1 invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V goto :goto_2 .line 3257 :cond_b iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker; invoke-virtual {p1}, Landroid/view/VelocityTracker;->clear()V .line 3258 invoke-virtual {p0, v1}, Landroidx/recyclerview/widget/RecyclerView;->stopNestedScroll(I)V goto :goto_2 .line 3192 :cond_c iget-boolean v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mIgnoreMotionEventTillDown:Z if-eqz v4, :cond_d .line 3193 iput-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mIgnoreMotionEventTillDown:Z .line 3195 :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 3196 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 3197 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 .line 3199 iget p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I if-ne p1, v6, :cond_e .line 3200 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getParent()Landroid/view/ViewParent; move-result-object p1 invoke-interface {p1, v2}, Landroid/view/ViewParent;->requestDisallowInterceptTouchEvent(Z)V .line 3201 invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V .line 3202 invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopNestedScroll(I)V .line 3206 :cond_e iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I aput v1, p1, v2 aput v1, p1, v1 if-eqz v3, :cond_f or-int/lit8 v0, v0, 0x2 .line 3215 :cond_f invoke-virtual {p0, v0, v1}, Landroidx/recyclerview/widget/RecyclerView;->startNestedScroll(II)Z .line 3265 :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 protected onLayout(ZIIII)V .locals 0 .line 4403 const-string p1, "RV OnLayout" invoke-static {p1}, Landroidx/core/os/TraceCompat;->beginSection(Ljava/lang/String;)V .line 4404 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayout()V .line 4405 invoke-static {}, Landroidx/core/os/TraceCompat;->endSection()V const/4 p1, 0x1 .line 4406 iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z return-void .end method .method protected onMeasure(II)V .locals 6 .line 3510 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-nez v0, :cond_0 .line 3511 invoke-virtual {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->defaultOnMeasure(II)V return-void .line 3514 :cond_0 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->isAutoMeasureEnabled()Z move-result v0 const/4 v1, 0x1 if-eqz v0, :cond_4 .line 3515 invoke-static {p1}, Landroid/view/View$MeasureSpec;->getMode(I)I move-result v0 .line 3516 invoke-static {p2}, Landroid/view/View$MeasureSpec;->getMode(I)I move-result v2 .line 3525 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; iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {v3, v4, v5, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onMeasure(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;II)V const/high16 v3, 0x40000000 # 2.0f if-ne v0, v3, :cond_1 if-ne v2, v3, :cond_1 goto :goto_0 .line 3529 :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; if-nez v0, :cond_2 :goto_0 return-void .line 3533 :cond_2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iget v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mLayoutStep:I if-ne v0, v1, :cond_3 .line 3534 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep1()V .line 3538 :cond_3 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setMeasureSpecs(II)V .line 3539 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mIsMeasuring:Z .line 3540 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep2()V .line 3543 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setMeasuredDimensionFromChildren(II)V .line 3547 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->shouldMeasureTwice()Z move-result v0 if-eqz v0, :cond_a .line 3548 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 3549 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredWidth()I move-result v2 invoke-static {v2, v3}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I move-result v2 .line 3550 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredHeight()I move-result v4 invoke-static {v4, v3}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I move-result v3 .line 3548 invoke-virtual {v0, v2, v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setMeasureSpecs(II)V .line 3551 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mIsMeasuring:Z .line 3552 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep2()V .line 3554 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setMeasuredDimensionFromChildren(II)V goto :goto_4 .line 3557 :cond_4 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mHasFixedSize:Z if-eqz v0, :cond_5 .line 3558 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {v0, v1, v2, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onMeasure(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;II)V return-void .line 3562 :cond_5 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterUpdateDuringMeasure:Z const/4 v2, 0x0 if-eqz v0, :cond_7 .line 3563 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V .line 3564 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V .line 3565 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->processAdapterUpdatesAndSetAnimationFlags()V .line 3566 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V .line 3568 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iget-boolean v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunPredictiveAnimations:Z if-eqz v0, :cond_6 .line 3569 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mInPreLayout:Z goto :goto_1 .line 3572 :cond_6 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->consumeUpdatesInOnePass()V .line 3573 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mInPreLayout:Z .line 3575 :goto_1 iput-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterUpdateDuringMeasure:Z .line 3576 invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V goto :goto_2 .line 3577 :cond_7 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iget-boolean v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunPredictiveAnimations:Z if-eqz v0, :cond_8 .line 3583 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredWidth()I move-result p1 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredHeight()I move-result p2 invoke-virtual {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->setMeasuredDimension(II)V return-void .line 3587 :cond_8 :goto_2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; if-eqz v0, :cond_9 .line 3588 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->getItemCount()I move-result v0 iput v0, v1, Landroidx/recyclerview/widget/RecyclerView$State;->mItemCount:I goto :goto_3 .line 3590 :cond_9 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iput v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mItemCount:I .line 3592 :goto_3 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V .line 3593 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {v0, v1, v3, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onMeasure(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;II)V .line 3594 invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V .line 3595 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iput-boolean v2, p1, Landroidx/recyclerview/widget/RecyclerView$State;->mInPreLayout:Z :cond_a :goto_4 return-void .end method .method protected onRequestFocusInDescendants(ILandroid/graphics/Rect;)Z .locals 1 .line 2950 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isComputingLayout()Z move-result v0 if-eqz v0, :cond_0 const/4 p1, 0x0 return p1 .line 2955 :cond_0 invoke-super {p0, p1, p2}, Landroid/view/ViewGroup;->onRequestFocusInDescendants(ILandroid/graphics/Rect;)Z move-result p1 return p1 .end method .method protected onRestoreInstanceState(Landroid/os/Parcelable;)V .locals 1 .line 1394 instance-of v0, p1, Landroidx/recyclerview/widget/RecyclerView$SavedState; if-nez v0, :cond_0 .line 1395 invoke-super {p0, p1}, Landroid/view/ViewGroup;->onRestoreInstanceState(Landroid/os/Parcelable;)V return-void .line 1399 :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 1400 invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$SavedState;->getSuperState()Landroid/os/Parcelable; move-result-object p1 invoke-super {p0, p1}, Landroid/view/ViewGroup;->onRestoreInstanceState(Landroid/os/Parcelable;)V .line 1401 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz p1, :cond_1 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingSavedState:Landroidx/recyclerview/widget/RecyclerView$SavedState; iget-object p1, p1, Landroidx/recyclerview/widget/RecyclerView$SavedState;->mLayoutState:Landroid/os/Parcelable; if-eqz p1, :cond_1 .line 1402 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingSavedState:Landroidx/recyclerview/widget/RecyclerView$SavedState; iget-object v0, v0, Landroidx/recyclerview/widget/RecyclerView$SavedState;->mLayoutState:Landroid/os/Parcelable; invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onRestoreInstanceState(Landroid/os/Parcelable;)V :cond_1 return-void .end method .method protected onSaveInstanceState()Landroid/os/Parcelable; .locals 2 .line 1380 new-instance v0, Landroidx/recyclerview/widget/RecyclerView$SavedState; invoke-super {p0}, Landroid/view/ViewGroup;->onSaveInstanceState()Landroid/os/Parcelable; move-result-object v1 invoke-direct {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$SavedState;->(Landroid/os/Parcelable;)V .line 1381 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingSavedState:Landroidx/recyclerview/widget/RecyclerView$SavedState; if-eqz v1, :cond_0 .line 1382 invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$SavedState;->copyFrom(Landroidx/recyclerview/widget/RecyclerView$SavedState;)V goto :goto_0 .line 1383 :cond_0 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz v1, :cond_1 .line 1384 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 .line 1386 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 return-void .end method .method protected onSizeChanged(IIII)V .locals 0 .line 3618 invoke-super {p0, p1, p2, p3, p4}, Landroid/view/ViewGroup;->onSizeChanged(IIII)V if-ne p1, p3, :cond_0 if-eq p2, p4, :cond_1 .line 3620 :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 .line 3280 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_a .line 3283 :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 3284 invoke-direct/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->cancelScroll()V return v9 .line 3288 :cond_1 iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-nez v0, :cond_2 return v8 .line 3292 :cond_2 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z move-result v10 .line 3293 iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z move-result v11 .line 3295 iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker; if-nez v0, :cond_3 .line 3296 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 3300 :cond_3 invoke-virtual/range {p1 .. p1}, Landroid/view/MotionEvent;->getActionMasked()I move-result v0 .line 3301 invoke-virtual/range {p1 .. p1}, Landroid/view/MotionEvent;->getActionIndex()I move-result v1 if-nez v0, :cond_4 .line 3304 iget-object v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I aput v8, v2, v9 aput v8, v2, v8 .line 3306 :cond_4 invoke-static/range {p1 .. p1}, Landroid/view/MotionEvent;->obtain(Landroid/view/MotionEvent;)Landroid/view/MotionEvent; move-result-object v12 .line 3307 iget-object v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I 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_8 .line 3404 :cond_5 invoke-direct/range {p0 .. p1}, Landroidx/recyclerview/widget/RecyclerView;->onPointerUp(Landroid/view/MotionEvent;)V goto/16 :goto_8 .line 3326 :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 3327 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 3328 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_8 .line 3422 :cond_7 invoke-direct/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->cancelScroll()V goto/16 :goto_8 .line 3332 :cond_8 iget v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I invoke-virtual {v7, v0}, Landroid/view/MotionEvent;->findPointerIndex(I)I move-result v0 if-gez v0, :cond_9 .line 3334 new-instance v0, Ljava/lang/StringBuilder; const-string v1, "Error processing scroll; pointer index for id " invoke-direct {v0, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V iget v1, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object v0 const-string v1, " not found. Did any MotionEvents get skipped?" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v0 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 const-string v1, "RecyclerView" invoke-static {v1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I return v8 .line 3339 :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 3340 invoke-virtual {v7, v0}, Landroid/view/MotionEvent;->getY(I)F move-result v0 add-float/2addr v0, v2 float-to-int v14, v0 .line 3341 iget v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I sub-int/2addr v0, v13 .line 3342 iget v1, v6, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I sub-int/2addr v1, v14 .line 3344 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 .line 3348 iget v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I sub-int/2addr v0, v2 invoke-static {v8, v0}, Ljava/lang/Math;->max(II)I move-result v0 goto :goto_0 .line 3350 :cond_a iget v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I add-int/2addr v0, v2 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 .line 3358 iget v3, v6, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I sub-int/2addr v1, v3 invoke-static {v8, v1}, Ljava/lang/Math;->max(II)I move-result v1 goto :goto_2 .line 3360 :cond_c iget v3, v6, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I add-int/2addr v1, v3 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 3367 invoke-virtual {v6, v9}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V :cond_e move v15, v0 move/from16 v16, v1 .line 3371 iget v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I if-ne v0, v9, :cond_1e .line 3372 iget-object v3, v6, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I aput v8, v3, v8 .line 3373 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 .line 3374 :goto_4 iget-object v4, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I const/4 v5, 0x0 move-object/from16 v0, p0 invoke-virtual/range {v0 .. v5}, Landroidx/recyclerview/widget/RecyclerView;->dispatchNestedPreScroll(II[I[II)Z move-result v0 if-eqz v0, :cond_11 .line 3379 iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I aget v1, v0, v8 sub-int/2addr v15, v1 .line 3380 aget v0, v0, v9 sub-int v16, v16, v0 .line 3382 iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I aget v1, v0, v8 iget-object v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I aget v3, v2, v8 add-int/2addr v1, v3 aput v1, v0, v8 .line 3383 aget v1, v0, v9 aget v2, v2, v9 add-int/2addr v1, v2 aput v1, v0, v9 .line 3385 invoke-virtual/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->getParent()Landroid/view/ViewParent; move-result-object v0 invoke-interface {v0, v9}, Landroid/view/ViewParent;->requestDisallowInterceptTouchEvent(Z)V :cond_11 move/from16 v0, v16 .line 3388 iget-object v1, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I aget v2, v1, v8 sub-int/2addr v13, v2 iput v13, v6, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I .line 3389 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 v8, v0 .line 3391 :cond_13 invoke-virtual {v6, v1, v8, v7}, Landroidx/recyclerview/widget/RecyclerView;->scrollByInternal(IILandroid/view/MotionEvent;)Z move-result v1 if-eqz v1, :cond_14 .line 3395 invoke-virtual/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->getParent()Landroid/view/ViewParent; move-result-object v1 invoke-interface {v1, v9}, Landroid/view/ViewParent;->requestDisallowInterceptTouchEvent(Z)V .line 3397 :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 3398 :cond_15 invoke-virtual {v1, v6, v15, v0}, Landroidx/recyclerview/widget/GapWorker;->postFromTraversal(Landroidx/recyclerview/widget/RecyclerView;II)V goto :goto_8 .line 3408 :cond_16 iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker; invoke-virtual {v0, v12}, Landroid/view/VelocityTracker;->addMovement(Landroid/view/MotionEvent;)V .line 3410 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 invoke-virtual {v0, v2, v1}, Landroid/view/VelocityTracker;->computeCurrentVelocity(IF)V const/4 v0, 0x0 if-eqz v10, :cond_17 .line 3411 iget-object v1, v6, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker; iget v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I .line 3412 invoke-virtual {v1, v2}, Landroid/view/VelocityTracker;->getXVelocity(I)F move-result v1 neg-float v1, v1 goto :goto_6 :cond_17 move v1, v0 :goto_6 if-eqz v11, :cond_18 .line 3413 iget-object v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker; iget v3, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I .line 3414 invoke-virtual {v2, v3}, Landroid/view/VelocityTracker;->getYVelocity(I)F move-result v2 neg-float v2, v2 goto :goto_7 :cond_18 move v2, v0 :goto_7 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 3415 invoke-virtual {v6, v0, v1}, Landroidx/recyclerview/widget/RecyclerView;->fling(II)Z move-result v0 if-nez v0, :cond_1b .line 3416 :cond_1a invoke-virtual {v6, v8}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V .line 3418 :cond_1b invoke-direct/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->resetScroll()V goto :goto_9 .line 3311 :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 3312 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 3313 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 3322 :cond_1d invoke-virtual {v6, v10, v8}, Landroidx/recyclerview/widget/RecyclerView;->startNestedScroll(II)Z .line 3427 :cond_1e :goto_8 iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker; invoke-virtual {v0, v12}, Landroid/view/VelocityTracker;->addMovement(Landroid/view/MotionEvent;)V .line 3429 :goto_9 invoke-virtual {v12}, Landroid/view/MotionEvent;->recycle()V return v9 :cond_1f :goto_a return v8 .end method .method postAnimationRunner()V .locals 1 .line 3764 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 .line 3765 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimatorRunner:Ljava/lang/Runnable; invoke-static {p0, v0}, Landroidx/core/view/ViewCompat;->postOnAnimation(Landroid/view/View;Ljava/lang/Runnable;)V const/4 v0, 0x1 .line 3766 iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPostedAnimatorRunner:Z :cond_0 return-void .end method .method processDataSetCompletelyChanged(Z)V .locals 1 .line 4692 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 .line 4693 iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z .line 4694 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->markKnownViewsInvalid()V return-void .end method .method recordAnimationInfoIfBouncedHiddenView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V .locals 3 const/4 v0, 0x0 const/16 v1, 0x2000 .line 4291 invoke-virtual {p1, v0, v1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->setFlags(II)V .line 4292 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iget-boolean v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mTrackOldChangeHolders:Z if-eqz v0, :cond_0 invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isUpdated()Z move-result v0 if-eqz v0, :cond_0 .line 4293 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 4294 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->getChangedHolderKey(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)J move-result-wide v0 .line 4295 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; invoke-virtual {v2, v0, v1, p1}, Landroidx/recyclerview/widget/ViewInfoStore;->addToOldChangeHolders(JLandroidx/recyclerview/widget/RecyclerView$ViewHolder;)V .line 4297 :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/ViewInfoStore;->addToPreLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V return-void .end method .method removeAndRecycleViews()V .locals 2 .line 1171 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; if-eqz v0, :cond_0 .line 1172 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->endAnimations()V .line 1178 :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz v0, :cond_1 .line 1179 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->removeAndRecycleAllViews(Landroidx/recyclerview/widget/RecyclerView$Recycler;)V .line 1180 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->removeAndRecycleScrapInt(Landroidx/recyclerview/widget/RecyclerView$Recycler;)V .line 1183 :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->clear()V return-void .end method .method removeAnimatingView(Landroid/view/View;)Z .locals 2 .line 1451 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V .line 1452 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/ChildHelper;->removeViewIfHidden(Landroid/view/View;)Z move-result v0 if-eqz v0, :cond_0 .line 1454 invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object p1 .line 1455 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; invoke-virtual {v1, p1}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->unscrapView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V .line 1456 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; invoke-virtual {v1, p1}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->recycleViewHolderInternal(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V :cond_0 xor-int/lit8 p1, v0, 0x1 .line 1462 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V return v0 .end method .method protected removeDetachedView(Landroid/view/View;Z)V .locals 2 .line 4334 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 4336 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isTmpDetached()Z move-result v1 if-eqz v1, :cond_0 .line 4337 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->clearTmpDetachFlag()V goto :goto_0 .line 4338 :cond_0 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z move-result v1 if-eqz v1, :cond_1 goto :goto_0 .line 4339 :cond_1 new-instance p1, Ljava/lang/IllegalArgumentException; new-instance p2, Ljava/lang/StringBuilder; const-string v1, "Called removeDetachedView with a view which is not flagged as tmp detached." invoke-direct {p2, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object p2 .line 4340 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; move-result-object p2 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 4347 :cond_2 :goto_0 invoke-virtual {p1}, Landroid/view/View;->clearAnimation()V .line 4349 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->dispatchChildDetached(Landroid/view/View;)V .line 4350 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 .line 1650 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz v0, :cond_0 .line 1651 const-string v1, "Cannot remove item decoration during a scroll or layout" invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->assertNotInLayoutOrScroll(Ljava/lang/String;)V .line 1654 :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; invoke-virtual {v0, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z .line 1655 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; invoke-virtual {p1}, Ljava/util/ArrayList;->isEmpty()Z move-result p1 if-eqz p1, :cond_2 .line 1656 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getOverScrollMode()I move-result p1 const/4 v0, 0x2 if-ne p1, v0, :cond_1 const/4 p1, 0x1 goto :goto_0 :cond_1 const/4 p1, 0x0 :goto_0 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->setWillNotDraw(Z)V .line 1658 :cond_2 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->markItemDecorInsetsDirty()V .line 1659 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V return-void .end method .method public removeItemDecorationAt(I)V .locals 3 .line 1632 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getItemDecorationCount()I move-result v0 if-ltz p1, :cond_0 if-ge p1, v0, :cond_0 .line 1637 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 1634 :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; move-result-object p1 const-string v2, " is an invalid index for size " invoke-virtual {p1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 invoke-direct {v1, p1}, Ljava/lang/IndexOutOfBoundsException;->(Ljava/lang/String;)V throw v1 .end method .method public removeOnChildAttachStateChangeListener(Landroidx/recyclerview/widget/RecyclerView$OnChildAttachStateChangeListener;)V .locals 1 .line 1286 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List; if-nez v0, :cond_0 return-void .line 1289 :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 .line 3088 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList; invoke-virtual {v0, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z .line 3089 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptingOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener; if-ne v0, p1, :cond_0 const/4 p1, 0x0 .line 3090 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 .line 1718 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List; if-eqz v0, :cond_0 .line 1719 invoke-interface {v0, p1}, Ljava/util/List;->remove(Ljava/lang/Object;)Z :cond_0 return-void .end method .method repositionShadowingViews()V .locals 7 .line 5513 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I move-result v0 const/4 v1, 0x0 :goto_0 if-ge v1, v0, :cond_2 .line 5515 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View; move-result-object v2 .line 5516 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 5517 iget-object v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mShadowingHolder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder; if-eqz v4, :cond_1 .line 5518 iget-object v3, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mShadowingHolder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder; iget-object v3, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; .line 5519 invoke-virtual {v2}, Landroid/view/View;->getLeft()I move-result v4 .line 5520 invoke-virtual {v2}, Landroid/view/View;->getTop()I move-result v2 .line 5521 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 5523 :cond_0 invoke-virtual {v3}, Landroid/view/View;->getWidth()I move-result v5 add-int/2addr v5, v4 .line 5524 invoke-virtual {v3}, Landroid/view/View;->getHeight()I move-result v6 add-int/2addr v6, v2 .line 5522 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 .line 2893 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {v0, p0, v1, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onRequestChildFocus(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$State;Landroid/view/View;Landroid/view/View;)Z move-result v0 if-nez v0, :cond_0 if-eqz p2, :cond_0 .line 2894 invoke-direct {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->requestChildOnScreen(Landroid/view/View;Landroid/view/View;)V .line 2896 :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 .line 2938 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {v0, p0, p1, p2, p3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->requestChildRectangleOnScreen(Landroidx/recyclerview/widget/RecyclerView;Landroid/view/View;Landroid/graphics/Rect;Z)Z move-result p1 return p1 .end method .method public requestDisallowInterceptTouchEvent(Z)V .locals 3 .line 3270 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList; invoke-virtual {v0}, Ljava/util/ArrayList;->size()I move-result v0 const/4 v1, 0x0 :goto_0 if-ge v1, v0, :cond_0 .line 3272 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList; invoke-virtual {v2, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v2 check-cast v2, Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener; .line 3273 invoke-interface {v2, p1}, Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;->onRequestDisallowInterceptTouchEvent(Z)V add-int/lit8 v1, v1, 0x1 goto :goto_0 .line 3275 :cond_0 invoke-super {p0, p1}, Landroid/view/ViewGroup;->requestDisallowInterceptTouchEvent(Z)V return-void .end method .method public requestLayout()V .locals 1 .line 4411 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 4412 invoke-super {p0}, Landroid/view/ViewGroup;->requestLayout()V goto :goto_0 :cond_0 const/4 v0, 0x1 .line 4414 iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z :goto_0 return-void .end method .method saveOldPositions()V .locals 4 .line 4540 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I move-result v0 const/4 v1, 0x0 :goto_0 if-ge v1, v0, :cond_1 .line 4542 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View; move-result-object v2 invoke-static {v2}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v2 .line 4547 invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z move-result v3 if-nez v3, :cond_0 .line 4548 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 .line 1801 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-nez v0, :cond_0 .line 1802 const-string p1, "RecyclerView" const-string p2, "Cannot scroll without a LayoutManager set. Call setLayoutManager with a non-null argument." invoke-static {p1, p2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I return-void .line 1806 :cond_0 iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z if-eqz v1, :cond_1 return-void .line 1809 :cond_1 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z move-result v0 .line 1810 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z move-result v1 if-nez v0, :cond_2 if-eqz v1, :cond_5 :cond_2 const/4 v2, 0x0 if-eqz v0, :cond_3 goto :goto_0 :cond_3 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 1812 invoke-virtual {p0, p1, p2, v0}, Landroidx/recyclerview/widget/RecyclerView;->scrollByInternal(IILandroid/view/MotionEvent;)Z :cond_5 return-void .end method .method scrollByInternal(IILandroid/view/MotionEvent;)Z .locals 18 move-object/from16 v8, p0 move/from16 v9, p1 move/from16 v10, p2 move-object/from16 v11, p3 .line 1936 invoke-virtual/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->consumePendingUpdateOperations()V .line 1937 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 .line 1938 iget-object v0, v8, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I aput v13, v0, v13 .line 1939 aput v13, v0, v12 .line 1940 invoke-virtual {v8, v9, v10, v0}, Landroidx/recyclerview/widget/RecyclerView;->scrollStep(II[I)V .line 1941 iget-object v0, v8, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I aget v1, v0, v13 .line 1942 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 .line 1946 :goto_0 iget-object v0, v8, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; invoke-virtual {v0}, Ljava/util/ArrayList;->isEmpty()Z move-result v0 if-nez v0, :cond_1 .line 1947 invoke-virtual/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->invalidate()V .line 1950 :cond_1 iget-object v7, v8, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I aput v13, v7, v13 .line 1951 aput v13, v7, v12 .line 1952 iget-object v5, v8, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I const/4 v6, 0x0 move-object/from16 v0, p0 move v1, v15 move v2, v14 move/from16 v3, v16 move/from16 v4, v17 invoke-virtual/range {v0 .. v7}, Landroidx/recyclerview/widget/RecyclerView;->dispatchNestedScroll(IIII[II[I)V .line 1954 iget-object v0, v8, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I aget v1, v0, v13 sub-int v2, v16, v1 .line 1955 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 .line 1959 :goto_2 iget v1, v8, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I iget-object v4, v8, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I aget v5, v4, v13 sub-int/2addr v1, v5 iput v1, v8, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I .line 1960 iget v1, v8, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I aget v4, v4, v12 sub-int/2addr v1, v4 iput v1, v8, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I .line 1961 iget-object v1, v8, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I aget v6, v1, v13 add-int/2addr v6, v5 aput v6, v1, v13 .line 1962 aget v5, v1, v12 add-int/2addr v5, v4 aput v5, v1, v12 .line 1964 invoke-virtual/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->getOverScrollMode()I move-result v1 const/4 v4, 0x2 if-eq v1, v4, :cond_5 if-eqz v11, :cond_4 const/16 v1, 0x2002 .line 1965 invoke-static {v11, v1}, Landroidx/core/view/MotionEventCompat;->isFromSource(Landroid/view/MotionEvent;I)Z move-result v1 if-nez v1, :cond_4 .line 1966 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 1968 :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 1971 :cond_6 invoke-virtual {v8, v15, v14}, Landroidx/recyclerview/widget/RecyclerView;->dispatchOnScrolled(II)V .line 1973 :cond_7 invoke-virtual/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->awakenScrollBars()Z move-result v1 if-nez v1, :cond_8 .line 1974 invoke-virtual/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->invalidate()V :cond_8 if-nez v0, :cond_a if-nez v15, :cond_a if-eqz v14, :cond_9 goto :goto_3 :cond_9 move v12, v13 :cond_a :goto_3 return v12 .end method .method scrollStep(II[I)V .locals 4 .line 1829 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V .line 1830 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V .line 1832 const-string v0, "RV Scroll" invoke-static {v0}, Landroidx/core/os/TraceCompat;->beginSection(Ljava/lang/String;)V .line 1833 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->fillRemainingScrollValues(Landroidx/recyclerview/widget/RecyclerView$State;)V const/4 v0, 0x0 if-eqz p1, :cond_0 .line 1838 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {v1, p1, v2, v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->scrollHorizontallyBy(ILandroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)I move-result p1 goto :goto_0 :cond_0 move p1, v0 :goto_0 if-eqz p2, :cond_1 .line 1841 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {v1, p2, v2, v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->scrollVerticallyBy(ILandroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)I move-result p2 goto :goto_1 :cond_1 move p2, v0 .line 1844 :goto_1 invoke-static {}, Landroidx/core/os/TraceCompat;->endSection()V .line 1845 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->repositionShadowingViews()V .line 1847 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V .line 1848 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V if-eqz p3, :cond_2 .line 1851 aput p1, p3, v0 const/4 p1, 0x1 .line 1852 aput p2, p3, p1 :cond_2 return-void .end method .method public scrollTo(II)V .locals 0 .line 1795 const-string p1, "RecyclerView" const-string p2, "RecyclerView does not support scrolling to an absolute position. Use scrollToPosition instead" invoke-static {p1, p2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I return-void .end method .method public scrollToPosition(I)V .locals 1 .line 1741 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z if-eqz v0, :cond_0 return-void .line 1744 :cond_0 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->stopScroll()V .line 1745 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-nez v0, :cond_1 .line 1746 const-string p1, "RecyclerView" const-string v0, "Cannot scroll to position a LayoutManager set. Call setLayoutManager with a non-null argument." invoke-static {p1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I return-void .line 1750 :cond_1 invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->scrollToPosition(I)V .line 1751 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->awakenScrollBars()Z return-void .end method .method public sendAccessibilityEventUnchecked(Landroid/view/accessibility/AccessibilityEvent;)V .locals 1 .line 3733 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 3736 :cond_0 invoke-super {p0, p1}, Landroid/view/ViewGroup;->sendAccessibilityEventUnchecked(Landroid/view/accessibility/AccessibilityEvent;)V return-void .end method .method public setAccessibilityDelegateCompat(Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate;)V .locals 0 .line 768 iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAccessibilityDelegate:Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate; .line 769 invoke-static {p0, p1}, Landroidx/core/view/ViewCompat;->setAccessibilityDelegate(Landroid/view/View;Landroidx/core/view/AccessibilityDelegateCompat;)V return-void .end method .method public setAdapter(Landroidx/recyclerview/widget/RecyclerView$Adapter;)V .locals 2 const/4 v0, 0x0 .line 1160 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setLayoutFrozen(Z)V const/4 v1, 0x1 .line 1161 invoke-direct {p0, p1, v0, v1}, Landroidx/recyclerview/widget/RecyclerView;->setAdapterInternal(Landroidx/recyclerview/widget/RecyclerView$Adapter;ZZ)V .line 1162 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->processDataSetCompletelyChanged(Z)V .line 1163 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V return-void .end method .method public setChildDrawingOrderCallback(Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback;)V .locals 1 .line 1676 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildDrawingOrderCallback:Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback; if-ne p1, v0, :cond_0 return-void .line 1679 :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 1680 :goto_0 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->setChildrenDrawingOrderEnabled(Z)V return-void .end method .method setChildImportantForAccessibilityInternal(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;I)Z .locals 1 .line 11470 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isComputingLayout()Z move-result v0 if-eqz v0, :cond_0 .line 11471 iput p2, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPendingAccessibilityState:I .line 11472 iget-object p2, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingAccessibilityImportanceChange:Ljava/util/List; invoke-interface {p2, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z const/4 p1, 0x0 return p1 .line 11475 :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 .line 1075 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z if-eq p1, v0, :cond_0 .line 1076 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->invalidateGlows()V .line 1078 :cond_0 iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z .line 1079 invoke-super {p0, p1}, Landroid/view/ViewGroup;->setClipToPadding(Z)V .line 1080 iget-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z if-eqz p1, :cond_1 .line 1081 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V :cond_1 return-void .end method .method public setEdgeEffectFactory(Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;)V .locals 0 .line 2699 invoke-static {p1}, Landroidx/core/util/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; .line 2700 iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory; .line 2701 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->invalidateGlows()V return-void .end method .method public setHasFixedSize(Z)V .locals 0 .line 1062 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 .line 3637 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; if-eqz v0, :cond_0 .line 3638 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->endAnimations()V .line 3639 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; const/4 v1, 0x0 invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->setListener(Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemAnimatorListener;)V .line 3641 :cond_0 iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; if-eqz p1, :cond_1 .line 3643 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimatorListener:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemAnimatorListener; invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->setListener(Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemAnimatorListener;)V :cond_1 return-void .end method .method public setItemViewCacheSize(I)V .locals 1 .line 1525 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->setViewCacheSize(I)V return-void .end method .method public setLayoutFrozen(Z)V .locals 0 .annotation runtime Ljava/lang/Deprecated; .end annotation .line 2271 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 .line 1315 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-ne p1, v0, :cond_0 return-void .line 1318 :cond_0 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->stopScroll()V .line 1321 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz v0, :cond_3 .line 1323 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; if-eqz v0, :cond_1 .line 1324 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->endAnimations()V .line 1326 :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->removeAndRecycleAllViews(Landroidx/recyclerview/widget/RecyclerView$Recycler;)V .line 1327 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->removeAndRecycleScrapInt(Landroidx/recyclerview/widget/RecyclerView$Recycler;)V .line 1328 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->clear()V .line 1330 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mIsAttached:Z if-eqz v0, :cond_2 .line 1331 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; invoke-virtual {v0, p0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->dispatchDetachedFromWindow(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$Recycler;)V .line 1333 :cond_2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; const/4 v1, 0x0 invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setRecyclerView(Landroidx/recyclerview/widget/RecyclerView;)V .line 1334 iput-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; goto :goto_0 .line 1336 :cond_3 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->clear()V .line 1339 :goto_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->removeAllViewsUnfiltered()V .line 1340 iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz p1, :cond_5 .line 1342 iget-object v0, p1, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView; if-nez v0, :cond_4 .line 1347 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {p1, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setRecyclerView(Landroidx/recyclerview/widget/RecyclerView;)V .line 1348 iget-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mIsAttached:Z if-eqz p1, :cond_5 .line 1349 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {p1, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->dispatchAttachedToWindow(Landroidx/recyclerview/widget/RecyclerView;)V goto :goto_1 .line 1343 :cond_4 new-instance v0, Ljava/lang/IllegalArgumentException; new-instance v1, Ljava/lang/StringBuilder; const-string v2, "LayoutManager " invoke-direct {v1, v2}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object v1 const-string v2, " is already attached to a RecyclerView:" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 iget-object p1, p1, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView; .line 1345 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; move-result-object p1 invoke-virtual {p1}, 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 1352 :cond_5 :goto_1 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->updateViewCacheSize()V .line 1353 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 2311 invoke-super {p0, p1}, Landroid/view/ViewGroup;->setLayoutTransition(Landroid/animation/LayoutTransition;)V return-void .line 2313 :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 11528 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 .line 1365 iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnFlingListener:Landroidx/recyclerview/widget/RecyclerView$OnFlingListener; return-void .end method .method public setOnScrollListener(Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;)V .locals 0 .annotation runtime Ljava/lang/Deprecated; .end annotation .line 1693 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 .line 4759 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 .line 1499 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->setRecycledViewPool(Landroidx/recyclerview/widget/RecyclerView$RecycledViewPool;)V return-void .end method .method public setRecyclerListener(Landroidx/recyclerview/widget/RecyclerView$RecyclerListener;)V .locals 0 .line 1240 iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecyclerListener:Landroidx/recyclerview/widget/RecyclerView$RecyclerListener; return-void .end method .method setScrollState(I)V .locals 1 .line 1539 iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I if-ne p1, v0, :cond_0 return-void .line 1546 :cond_0 iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I const/4 v0, 0x2 if-eq p1, v0, :cond_1 .line 1548 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->stopScrollersInternal()V .line 1550 :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 1112 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getContext()Landroid/content/Context; move-result-object v0 invoke-static {v0}, Landroid/view/ViewConfiguration;->get(Landroid/content/Context;)Landroid/view/ViewConfiguration; move-result-object v0 if-eqz p1, :cond_1 const/4 v1, 0x1 if-eq p1, v1, :cond_0 .line 1115 new-instance v1, Ljava/lang/StringBuilder; const-string v2, "setScrollingTouchSlop(): bad argument constant " invoke-direct {v1, v2}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object p1 const-string v1, "; using default value" invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 const-string v1, "RecyclerView" invoke-static {v1, p1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I goto :goto_0 .line 1123 :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 1119 :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 .line 1510 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->setViewCacheExtension(Landroidx/recyclerview/widget/RecyclerView$ViewCacheExtension;)V return-void .end method .method shouldDeferAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)Z .locals 2 .line 3717 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 3720 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 .line 3725 :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 const/4 v0, 0x0 .line 2326 invoke-virtual {p0, p1, p2, v0}, Landroidx/recyclerview/widget/RecyclerView;->smoothScrollBy(IILandroid/view/animation/Interpolator;)V return-void .end method .method public smoothScrollBy(IILandroid/view/animation/Interpolator;)V .locals 1 const/high16 v0, -0x80000000 .line 2338 invoke-virtual {p0, p1, p2, p3, v0}, Landroidx/recyclerview/widget/RecyclerView;->smoothScrollBy(IILandroid/view/animation/Interpolator;I)V return-void .end method .method public smoothScrollBy(IILandroid/view/animation/Interpolator;I)V .locals 6 const/4 v5, 0x0 move-object v0, p0 move v1, p1 move v2, p2 move-object v3, p3 move v4, p4 .line 2356 invoke-virtual/range {v0 .. v5}, Landroidx/recyclerview/widget/RecyclerView;->smoothScrollBy(IILandroid/view/animation/Interpolator;IZ)V return-void .end method .method smoothScrollBy(IILandroid/view/animation/Interpolator;IZ)V .locals 2 .line 2390 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-nez v0, :cond_0 .line 2391 const-string p1, "RecyclerView" const-string p2, "Cannot smooth scroll without a LayoutManager set. Call setLayoutManager with a non-null argument." invoke-static {p1, p2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I return-void .line 2395 :cond_0 iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z if-eqz v1, :cond_1 return-void .line 2398 :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 .line 2401 :cond_2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z move-result v0 if-nez v0, :cond_3 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 2419 :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 2415 :cond_8 invoke-virtual {p0, v1, p5}, Landroidx/recyclerview/widget/RecyclerView;->startNestedScroll(II)Z .line 2417 :cond_9 iget-object p5, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$ViewFlinger; 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 .line 1782 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z if-eqz v0, :cond_0 return-void .line 1785 :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-nez v0, :cond_1 .line 1786 const-string p1, "RecyclerView" const-string v0, "Cannot smooth scroll without a LayoutManager set. Call setLayoutManager with a non-null argument." invoke-static {p1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I return-void .line 1790 :cond_1 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {v0, p0, v1, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->smoothScrollToPosition(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$State;I)V return-void .end method .method startInterceptRequestLayout()V .locals 2 .line 2137 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 .line 2138 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z if-nez v0, :cond_0 const/4 v0, 0x0 .line 2139 iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z :cond_0 return-void .end method .method public startNestedScroll(I)Z .locals 1 .line 11538 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 11543 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper; move-result-object v0 invoke-virtual {v0, p1, p2}, Landroidx/core/view/NestedScrollingChildHelper;->startNestedScroll(II)Z move-result p1 return p1 .end method .method stopInterceptRequestLayout(Z)V .locals 3 .line 2154 iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I const/4 v1, 0x1 if-ge v0, v1, :cond_0 .line 2161 iput v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I :cond_0 const/4 v0, 0x0 if-nez p1, :cond_1 .line 2163 iget-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z if-nez v2, :cond_1 .line 2172 iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z .line 2174 :cond_1 iget v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I if-ne v2, v1, :cond_3 if-eqz p1, :cond_2 .line 2176 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 2178 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayout()V .line 2180 :cond_2 iget-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z if-nez p1, :cond_3 .line 2181 iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z .line 2184 :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 11548 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 11553 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 2493 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V .line 2494 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->stopScrollersInternal()V return-void .end method .method public final suppressLayout(Z)V .locals 9 .line 2214 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z if-eq p1, v0, :cond_2 .line 2215 const-string v0, "Do not suppressLayout in layout or scroll" invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->assertNotInLayoutOrScroll(Ljava/lang/String;)V if-nez p1, :cond_1 const/4 p1, 0x0 .line 2217 iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z .line 2218 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 2219 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V .line 2221 :cond_0 iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z goto :goto_0 .line 2223 :cond_1 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J move-result-wide v3 const/4 v7, 0x0 const/4 v8, 0x0 const/4 v5, 0x3 const/4 v6, 0x0 move-wide v1, v3 .line 2224 invoke-static/range {v1 .. v8}, Landroid/view/MotionEvent;->obtain(JJIFFI)Landroid/view/MotionEvent; move-result-object p1 .line 2226 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->onTouchEvent(Landroid/view/MotionEvent;)Z const/4 p1, 0x1 .line 2227 iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z .line 2228 iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mIgnoreMotionEventTillDown:Z .line 2229 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->stopScroll()V :cond_2 :goto_0 return-void .end method .method public swapAdapter(Landroidx/recyclerview/widget/RecyclerView$Adapter;Z)V .locals 1 const/4 v0, 0x0 .line 1144 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setLayoutFrozen(Z)V const/4 v0, 0x1 .line 1145 invoke-direct {p0, p1, v0, p2}, Landroidx/recyclerview/widget/RecyclerView;->setAdapterInternal(Landroidx/recyclerview/widget/RecyclerView$Adapter;ZZ)V .line 1146 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->processDataSetCompletelyChanged(Z)V .line 1147 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V return-void .end method .method viewRangeUpdate(IILjava/lang/Object;)V .locals 6 .line 4652 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I move-result v0 add-int v1, p1, p2 const/4 v2, 0x0 :goto_0 if-ge v2, v0, :cond_2 .line 4656 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View; move-result-object v3 .line 4657 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 4658 invoke-virtual {v4}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z move-result v5 if-eqz v5, :cond_0 goto :goto_1 .line 4661 :cond_0 iget v5, v4, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I if-lt v5, p1, :cond_1 iget v5, v4, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I if-ge v5, v1, :cond_1 const/4 v5, 0x2 .line 4664 invoke-virtual {v4, v5}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->addFlags(I)V .line 4665 invoke-virtual {v4, p3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->addChangePayload(Ljava/lang/Object;)V .line 4667 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 .line 4670 :cond_2 iget-object p3, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; invoke-virtual {p3, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->viewRangeUpdate(II)V return-void .end method