.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$StretchEdgeEffectFactory;, Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;, Landroidx/recyclerview/widget/RecyclerView$RecyclerViewDataObserver;, Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;, Landroidx/recyclerview/widget/RecyclerView$Orientation; } .end annotation # static fields .field static final ALLOW_SIZE_IN_UNSPECIFIED_SPEC:Z .field static final ALLOW_THREAD_GAP_WORK:Z .field private static final DECELERATION_RATE:F .field static final DEFAULT_ORIENTATION:I = 0x1 .field static final DISPATCH_TEMP_DETACH:Z = false .field private static final FLING_DESTRETCH_FACTOR:F = 4.0f .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 INFLEXION:F = 0.35f .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 private static final SCROLL_FRICTION:F = 0.015f .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 sDebugAssertionsEnabled:Z = false .field static final sDefaultEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$StretchEdgeEffectFactory; .field static final sQuinticInterpolator:Landroid/view/animation/Interpolator; .field static sVerboseLoggingEnabled:Z = false # 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 mLastAutoMeasureNonExactMeasuredHeight:I .field private mLastAutoMeasureNonExactMeasuredWidth:I .field private mLastAutoMeasureSkippedDueToExact:Z .field private mLastTouchX:I .field private mLastTouchY:I .field mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .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 mPendingSavedState:Landroidx/recyclerview/widget/RecyclerView$SavedState; .field private final mPhysicalCoef:F .field mPostedAnimatorRunner:Z .field mPrefetchRegistry:Landroidx/recyclerview/widget/GapWorker$LayoutPrefetchRegistryImpl; .field private mPreserveFocusAfterLayout:Z .field final mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; .field mRecyclerListener:Landroidx/recyclerview/widget/RecyclerView$RecyclerListener; .field final mRecyclerListeners:Ljava/util/List; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/List<", "Landroidx/recyclerview/widget/RecyclerView$RecyclerListener;", ">;" } .end annotation .end field .field final mReusableIntPair:[I .field private mRightGlow:Landroid/widget/EdgeEffect; .field private mScaledHorizontalScrollFactor:F .field private mScaledVerticalScrollFactor:F .field private mScrollListener:Landroidx/recyclerview/widget/RecyclerView$OnScrollListener; .field private mScrollListeners:Ljava/util/List; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/List<", "Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;", ">;" } .end annotation .end field .field private final mScrollOffset:[I .field private mScrollPointerId:I .field private mScrollState:I .field private mScrollingChildHelper:Landroidx/core/view/NestedScrollingChildHelper; .field final mState:Landroidx/recyclerview/widget/RecyclerView$State; .field final mTempRect:Landroid/graphics/Rect; .field private final mTempRect2:Landroid/graphics/Rect; .field final mTempRectF:Landroid/graphics/RectF; .field private mTopGlow:Landroid/widget/EdgeEffect; .field private mTouchSlop:I .field final mUpdateChildViewsRunnable:Ljava/lang/Runnable; .field private mVelocityTracker:Landroid/view/VelocityTracker; .field final mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$ViewFlinger; .field private final mViewInfoProcessCallback:Landroidx/recyclerview/widget/ViewInfoStore$ProcessCallback; .field final mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; # direct methods .method static constructor ()V .locals 4 const v0, 0x1010436 filled-new-array {v0}, [I move-result-object v0 sput-object v0, Landroidx/recyclerview/widget/RecyclerView;->NESTED_SCROLLING_ATTRS:[I const-wide v0, 0x3fe8f5c28f5c28f6L # 0.78 .line 235 invoke-static {v0, v1}, Ljava/lang/Math;->log(D)D move-result-wide v0 const-wide v2, 0x3feccccccccccccdL # 0.9 invoke-static {v2, v3}, Ljava/lang/Math;->log(D)D move-result-wide v2 div-double/2addr v0, v2 double-to-float v0, v0 sput v0, Landroidx/recyclerview/widget/RecyclerView;->DECELERATION_RATE:F const/4 v0, 0x0 sput-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->FORCE_INVALIDATE_DISPLAY_LIST:Z const/4 v1, 0x1 sput-boolean v1, Landroidx/recyclerview/widget/RecyclerView;->ALLOW_SIZE_IN_UNSPECIFIED_SPEC:Z sput-boolean v1, Landroidx/recyclerview/widget/RecyclerView;->POST_UPDATES_ON_ANIMATION:Z sput-boolean v1, Landroidx/recyclerview/widget/RecyclerView;->ALLOW_THREAD_GAP_WORK:Z sput-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->FORCE_ABS_FOCUS_SEARCH_DIRECTION:Z sput-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->IGNORE_DETACHED_FOCUSED_CHILD:Z const/4 v2, 0x4 new-array v2, v2, [Ljava/lang/Class; .line 387 const-class v3, Landroid/content/Context; aput-object v3, v2, v0 const-class v0, Landroid/util/AttributeSet; aput-object v0, v2, v1 const/4 v0, 0x2 sget-object v1, Ljava/lang/Integer;->TYPE:Ljava/lang/Class; aput-object v1, v2, v0 const/4 v0, 0x3 sget-object v1, Ljava/lang/Integer;->TYPE:Ljava/lang/Class; aput-object v1, v2, v0 sput-object v2, Landroidx/recyclerview/widget/RecyclerView;->LAYOUT_MANAGER_CONSTRUCTOR_SIGNATURE:[Ljava/lang/Class; .line 660 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; .line 668 new-instance v0, Landroidx/recyclerview/widget/RecyclerView$StretchEdgeEffectFactory; invoke-direct {v0}, Landroidx/recyclerview/widget/RecyclerView$StretchEdgeEffectFactory;->()V sput-object v0, Landroidx/recyclerview/widget/RecyclerView;->sDefaultEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$StretchEdgeEffectFactory; return-void .end method .method public constructor (Landroid/content/Context;)V .locals 1 const/4 v0, 0x0 .line 735 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 739 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 15 move-object v7, p0 move-object/from16 v8, p1 move-object/from16 v9, p2 move/from16 v10, p3 .line 743 invoke-direct/range {p0 .. p3}, Landroid/view/ViewGroup;->(Landroid/content/Context;Landroid/util/AttributeSet;I)V .line 419 new-instance v0, Landroidx/recyclerview/widget/RecyclerView$RecyclerViewDataObserver; invoke-direct {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$RecyclerViewDataObserver;->(Landroidx/recyclerview/widget/RecyclerView;)V iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mObserver:Landroidx/recyclerview/widget/RecyclerView$RecyclerViewDataObserver; .line 421 new-instance v0, Landroidx/recyclerview/widget/RecyclerView$Recycler; invoke-direct {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->(Landroidx/recyclerview/widget/RecyclerView;)V iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; .line 438 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 452 new-instance v0, Landroidx/recyclerview/widget/RecyclerView$1; invoke-direct {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$1;->(Landroidx/recyclerview/widget/RecyclerView;)V iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mUpdateChildViewsRunnable:Ljava/lang/Runnable; .line 472 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 473 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 474 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 481 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mRecyclerListeners:Ljava/util/List; .line 482 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 483 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList; const/4 v11, 0x0 iput v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I iput-boolean v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z iput-boolean v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mDispatchItemsChangedEvent:Z iput v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I iput v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mDispatchScrollCounter:I sget-object v0, Landroidx/recyclerview/widget/RecyclerView;->sDefaultEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$StretchEdgeEffectFactory; iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory; .line 563 new-instance v0, Landroidx/recyclerview/widget/DefaultItemAnimator; invoke-direct {v0}, Landroidx/recyclerview/widget/DefaultItemAnimator;->()V iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; iput v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I const/4 v12, -0x1 iput v12, v7, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I const/4 v0, 0x1 iput v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mScaledHorizontalScrollFactor:F iput v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mScaledVerticalScrollFactor:F const/4 v13, 0x1 iput-boolean v13, v7, Landroidx/recyclerview/widget/RecyclerView;->mPreserveFocusAfterLayout:Z .line 611 new-instance v0, Landroidx/recyclerview/widget/RecyclerView$ViewFlinger; invoke-direct {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;->(Landroidx/recyclerview/widget/RecyclerView;)V iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$ViewFlinger; sget-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->ALLOW_THREAD_GAP_WORK:Z if-eqz v0, :cond_0 .line 615 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 617 new-instance v0, Landroidx/recyclerview/widget/RecyclerView$State; invoke-direct {v0}, Landroidx/recyclerview/widget/RecyclerView$State;->()V iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iput-boolean v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mItemsAddedOrRemoved:Z iput-boolean v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mItemsChanged:Z .line 625 new-instance v0, Landroidx/recyclerview/widget/RecyclerView$ItemAnimatorRestoreListener; invoke-direct {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimatorRestoreListener;->(Landroidx/recyclerview/widget/RecyclerView;)V iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimatorListener:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemAnimatorListener; iput-boolean v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mPostedAnimatorRunner:Z const/4 v0, 0x2 new-array v1, v0, [I iput-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mMinMaxLayoutPositions:[I new-array v1, v0, [I iput-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I new-array v1, v0, [I iput-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I new-array v1, v0, [I iput-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I .line 647 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 650 new-instance v1, Landroidx/recyclerview/widget/RecyclerView$2; invoke-direct {v1, p0}, Landroidx/recyclerview/widget/RecyclerView$2;->(Landroidx/recyclerview/widget/RecyclerView;)V iput-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimatorRunner:Ljava/lang/Runnable; iput v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureNonExactMeasuredWidth:I iput v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureNonExactMeasuredHeight:I .line 696 new-instance v1, Landroidx/recyclerview/widget/RecyclerView$4; invoke-direct {v1, p0}, Landroidx/recyclerview/widget/RecyclerView$4;->(Landroidx/recyclerview/widget/RecyclerView;)V iput-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoProcessCallback:Landroidx/recyclerview/widget/ViewInfoStore$ProcessCallback; .line 744 invoke-virtual {p0, v13}, Landroidx/recyclerview/widget/RecyclerView;->setScrollContainer(Z)V .line 745 invoke-virtual {p0, v13}, Landroidx/recyclerview/widget/RecyclerView;->setFocusableInTouchMode(Z)V .line 747 invoke-static/range {p1 .. p1}, Landroid/view/ViewConfiguration;->get(Landroid/content/Context;)Landroid/view/ViewConfiguration; move-result-object v1 .line 748 invoke-virtual {v1}, Landroid/view/ViewConfiguration;->getScaledTouchSlop()I move-result v2 iput v2, v7, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I .line 750 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 752 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 753 invoke-virtual {v1}, Landroid/view/ViewConfiguration;->getScaledMinimumFlingVelocity()I move-result v2 iput v2, v7, Landroidx/recyclerview/widget/RecyclerView;->mMinFlingVelocity:I .line 754 invoke-virtual {v1}, Landroid/view/ViewConfiguration;->getScaledMaximumFlingVelocity()I move-result v1 iput v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mMaxFlingVelocity:I .line 755 invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources; move-result-object v1 invoke-virtual {v1}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics; move-result-object v1 iget v1, v1, Landroid/util/DisplayMetrics;->density:F const/high16 v2, 0x43200000 # 160.0f mul-float/2addr v1, v2 const v2, 0x43c10b3d mul-float/2addr v1, v2 const v2, 0x3f570a3d # 0.84f mul-float/2addr v1, v2 iput v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mPhysicalCoef:F .line 760 invoke-virtual {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 {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setWillNotDraw(Z)V iget-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; iget-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimatorListener:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemAnimatorListener; .line 762 invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->setListener(Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemAnimatorListener;)V .line 763 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->initAdapterManager()V .line 764 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->initChildrenHelper()V .line 765 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->initAutofill()V .line 767 invoke-static {p0}, Landroidx/core/view/ViewCompat;->getImportantForAccessibility(Landroid/view/View;)I move-result v0 if-nez v0, :cond_2 .line 769 invoke-static {p0, v13}, Landroidx/core/view/ViewCompat;->setImportantForAccessibility(Landroid/view/View;I)V .line 772 :cond_2 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getContext()Landroid/content/Context; move-result-object v0 const-string v1, "accessibility" .line 773 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 774 new-instance v0, Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate; invoke-direct {v0, p0}, Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate;->(Landroidx/recyclerview/widget/RecyclerView;)V invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setAccessibilityDelegateCompat(Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate;)V .line 776 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 779 sget-object v2, Landroidx/recyclerview/R$styleable;->RecyclerView:[I const/4 v6, 0x0 move-object v0, p0 move-object/from16 v1, p1 move-object/from16 v3, p2 move-object v4, v14 move/from16 v5, p3 invoke-static/range {v0 .. v6}, Landroidx/core/view/ViewCompat;->saveAttributeDataForStyleable(Landroid/view/View;Landroid/content/Context;[ILandroid/util/AttributeSet;Landroid/content/res/TypedArray;II)V .line 781 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 782 sget v0, Landroidx/recyclerview/R$styleable;->RecyclerView_android_descendantFocusability:I invoke-virtual {v14, v0, v12}, Landroid/content/res/TypedArray;->getInt(II)I move-result v0 if-ne v0, v12, :cond_3 const/high16 v0, 0x40000 .line 785 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setDescendantFocusability(I)V .line 787 :cond_3 sget v0, Landroidx/recyclerview/R$styleable;->RecyclerView_android_clipToPadding:I invoke-virtual {v14, v0, v13}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z move-result v0 iput-boolean v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z .line 788 sget v0, Landroidx/recyclerview/R$styleable;->RecyclerView_fastScrollEnabled:I invoke-virtual {v14, v0, v11}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z move-result v0 iput-boolean v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mEnableFastScroller:Z if-eqz v0, :cond_4 .line 790 sget v0, Landroidx/recyclerview/R$styleable;->RecyclerView_fastScrollVerticalThumbDrawable:I .line 791 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 792 sget v1, Landroidx/recyclerview/R$styleable;->RecyclerView_fastScrollVerticalTrackDrawable:I .line 793 invoke-virtual {v14, v1}, Landroid/content/res/TypedArray;->getDrawable(I)Landroid/graphics/drawable/Drawable; move-result-object v1 .line 794 sget v3, Landroidx/recyclerview/R$styleable;->RecyclerView_fastScrollHorizontalThumbDrawable:I .line 795 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 796 sget v4, Landroidx/recyclerview/R$styleable;->RecyclerView_fastScrollHorizontalTrackDrawable:I .line 797 invoke-virtual {v14, v4}, Landroid/content/res/TypedArray;->getDrawable(I)Landroid/graphics/drawable/Drawable; move-result-object v4 .line 798 invoke-virtual {p0, v0, v1, v3, v4}, Landroidx/recyclerview/widget/RecyclerView;->initFastScroller(Landroid/graphics/drawable/StateListDrawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/StateListDrawable;Landroid/graphics/drawable/Drawable;)V .line 801 :cond_4 invoke-virtual {v14}, Landroid/content/res/TypedArray;->recycle()V const/4 v5, 0x0 move-object v0, p0 move-object/from16 v1, p1 move-object/from16 v3, p2 move/from16 v4, p3 .line 804 invoke-direct/range {v0 .. v5}, Landroidx/recyclerview/widget/RecyclerView;->createLayoutManager(Landroid/content/Context;Ljava/lang/String;Landroid/util/AttributeSet;II)V sget-object v2, Landroidx/recyclerview/widget/RecyclerView;->NESTED_SCROLLING_ATTRS:[I .line 808 invoke-virtual {v8, v9, v2, v10, v11}, Landroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray; move-result-object v12 const/4 v6, 0x0 move-object v0, p0 move-object/from16 v1, p1 move-object/from16 v3, p2 move-object v4, v12 move/from16 v5, p3 .line 810 invoke-static/range {v0 .. v6}, Landroidx/core/view/ViewCompat;->saveAttributeDataForStyleable(Landroid/view/View;Landroid/content/Context;[ILandroid/util/AttributeSet;Landroid/content/res/TypedArray;II)V .line 812 invoke-virtual {v12, v11, v13}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z move-result v0 .line 813 invoke-virtual {v12}, Landroid/content/res/TypedArray;->recycle()V .line 816 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setNestedScrollingEnabled(Z)V .line 817 invoke-static {p0, v13}, Landroidx/customview/poolingcontainer/PoolingContainer;->setPoolingContainer(Landroid/view/View;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 217 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 217 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 217 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;Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V .locals 0 .line 217 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$400(Landroidx/recyclerview/widget/RecyclerView;Landroid/view/View;)V .locals 0 .line 217 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->detachViewFromParent(Landroid/view/View;)V return-void .end method .method static synthetic access$500(Landroidx/recyclerview/widget/RecyclerView;II)V .locals 0 .line 217 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 1571 iget-object v0, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; .line 1572 invoke-virtual {v0}, Landroid/view/View;->getParent()Landroid/view/ViewParent; move-result-object v1 const/4 v2, 0x1 if-ne v1, p0, :cond_0 move v1, v2 goto :goto_0 :cond_0 const/4 v1, 0x0 :goto_0 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; .line 1573 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 1574 invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isTmpDetached()Z move-result p1 if-eqz p1, :cond_1 iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; const/4 p1, -0x1 .line 1576 invoke-virtual {v0}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams; move-result-object v1 invoke-virtual {p0, v0, p1, v1, v2}, Landroidx/recyclerview/widget/ChildHelper;->attachViewToParent(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;Z)V goto :goto_1 :cond_1 if-nez v1, :cond_2 iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 1578 invoke-virtual {p0, v0, v2}, Landroidx/recyclerview/widget/ChildHelper;->addView(Landroid/view/View;Z)V goto :goto_1 :cond_2 iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 1580 invoke-virtual {p0, 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 4896 invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->setIsRecyclable(Z)V if-eqz p5, :cond_0 .line 4898 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 4902 invoke-direct {p0, p2}, Landroidx/recyclerview/widget/RecyclerView;->addAnimatingView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V .line 4904 :cond_1 iput-object p2, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mShadowedHolder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder; .line 4906 invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->addAnimatingView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V iget-object p5, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; .line 4907 invoke-virtual {p5, p1}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->unscrapView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V .line 4908 invoke-virtual {p2, v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->setIsRecyclable(Z)V .line 4909 iput-object p1, p2, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mShadowingHolder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder; :cond_2 iget-object p5, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; .line 4911 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 4912 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->postAnimationRunner()V :cond_3 return-void .end method .method private cancelScroll()V .locals 1 .line 3923 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->resetScroll()V const/4 v0, 0x0 .line 3924 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 6467 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mNestedRecyclerView:Ljava/lang/ref/WeakReference; if-eqz v0, :cond_3 .line 6468 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 6470 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; if-ne v0, v2, :cond_0 return-void .line 6474 :cond_0 invoke-virtual {v0}, Landroid/view/View;->getParent()Landroid/view/ViewParent; move-result-object v0 .line 6475 instance-of v2, v0, Landroid/view/View; if-eqz v2, :cond_1 .line 6476 check-cast v0, Landroid/view/View; goto :goto_0 :cond_1 move-object v0, v1 goto :goto_0 .line 6481 :cond_2 iput-object v1, p0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mNestedRecyclerView:Ljava/lang/ref/WeakReference; :cond_3 return-void .end method .method private consumeFlingInStretch(ILandroid/widget/EdgeEffect;Landroid/widget/EdgeEffect;I)I .locals 3 const/high16 p0, 0x3f000000 # 0.5f const/4 v0, 0x0 const/high16 v1, 0x40800000 # 4.0f if-lez p1, :cond_1 if-eqz p2, :cond_1 .line 2889 invoke-static {p2}, Landroidx/core/widget/EdgeEffectCompat;->getDistance(Landroid/widget/EdgeEffect;)F move-result v2 cmpl-float v2, v2, v0 if-eqz v2, :cond_1 neg-int p3, p1 int-to-float p3, p3 mul-float/2addr p3, v1 int-to-float v0, p4 div-float/2addr p3, v0 neg-int p4, p4 int-to-float p4, p4 div-float/2addr p4, v1 .line 2892 invoke-static {p2, p3, p0}, Landroidx/core/widget/EdgeEffectCompat;->onPullDistance(Landroid/widget/EdgeEffect;FF)F move-result p0 mul-float/2addr p4, p0 .line 2891 invoke-static {p4}, Ljava/lang/Math;->round(F)I move-result p0 if-eq p0, p1, :cond_0 .line 2894 invoke-virtual {p2}, Landroid/widget/EdgeEffect;->finish()V :cond_0 sub-int/2addr p1, p0 return p1 :cond_1 if-gez p1, :cond_3 if-eqz p3, :cond_3 .line 2898 invoke-static {p3}, Landroidx/core/widget/EdgeEffectCompat;->getDistance(Landroid/widget/EdgeEffect;)F move-result p2 cmpl-float p2, p2, v0 if-eqz p2, :cond_3 int-to-float p2, p1 mul-float/2addr p2, v1 int-to-float p4, p4 div-float/2addr p2, p4 div-float/2addr p4, v1 .line 2901 invoke-static {p3, p2, p0}, Landroidx/core/widget/EdgeEffectCompat;->onPullDistance(Landroid/widget/EdgeEffect;FF)F move-result p0 mul-float/2addr p4, p0 .line 2900 invoke-static {p4}, Ljava/lang/Math;->round(F)I move-result p0 if-eq p0, p1, :cond_2 .line 2903 invoke-virtual {p3}, Landroid/widget/EdgeEffect;->finish()V :cond_2 sub-int/2addr p1, p0 :cond_3 return p1 .end method .method private createLayoutManager(Landroid/content/Context;Ljava/lang/String;Landroid/util/AttributeSet;II)V .locals 6 const-string v0, ": Could not instantiate the LayoutManager: " if-eqz p2, :cond_1 .line 877 invoke-virtual {p2}, Ljava/lang/String;->trim()Ljava/lang/String; move-result-object p2 .line 878 invoke-virtual {p2}, Ljava/lang/String;->isEmpty()Z move-result v1 if-nez v1, :cond_1 .line 879 invoke-direct {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->getFullClassName(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String; move-result-object p2 .line 882 :try_start_0 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isInEditMode()Z move-result v1 if-eqz v1, :cond_0 .line 884 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 886 :cond_0 invoke-virtual {p1}, Landroid/content/Context;->getClassLoader()Ljava/lang/ClassLoader; move-result-object v1 :goto_0 const/4 v2, 0x0 .line 889 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 890 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 :try_start_1 sget-object v4, Landroidx/recyclerview/widget/RecyclerView;->LAYOUT_MANAGER_CONSTRUCTOR_SIGNATURE:[Ljava/lang/Class; .line 895 invoke-virtual {v1, v4}, Ljava/lang/Class;->getConstructor([Ljava/lang/Class;)Ljava/lang/reflect/Constructor; move-result-object v4 const/4 v5, 0x4 new-array v5, v5, [Ljava/lang/Object; aput-object p1, v5, v2 aput-object p3, v5, v3 .line 896 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 :try_start_2 new-array p4, v2, [Ljava/lang/Class; .line 899 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 906 :goto_1 :try_start_3 invoke-virtual {v4, v3}, Ljava/lang/reflect/Constructor;->setAccessible(Z)V .line 907 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 p0 .line 901 invoke-virtual {p0, p1}, Ljava/lang/NoSuchMethodException;->initCause(Ljava/lang/Throwable;)Ljava/lang/Throwable; .line 902 new-instance p1, Ljava/lang/IllegalStateException; new-instance p4, Ljava/lang/StringBuilder; invoke-direct {p4}, Ljava/lang/StringBuilder;->()V invoke-interface {p3}, Landroid/util/AttributeSet;->getPositionDescription()Ljava/lang/String; move-result-object p5 invoke-virtual {p4, p5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p4 const-string p5, ": Error creating LayoutManager " invoke-virtual {p4, p5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p4 invoke-virtual {p4, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p4 invoke-virtual {p4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p4 invoke-direct {p1, p4, p0}, 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 p0 .line 921 new-instance p1, Ljava/lang/IllegalStateException; new-instance p4, Ljava/lang/StringBuilder; invoke-direct {p4}, Ljava/lang/StringBuilder;->()V invoke-interface {p3}, Landroid/util/AttributeSet;->getPositionDescription()Ljava/lang/String; move-result-object p3 invoke-virtual {p4, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p3 const-string p4, ": Class is not a LayoutManager " invoke-virtual {p3, p4}, 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 {p1, p2, p0}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;Ljava/lang/Throwable;)V throw p1 :catch_3 move-exception p0 .line 918 new-instance p1, Ljava/lang/IllegalStateException; new-instance p4, Ljava/lang/StringBuilder; invoke-direct {p4}, Ljava/lang/StringBuilder;->()V invoke-interface {p3}, Landroid/util/AttributeSet;->getPositionDescription()Ljava/lang/String; move-result-object p3 invoke-virtual {p4, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p3 const-string p4, ": Cannot access non-public constructor " invoke-virtual {p3, p4}, 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 {p1, p2, p0}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;Ljava/lang/Throwable;)V throw p1 :catch_4 move-exception p0 .line 915 new-instance p1, Ljava/lang/IllegalStateException; new-instance p4, Ljava/lang/StringBuilder; invoke-direct {p4}, Ljava/lang/StringBuilder;->()V invoke-interface {p3}, Landroid/util/AttributeSet;->getPositionDescription()Ljava/lang/String; move-result-object p3 invoke-virtual {p4, 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 {p1, p2, p0}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;Ljava/lang/Throwable;)V throw p1 :catch_5 move-exception p0 .line 912 new-instance p1, Ljava/lang/IllegalStateException; new-instance p4, Ljava/lang/StringBuilder; invoke-direct {p4}, Ljava/lang/StringBuilder;->()V invoke-interface {p3}, Landroid/util/AttributeSet;->getPositionDescription()Ljava/lang/String; move-result-object p3 invoke-virtual {p4, 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 {p1, p2, p0}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;Ljava/lang/Throwable;)V throw p1 :catch_6 move-exception p0 .line 909 new-instance p1, Ljava/lang/IllegalStateException; new-instance p4, Ljava/lang/StringBuilder; invoke-direct {p4}, Ljava/lang/StringBuilder;->()V invoke-interface {p3}, Landroid/util/AttributeSet;->getPositionDescription()Ljava/lang/String; move-result-object p3 invoke-virtual {p4, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p3 const-string p4, ": Unable to find LayoutManager " invoke-virtual {p3, p4}, 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 {p1, p2, p0}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;Ljava/lang/Throwable;)V throw p1 :cond_1 :goto_2 return-void .end method .method private didChildRangeChange(II)Z .locals 3 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinMaxLayoutPositions:[I .line 4837 invoke-direct {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->findMinMaxChildLayoutPositions([I)V iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinMaxLayoutPositions:[I const/4 v0, 0x0 .line 4838 aget v1, p0, v0 const/4 v2, 0x1 if-ne v1, p1, :cond_0 aget p0, p0, v2 if-eq p0, p2, :cond_1 :cond_0 move v0, v2 :cond_1 return v0 .end method .method private dispatchContentChangedIfNecessary()V .locals 3 iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mEatenAccessibilityChangeFlags:I const/4 v1, 0x0 iput v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mEatenAccessibilityChangeFlags:I if-eqz v0, :cond_0 .line 4162 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isAccessibilityEnabled()Z move-result v1 if-eqz v1, :cond_0 .line 4163 invoke-static {}, Landroid/view/accessibility/AccessibilityEvent;->obtain()Landroid/view/accessibility/AccessibilityEvent; move-result-object v1 const/16 v2, 0x800 .line 4164 invoke-virtual {v1, v2}, Landroid/view/accessibility/AccessibilityEvent;->setEventType(I)V .line 4165 invoke-static {v1, v0}, Landroidx/core/view/accessibility/AccessibilityEventCompat;->setContentChangeTypes(Landroid/view/accessibility/AccessibilityEvent;I)V .line 4166 invoke-virtual {p0, v1}, Landroidx/recyclerview/widget/RecyclerView;->sendAccessibilityEventUnchecked(Landroid/view/accessibility/AccessibilityEvent;)V :cond_0 return-void .end method .method private dispatchLayoutStep1()V .locals 8 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; const/4 v1, 0x1 .line 4539 invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$State;->assertLayoutStep(I)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4540 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->fillRemainingScrollValues(Landroidx/recyclerview/widget/RecyclerView$State;)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; const/4 v2, 0x0 .line 4541 iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mIsMeasuring:Z .line 4542 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; .line 4543 invoke-virtual {v0}, Landroidx/recyclerview/widget/ViewInfoStore;->clear()V .line 4544 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V .line 4545 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->processAdapterUpdatesAndSetAnimationFlags()V .line 4546 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->saveFocusInfo()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4547 iget-boolean v3, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunSimpleAnimations:Z if-eqz v3, :cond_0 iget-boolean v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemsChanged:Z if-eqz v3, :cond_0 goto :goto_0 :cond_0 move v1, v2 :goto_0 iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mTrackOldChangeHolders:Z iput-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemsChanged:Z iput-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemsAddedOrRemoved:Z iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4549 iget-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunPredictiveAnimations:Z iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mInPreLayout:Z iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; .line 4550 invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->getItemCount()I move-result v1 iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mItemCount:I iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinMaxLayoutPositions:[I .line 4551 invoke-direct {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->findMinMaxChildLayoutPositions([I)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4553 iget-boolean v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunSimpleAnimations:Z if-eqz v0, :cond_3 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 4555 invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I move-result v0 move v1, v2 :goto_1 if-ge v1, v0, :cond_3 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 4557 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 4558 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z move-result v4 if-nez v4, :cond_2 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isInvalid()Z move-result v4 if-eqz v4, :cond_1 iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; invoke-virtual {v4}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z move-result v4 if-nez v4, :cond_1 goto :goto_2 :cond_1 iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4563 invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->buildAdapterChangeFlagsForAnimations(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)I move-result v6 .line 4564 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getUnmodifiedPayloads()Ljava/util/List; move-result-object v7 .line 4562 invoke-virtual {v4, v5, v3, v6, v7}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->recordPreLayoutInformation(Landroidx/recyclerview/widget/RecyclerView$State;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;ILjava/util/List;)Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo; move-result-object v4 iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; .line 4565 invoke-virtual {v5, v3, v4}, Landroidx/recyclerview/widget/ViewInfoStore;->addToPreLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4566 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 4567 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 4568 invoke-virtual {p0, v3}, Landroidx/recyclerview/widget/RecyclerView;->getChangedHolderKey(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)J move-result-wide v4 iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; .line 4576 invoke-virtual {v6, v4, v5, v3}, Landroidx/recyclerview/widget/ViewInfoStore;->addToOldChangeHolders(JLandroidx/recyclerview/widget/RecyclerView$ViewHolder;)V :cond_2 :goto_2 add-int/lit8 v1, v1, 0x1 goto :goto_1 :cond_3 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4580 iget-boolean v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunPredictiveAnimations:Z if-eqz v0, :cond_9 .line 4587 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->saveOldPositions()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4588 iget-boolean v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4589 iput-boolean v2, v1, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z 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; .line 4591 invoke-virtual {v1, v3, v4}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onLayoutChildren(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)V iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4592 iput-boolean v0, v1, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z move v0, v2 :goto_3 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 4594 invoke-virtual {v1}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I move-result v1 if-ge v0, v1, :cond_8 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 4595 invoke-virtual {v1, v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View; move-result-object v1 .line 4596 invoke-static {v1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v1 .line 4597 invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z move-result v3 if-eqz v3, :cond_4 goto :goto_4 :cond_4 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; .line 4600 invoke-virtual {v3, v1}, Landroidx/recyclerview/widget/ViewInfoStore;->isInPreLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Z move-result v3 if-nez v3, :cond_7 .line 4601 invoke-static {v1}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->buildAdapterChangeFlagsForAnimations(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)I move-result v3 const/16 v4, 0x2000 .line 4603 invoke-virtual {v1, v4}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->hasAnyOfTheFlags(I)Z move-result v4 if-nez v4, :cond_5 or-int/lit16 v3, v3, 0x1000 :cond_5 iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4608 invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getUnmodifiedPayloads()Ljava/util/List; move-result-object v7 .line 4607 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 4610 invoke-virtual {p0, v1, v3}, Landroidx/recyclerview/widget/RecyclerView;->recordAnimationInfoIfBouncedHiddenView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V goto :goto_4 :cond_6 iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; .line 4612 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 4617 :cond_8 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->clearOldPositions()V goto :goto_5 .line 4619 :cond_9 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->clearOldPositions()V .line 4621 :goto_5 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V .line 4622 invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; const/4 v0, 0x2 .line 4623 iput v0, p0, Landroidx/recyclerview/widget/RecyclerView$State;->mLayoutStep:I return-void .end method .method private dispatchLayoutStep2()V .locals 4 .line 4631 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V .line 4632 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; const/4 v1, 0x6 .line 4633 invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$State;->assertLayoutStep(I)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper; .line 4634 invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->consumeUpdatesInOnePass()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; .line 4635 invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->getItemCount()I move-result v1 iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mItemCount:I iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; const/4 v1, 0x0 .line 4636 iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mDeletedInvisibleItemCountSincePreviousLayout:I iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingSavedState:Landroidx/recyclerview/widget/RecyclerView$SavedState; if-eqz v0, :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; .line 4637 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->canRestoreState()Z move-result v0 if-eqz v0, :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingSavedState:Landroidx/recyclerview/widget/RecyclerView$SavedState; .line 4638 iget-object v0, v0, Landroidx/recyclerview/widget/RecyclerView$SavedState;->mLayoutState:Landroid/os/Parcelable; if-eqz v0, :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingSavedState:Landroidx/recyclerview/widget/RecyclerView$SavedState; .line 4639 iget-object v2, v2, Landroidx/recyclerview/widget/RecyclerView$SavedState;->mLayoutState:Landroid/os/Parcelable; invoke-virtual {v0, v2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onRestoreInstanceState(Landroid/os/Parcelable;)V :cond_0 const/4 v0, 0x0 iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingSavedState:Landroidx/recyclerview/widget/RecyclerView$SavedState; :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4644 iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mInPreLayout:Z 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; .line 4645 invoke-virtual {v0, v2, v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onLayoutChildren(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4647 iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4650 iget-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunSimpleAnimations:Z if-eqz v2, :cond_2 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; if-eqz v2, :cond_2 const/4 v2, 0x1 goto :goto_0 :cond_2 move v2, v1 :goto_0 iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunSimpleAnimations:Z iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; const/4 v2, 0x4 .line 4651 iput v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mLayoutStep:I .line 4652 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V .line 4653 invoke-virtual {p0, v1}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V return-void .end method .method private dispatchLayoutStep3()V .locals 11 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; const/4 v1, 0x4 .line 4661 invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$State;->assertLayoutStep(I)V .line 4662 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V .line 4663 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; const/4 v1, 0x1 .line 4664 iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mLayoutStep:I iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4665 iget-boolean v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunSimpleAnimations:Z if-eqz v0, :cond_5 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 4669 invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I move-result v0 sub-int/2addr v0, v1 :goto_0 if-ltz v0, :cond_4 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 4670 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 4671 invoke-virtual {v5}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z move-result v2 if-eqz v2, :cond_0 goto :goto_1 .line 4674 :cond_0 invoke-virtual {p0, v5}, Landroidx/recyclerview/widget/RecyclerView;->getChangedHolderKey(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)J move-result-wide v2 iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4676 invoke-virtual {v4, v6, v5}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->recordPostLayoutInformation(Landroidx/recyclerview/widget/RecyclerView$State;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo; move-result-object v4 iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; .line 4677 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 4678 invoke-virtual {v6}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z move-result v7 if-nez v7, :cond_3 iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; .line 4689 invoke-virtual {v7, v6}, Landroidx/recyclerview/widget/ViewInfoStore;->isDisappearing(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Z move-result v8 iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; .line 4691 invoke-virtual {v7, v5}, Landroidx/recyclerview/widget/ViewInfoStore;->isDisappearing(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Z move-result v9 if-eqz v8, :cond_1 if-ne v6, v5, :cond_1 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; .line 4694 invoke-virtual {v2, v5, v4}, Landroidx/recyclerview/widget/ViewInfoStore;->addToPostLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V goto :goto_1 :cond_1 iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; .line 4696 invoke-virtual {v7, v6}, Landroidx/recyclerview/widget/ViewInfoStore;->popFromPreLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo; move-result-object v7 iget-object v10, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; .line 4699 invoke-virtual {v10, v5, v4}, Landroidx/recyclerview/widget/ViewInfoStore;->addToPostLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; .line 4700 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 4702 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 4704 invoke-direct/range {v3 .. v9}, Landroidx/recyclerview/widget/RecyclerView;->animateChange(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;ZZ)V goto :goto_1 :cond_3 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; .line 4709 invoke-virtual {v2, v5, v4}, Landroidx/recyclerview/widget/ViewInfoStore;->addToPostLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V :goto_1 add-int/lit8 v0, v0, -0x1 goto :goto_0 :cond_4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoProcessCallback:Landroidx/recyclerview/widget/ViewInfoStore$ProcessCallback; .line 4714 invoke-virtual {v0, v2}, Landroidx/recyclerview/widget/ViewInfoStore;->process(Landroidx/recyclerview/widget/ViewInfoStore$ProcessCallback;)V :cond_5 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; .line 4717 invoke-virtual {v0, v2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->removeAndRecycleScrapInt(Landroidx/recyclerview/widget/RecyclerView$Recycler;)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4718 iget v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mItemCount:I iput v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mPreviousLayoutItemCount:I const/4 v0, 0x0 iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchItemsChangedEvent:Z iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4721 iput-boolean v0, v2, Landroidx/recyclerview/widget/RecyclerView$State;->mRunSimpleAnimations:Z iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4723 iput-boolean v0, v2, Landroidx/recyclerview/widget/RecyclerView$State;->mRunPredictiveAnimations:Z iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 4724 iput-boolean v0, v2, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mRequestedSimpleAnimations:Z iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; .line 4725 iget-object v2, v2, Landroidx/recyclerview/widget/RecyclerView$Recycler;->mChangedScrap:Ljava/util/ArrayList; if-eqz v2, :cond_6 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; .line 4726 iget-object v2, v2, Landroidx/recyclerview/widget/RecyclerView$Recycler;->mChangedScrap:Ljava/util/ArrayList; invoke-virtual {v2}, Ljava/util/ArrayList;->clear()V :cond_6 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 4728 iget-boolean v2, v2, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mPrefetchMaxObservedInInitialPrefetch:Z if-eqz v2, :cond_7 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 4731 iput v0, v2, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mPrefetchMaxCountObserved:I iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 4732 iput-boolean v0, v2, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mPrefetchMaxObservedInInitialPrefetch:Z iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; .line 4733 invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->updateViewCacheSize()V :cond_7 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4736 invoke-virtual {v2, v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onLayoutCompleted(Landroidx/recyclerview/widget/RecyclerView$State;)V .line 4737 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V .line 4738 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; .line 4739 invoke-virtual {v2}, Landroidx/recyclerview/widget/ViewInfoStore;->clear()V iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinMaxLayoutPositions:[I .line 4740 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 4741 invoke-virtual {p0, v0, v0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchOnScrolled(II)V .line 4743 :cond_8 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->recoverFocusFromState()V .line 4744 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->resetFocusInfo()V return-void .end method .method private dispatchToOnItemTouchListeners(Landroid/view/MotionEvent;)Z .locals 2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptingOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener; if-nez v0, :cond_1 .line 3551 invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I move-result v0 if-nez v0, :cond_0 const/4 p0, 0x0 return p0 .line 3554 :cond_0 invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->findInterceptingOnItemTouchListener(Landroid/view/MotionEvent;)Z move-result p0 return p0 .line 3556 :cond_1 invoke-interface {v0, p0, p1}, Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;->onTouchEvent(Landroidx/recyclerview/widget/RecyclerView;Landroid/view/MotionEvent;)V .line 3557 invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I move-result p1 const/4 v0, 0x3 const/4 v1, 0x1 if-eq p1, v0, :cond_2 if-ne p1, v1, :cond_3 :cond_2 const/4 p1, 0x0 iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptingOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener; :cond_3 return v1 .end method .method private findInterceptingOnItemTouchListener(Landroid/view/MotionEvent;)Z .locals 6 .line 3579 invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I move-result v0 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList; .line 3580 invoke-virtual {v1}, Ljava/util/ArrayList;->size()I move-result v1 const/4 v2, 0x0 move v3, v2 :goto_0 if-ge v3, v1, :cond_1 iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList; .line 3582 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 3583 invoke-interface {v4, p0, p1}, Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;->onInterceptTouchEvent(Landroidx/recyclerview/widget/RecyclerView;Landroid/view/MotionEvent;)Z move-result v5 if-eqz v5, :cond_0 const/4 v5, 0x3 if-eq v0, v5, :cond_0 iput-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptingOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener; const/4 p0, 0x1 return p0 :cond_0 add-int/lit8 v3, v3, 0x1 goto :goto_0 :cond_1 return v2 .end method .method private findMinMaxChildLayoutPositions([I)V .locals 8 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 4811 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 p0, -0x1 .line 4813 aput p0, p1, v2 .line 4814 aput p0, p1, v1 return-void :cond_0 const v3, 0x7fffffff const/high16 v4, -0x80000000 move v5, v2 :goto_0 if-ge v5, v0, :cond_4 iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 4820 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 4821 invoke-virtual {v6}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z move-result v7 if-eqz v7, :cond_1 goto :goto_1 .line 4824 :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 4832 :cond_4 aput v3, p1, v2 .line 4833 aput v4, p1, v1 return-void .end method .method static findNestedRecyclerView(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView; .locals 4 .line 6445 instance-of v0, p0, Landroid/view/ViewGroup; const/4 v1, 0x0 if-nez v0, :cond_0 return-object v1 .line 6448 :cond_0 instance-of v0, p0, Landroidx/recyclerview/widget/RecyclerView; if-eqz v0, :cond_1 .line 6449 check-cast p0, Landroidx/recyclerview/widget/RecyclerView; return-object p0 .line 6451 :cond_1 check-cast p0, Landroid/view/ViewGroup; .line 6452 invoke-virtual {p0}, Landroid/view/ViewGroup;->getChildCount()I move-result v0 const/4 v2, 0x0 :goto_0 if-ge v2, v0, :cond_3 .line 6454 invoke-virtual {p0, v2}, Landroid/view/ViewGroup;->getChildAt(I)Landroid/view/View; move-result-object v3 .line 6455 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 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4408 iget v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemPosition:I const/4 v1, -0x1 if-eq v0, v1, :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iget v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemPosition:I goto :goto_0 :cond_0 const/4 v0, 0x0 :goto_0 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4411 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 4413 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 4417 :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 4418 iget-object p0, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; return-object p0 :cond_2 add-int/lit8 v2, v2, 0x1 goto :goto_1 .line 4421 :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 4423 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 4427 :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 4428 iget-object p0, v2, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; return-object p0 :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 5330 :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 5611 invoke-virtual {p0}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams; move-result-object v0 check-cast v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams; .line 5612 iget-object v1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mDecorInsets:Landroid/graphics/Rect; .line 5613 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 5614 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 5615 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 5616 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 5613 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 2 .line 4509 invoke-virtual {p1}, Landroid/view/View;->getId()I move-result p0 .line 4510 :cond_0 :goto_0 invoke-virtual {p1}, Landroid/view/View;->isFocused()Z move-result v0 if-nez v0, :cond_1 instance-of v0, p1, Landroid/view/ViewGroup; if-eqz v0, :cond_1 invoke-virtual {p1}, Landroid/view/View;->hasFocus()Z move-result v0 if-eqz v0, :cond_1 .line 4511 check-cast p1, Landroid/view/ViewGroup; invoke-virtual {p1}, Landroid/view/ViewGroup;->getFocusedChild()Landroid/view/View; move-result-object p1 .line 4512 invoke-virtual {p1}, Landroid/view/View;->getId()I move-result v0 const/4 v1, -0x1 if-eq v0, v1, :cond_0 .line 4514 invoke-virtual {p1}, Landroid/view/View;->getId()I move-result p0 goto :goto_0 :cond_1 return p0 .end method .method private getFullClassName(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String; .locals 1 const/4 p0, 0x0 .line 929 invoke-virtual {p2, p0}, Ljava/lang/String;->charAt(I)C move-result p0 const/16 v0, 0x2e if-ne p0, v0, :cond_0 .line 930 new-instance p0, Ljava/lang/StringBuilder; invoke-direct {p0}, Ljava/lang/StringBuilder;->()V invoke-virtual {p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String; move-result-object p1 invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p0 invoke-virtual {p0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p0 invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 return-object p0 :cond_0 const-string p0, "." .line 932 invoke-virtual {p2, p0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result p0 if-eqz p0, :cond_1 return-object p2 .line 935 :cond_1 new-instance p0, Ljava/lang/StringBuilder; invoke-direct {p0}, Ljava/lang/StringBuilder;->()V const-class p1, Landroidx/recyclerview/widget/RecyclerView; invoke-virtual {p1}, Ljava/lang/Class;->getPackage()Ljava/lang/Package; move-result-object p1 invoke-virtual {p1}, Ljava/lang/Package;->getName()Ljava/lang/String; move-result-object p1 invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p0 invoke-virtual {p0, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; move-result-object p0 invoke-virtual {p0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p0 invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 return-object p0 .end method .method private getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper; .locals 1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollingChildHelper:Landroidx/core/view/NestedScrollingChildHelper; if-nez v0, :cond_0 .line 14450 new-instance v0, Landroidx/core/view/NestedScrollingChildHelper; invoke-direct {v0, p0}, Landroidx/core/view/NestedScrollingChildHelper;->(Landroid/view/View;)V iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollingChildHelper:Landroidx/core/view/NestedScrollingChildHelper; :cond_0 iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollingChildHelper:Landroidx/core/view/NestedScrollingChildHelper; return-object p0 .end method .method private getSplineFlingDistance(I)F .locals 8 .line 5716 invoke-static {p1}, Ljava/lang/Math;->abs(I)I move-result p1 int-to-float p1, p1 const v0, 0x3eb33333 # 0.35f mul-float/2addr p1, v0 iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPhysicalCoef:F const v1, 0x3c75c28f # 0.015f mul-float/2addr v0, v1 div-float/2addr p1, v0 float-to-double v2, p1 invoke-static {v2, v3}, Ljava/lang/Math;->log(D)D move-result-wide v2 sget p1, Landroidx/recyclerview/widget/RecyclerView;->DECELERATION_RATE:F float-to-double v4, p1 const-wide/high16 v6, 0x3ff0000000000000L # 1.0 sub-double/2addr v4, v6 iget p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPhysicalCoef:F mul-float/2addr p0, v1 float-to-double v0, p0 float-to-double p0, p1 div-double/2addr p0, v4 mul-double/2addr p0, v2 .line 5719 invoke-static {p0, p1}, Ljava/lang/Math;->exp(D)D move-result-wide p0 mul-double/2addr v0, p0 double-to-float p0, v0 return p0 .end method .method private handleMissingPreInfoForChangeError(JLandroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V .locals 5 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 4765 invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I move-result v0 const/4 v1, 0x0 :goto_0 if-ge v1, v0, :cond_3 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 4767 invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View; move-result-object v2 .line 4768 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 4772 :cond_0 invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->getChangedHolderKey(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)J move-result-wide v3 cmp-long v3, v3, p1 if-nez v3, :cond_2 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; const-string p2, " \n View Holder 2:" if-eqz p1, :cond_1 .line 4774 invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z move-result p1 if-eqz p1, :cond_1 .line 4775 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 4778 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String; move-result-object p0 invoke-virtual {p2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p0 invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 invoke-direct {p1, p0}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw p1 .line 4780 :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 4784 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String; move-result-object p0 invoke-virtual {p2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p0 invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 invoke-direct {p1, p0}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw p1 :cond_2 :goto_1 add-int/lit8 v1, v1, 0x1 goto :goto_0 .line 4789 :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 4791 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String; move-result-object p0 invoke-virtual {p1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p0 invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 const-string p1, "RecyclerView" .line 4789 invoke-static {p1, p0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I return-void .end method .method private hasUpdatedView()Z .locals 5 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 2115 invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I move-result v0 const/4 v1, 0x0 move v2, v1 :goto_0 if-ge v2, v0, :cond_2 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 2117 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 2118 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z move-result v4 if-eqz v4, :cond_0 goto :goto_1 .line 2121 :cond_0 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isUpdated()Z move-result v3 if-eqz v3, :cond_1 const/4 p0, 0x1 return p0 :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 839 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 840 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 939 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-eq p2, p0, :cond_1a if-ne p2, p1, :cond_0 goto/16 :goto_3 .line 3262 :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 3269 :cond_2 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->findContainingItemView(Landroid/view/View;)Landroid/view/View; move-result-object v2 if-nez v2, :cond_3 return v1 :cond_3 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; .line 3273 invoke-virtual {p1}, Landroid/view/View;->getWidth()I move-result v3 invoke-virtual {p1}, Landroid/view/View;->getHeight()I move-result v4 invoke-virtual {v2, v0, v0, v3, v4}, Landroid/graphics/Rect;->set(IIII)V iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect; .line 3274 invoke-virtual {p2}, Landroid/view/View;->getWidth()I move-result v3 invoke-virtual {p2}, Landroid/view/View;->getHeight()I move-result v4 invoke-virtual {v2, v0, v0, v3, v4}, Landroid/graphics/Rect;->set(IIII)V iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; .line 3275 invoke-virtual {p0, p1, v2}, Landroidx/recyclerview/widget/RecyclerView;->offsetDescendantRectToMyCoords(Landroid/view/View;Landroid/graphics/Rect;)V iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect; .line 3276 invoke-virtual {p0, p2, p1}, Landroidx/recyclerview/widget/RecyclerView;->offsetDescendantRectToMyCoords(Landroid/view/View;Landroid/graphics/Rect;)V iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 3277 invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->getLayoutDirection()I move-result p1 const/4 p2, -0x1 if-ne p1, v1, :cond_4 move p1, p2 goto :goto_0 :cond_4 move p1, v1 :goto_0 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; .line 3279 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 :cond_6 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; .line 3283 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 :goto_1 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; .line 3289 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 :cond_a iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; .line 3293 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 3312 :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 p0 invoke-virtual {p2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p0 invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 invoke-direct {p1, p0}, 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-lez 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-gez v2, :cond_1a :cond_19 move v0, v1 :cond_1a :goto_3 return v0 .end method .method private nestedScrollByInternal(IILandroid/view/MotionEvent;I)V .locals 11 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-nez v0, :cond_0 const-string p0, "RecyclerView" const-string p1, "Cannot scroll without a LayoutManager set. Call setLayoutManager with a non-null argument." .line 1980 invoke-static {p0, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I return-void :cond_0 iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z if-eqz v1, :cond_1 return-void :cond_1 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I const/4 v2, 0x0 .line 1987 aput v2, v1, v2 const/4 v3, 0x1 .line 1988 aput v2, v1, v3 .line 1989 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z move-result v0 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 1990 invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z move-result v1 if-eqz v1, :cond_2 or-int/lit8 v4, v0, 0x2 goto :goto_0 :cond_2 move v4, v0 :goto_0 const/high16 v5, 0x40000000 # 2.0f if-nez p3, :cond_3 .line 2001 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getHeight()I move-result v6 int-to-float v6, v6 div-float/2addr v6, v5 goto :goto_1 :cond_3 invoke-virtual {p3}, Landroid/view/MotionEvent;->getY()F move-result v6 :goto_1 if-nez p3, :cond_4 .line 2002 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I move-result v7 int-to-float v7, v7 div-float/2addr v7, v5 goto :goto_2 :cond_4 invoke-virtual {p3}, Landroid/view/MotionEvent;->getX()F move-result v7 .line 2003 :goto_2 invoke-direct {p0, p1, v6}, Landroidx/recyclerview/widget/RecyclerView;->releaseHorizontalGlow(IF)I move-result v5 sub-int/2addr p1, v5 .line 2004 invoke-direct {p0, p2, v7}, Landroidx/recyclerview/widget/RecyclerView;->releaseVerticalGlow(IF)I move-result v5 sub-int/2addr p2, v5 .line 2005 invoke-virtual {p0, v4, p4}, Landroidx/recyclerview/widget/RecyclerView;->startNestedScroll(II)Z if-eqz v0, :cond_5 move v6, p1 goto :goto_3 :cond_5 move v6, v2 :goto_3 if-eqz v1, :cond_6 move v7, p2 goto :goto_4 :cond_6 move v7, v2 :goto_4 iget-object v8, p0, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I iget-object v9, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I move-object v5, p0 move v10, p4 .line 2006 invoke-virtual/range {v5 .. v10}, Landroidx/recyclerview/widget/RecyclerView;->dispatchNestedPreScroll(II[I[II)Z move-result v4 if-eqz v4, :cond_7 iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I .line 2011 aget v5, v4, v2 sub-int/2addr p1, v5 .line 2012 aget v3, v4, v3 sub-int/2addr p2, v3 :cond_7 if-eqz v0, :cond_8 move v0, p1 goto :goto_5 :cond_8 move v0, v2 :goto_5 if-eqz v1, :cond_9 move v2, p2 .line 2015 :cond_9 invoke-virtual {p0, v0, v2, p3, p4}, Landroidx/recyclerview/widget/RecyclerView;->scrollByInternal(IILandroid/view/MotionEvent;I)Z iget-object p3, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/GapWorker; if-eqz p3, :cond_b if-nez p1, :cond_a if-eqz p2, :cond_b .line 2020 :cond_a invoke-virtual {p3, p0, p1, p2}, Landroidx/recyclerview/widget/GapWorker;->postFromTraversal(Landroidx/recyclerview/widget/RecyclerView;II)V .line 2022 :cond_b invoke-virtual {p0, p4}, Landroidx/recyclerview/widget/RecyclerView;->stopNestedScroll(I)V return-void .end method .method private onPointerUp(Landroid/view/MotionEvent;)V .locals 3 .line 3928 invoke-virtual {p1}, Landroid/view/MotionEvent;->getActionIndex()I move-result v0 .line 3929 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 3932 :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 3933 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 3934 invoke-virtual {p1, v0}, Landroid/view/MotionEvent;->getY(I)F move-result p1 add-float/2addr p1, v2 float-to-int p1, p1 iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchY:I :cond_1 return-void .end method .method private predictiveItemAnimationsEnabled()Z .locals 1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; if-eqz v0, :cond_0 iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 4256 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->supportsPredictiveItemAnimations()Z move-result p0 if-eqz p0, :cond_0 const/4 p0, 0x1 goto :goto_0 :cond_0 const/4 p0, 0x0 :goto_0 return p0 .end method .method private processAdapterUpdatesAndSetAnimationFlags()V .locals 5 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z if-eqz v0, :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper; .line 4269 invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->reset()V iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchItemsChangedEvent:Z if-eqz v0, :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 4271 invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onItemsChanged(Landroidx/recyclerview/widget/RecyclerView;)V .line 4277 :cond_0 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->predictiveItemAnimationsEnabled()Z move-result v0 if-eqz v0, :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper; .line 4278 invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->preProcess()V goto :goto_0 :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper; .line 4280 invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->consumeUpdatesInOnePass()V :goto_0 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemsAddedOrRemoved:Z const/4 v1, 0x0 const/4 v2, 0x1 if-nez v0, :cond_3 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemsChanged:Z if-eqz v0, :cond_2 goto :goto_1 :cond_2 move v0, v1 goto :goto_2 :cond_3 :goto_1 move v0, v2 :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; .line 4283 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 4289 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 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4290 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 4293 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->predictiveItemAnimationsEnabled()Z move-result p0 if-eqz p0, :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 2954 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureLeftGlow()V iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; neg-float v4, p2 .line 2955 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I move-result v5 int-to-float v5, v5 div-float/2addr v4, v5 .line 2956 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 .line 2955 invoke-static {v1, v4, p3}, Landroidx/core/widget/EdgeEffectCompat;->onPullDistance(Landroid/widget/EdgeEffect;FF)F goto :goto_0 :cond_0 cmpl-float v1, p2, v0 if-lez v1, :cond_1 .line 2959 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureRightGlow()V iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; .line 2960 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;->onPullDistance(Landroid/widget/EdgeEffect;FF)F goto :goto_0 :cond_1 const/4 v2, 0x0 :goto_0 cmpg-float p3, p4, v0 if-gez p3, :cond_2 .line 2965 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureTopGlow()V iget-object p2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; neg-float p3, p4 .line 2966 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;->onPullDistance(Landroid/widget/EdgeEffect;FF)F goto :goto_1 :cond_2 cmpl-float p3, p4, v0 if-lez p3, :cond_3 .line 2969 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureBottomGlow()V iget-object p2, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; .line 2970 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getHeight()I move-result p3 int-to-float p3, p3 div-float/2addr p4, p3 .line 2971 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 .line 2970 invoke-static {p2, p4, v3}, Landroidx/core/widget/EdgeEffectCompat;->onPullDistance(Landroid/widget/EdgeEffect;FF)F 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 2976 :cond_4 :goto_1 invoke-static {p0}, Landroidx/core/view/ViewCompat;->postInvalidateOnAnimation(Landroid/view/View;)V :cond_5 return-void .end method .method private recoverFocusFromState()V .locals 6 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPreserveFocusAfterLayout:Z if-eqz v0, :cond_9 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; if-eqz v0, :cond_9 .line 4435 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->hasFocus()Z move-result v0 if-eqz v0, :cond_9 .line 4436 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getDescendantFocusability()I move-result v0 const/high16 v1, 0x60000 if-eq v0, v1, :cond_9 .line 4437 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 4445 :cond_0 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isFocused()Z move-result v0 if-nez v0, :cond_3 .line 4446 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getFocusedChild()Landroid/view/View; move-result-object v0 sget-boolean v1, Landroidx/recyclerview/widget/RecyclerView;->IGNORE_DETACHED_FOCUSED_CHILD:Z if-eqz v1, :cond_2 .line 4448 invoke-virtual {v0}, Landroid/view/View;->getParent()Landroid/view/ViewParent; move-result-object v1 if-eqz v1, :cond_1 invoke-virtual {v0}, Landroid/view/View;->hasFocus()Z move-result v1 if-nez v1, :cond_2 :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 4460 invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I move-result v0 if-nez v0, :cond_3 .line 4463 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestFocus()Z return-void :cond_2 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 4466 invoke-virtual {v1, v0}, Landroidx/recyclerview/widget/ChildHelper;->isHidden(Landroid/view/View;)Z move-result v0 if-nez v0, :cond_3 return-void :cond_3 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4476 iget-wide v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemId:J const-wide/16 v2, -0x1 cmp-long v0, v0, v2 const/4 v1, 0x0 if-eqz v0, :cond_4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z move-result v0 if-eqz v0, :cond_4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4477 iget-wide v4, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemId:J invoke-virtual {p0, v4, v5}, Landroidx/recyclerview/widget/RecyclerView;->findViewHolderForItemId(J)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v0 goto :goto_0 :cond_4 move-object v0, v1 :goto_0 if-eqz v0, :cond_6 iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 4480 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 4481 invoke-virtual {v4}, Landroid/view/View;->hasFocusable()Z move-result v4 if-nez v4, :cond_5 goto :goto_1 .line 4494 :cond_5 iget-object v1, v0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; goto :goto_2 :cond_6 :goto_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 4482 invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I move-result v0 if-lez v0, :cond_7 .line 4489 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->findNextViewToFocus()Landroid/view/View; move-result-object v1 :cond_7 :goto_2 if-eqz v1, :cond_9 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4498 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 iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4499 iget p0, p0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedSubChildId:I invoke-virtual {v1, p0}, Landroid/view/View;->findViewById(I)Landroid/view/View; move-result-object p0 if-eqz p0, :cond_8 .line 4500 invoke-virtual {p0}, Landroid/view/View;->isFocusable()Z move-result v0 if-eqz v0, :cond_8 move-object v1, p0 .line 4504 :cond_8 invoke-virtual {v1}, Landroid/view/View;->requestFocus()Z :cond_9 :goto_3 return-void .end method .method private releaseGlows()V .locals 2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; if-eqz v0, :cond_0 .line 2983 invoke-virtual {v0}, Landroid/widget/EdgeEffect;->onRelease()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; .line 2984 invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z move-result v0 goto :goto_0 :cond_0 const/4 v0, 0x0 :goto_0 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; if-eqz v1, :cond_1 .line 2987 invoke-virtual {v1}, Landroid/widget/EdgeEffect;->onRelease()V iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; .line 2988 invoke-virtual {v1}, Landroid/widget/EdgeEffect;->isFinished()Z move-result v1 or-int/2addr v0, v1 :cond_1 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; if-eqz v1, :cond_2 .line 2991 invoke-virtual {v1}, Landroid/widget/EdgeEffect;->onRelease()V iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; .line 2992 invoke-virtual {v1}, Landroid/widget/EdgeEffect;->isFinished()Z move-result v1 or-int/2addr v0, v1 :cond_2 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; if-eqz v1, :cond_3 .line 2995 invoke-virtual {v1}, Landroid/widget/EdgeEffect;->onRelease()V iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; .line 2996 invoke-virtual {v1}, Landroid/widget/EdgeEffect;->isFinished()Z move-result v1 or-int/2addr v0, v1 :cond_3 if-eqz v0, :cond_4 .line 2999 invoke-static {p0}, Landroidx/core/view/ViewCompat;->postInvalidateOnAnimation(Landroid/view/View;)V :cond_4 return-void .end method .method private releaseHorizontalGlow(IF)I .locals 3 .line 2201 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getHeight()I move-result v0 int-to-float v0, v0 div-float/2addr p2, v0 int-to-float p1, p1 .line 2202 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I move-result v0 int-to-float v0, v0 div-float/2addr p1, v0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; const/4 v1, 0x0 if-eqz v0, :cond_2 .line 2203 invoke-static {v0}, Landroidx/core/widget/EdgeEffectCompat;->getDistance(Landroid/widget/EdgeEffect;)F move-result v0 cmpl-float v0, v0, v1 if-eqz v0, :cond_2 const/4 v0, -0x1 .line 2204 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->canScrollHorizontally(I)Z move-result v0 if-eqz v0, :cond_0 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; .line 2205 invoke-virtual {p1}, Landroid/widget/EdgeEffect;->onRelease()V goto :goto_0 :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; neg-float p1, p1 const/high16 v2, 0x3f800000 # 1.0f sub-float/2addr v2, p2 .line 2207 invoke-static {v0, p1, v2}, Landroidx/core/widget/EdgeEffectCompat;->onPullDistance(Landroid/widget/EdgeEffect;FF)F move-result p1 neg-float p1, p1 iget-object p2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; .line 2209 invoke-static {p2}, Landroidx/core/widget/EdgeEffectCompat;->getDistance(Landroid/widget/EdgeEffect;)F move-result p2 cmpl-float p2, p2, v1 if-nez p2, :cond_1 iget-object p2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; .line 2210 invoke-virtual {p2}, Landroid/widget/EdgeEffect;->onRelease()V :cond_1 move v1, p1 .line 2213 :goto_0 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->invalidate()V goto :goto_2 :cond_2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; if-eqz v0, :cond_5 .line 2214 invoke-static {v0}, Landroidx/core/widget/EdgeEffectCompat;->getDistance(Landroid/widget/EdgeEffect;)F move-result v0 cmpl-float v0, v0, v1 if-eqz v0, :cond_5 const/4 v0, 0x1 .line 2215 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->canScrollHorizontally(I)Z move-result v0 if-eqz v0, :cond_3 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; .line 2216 invoke-virtual {p1}, Landroid/widget/EdgeEffect;->onRelease()V goto :goto_1 :cond_3 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; .line 2218 invoke-static {v0, p1, p2}, Landroidx/core/widget/EdgeEffectCompat;->onPullDistance(Landroid/widget/EdgeEffect;FF)F move-result p1 iget-object p2, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; .line 2219 invoke-static {p2}, Landroidx/core/widget/EdgeEffectCompat;->getDistance(Landroid/widget/EdgeEffect;)F move-result p2 cmpl-float p2, p2, v1 if-nez p2, :cond_4 iget-object p2, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; .line 2220 invoke-virtual {p2}, Landroid/widget/EdgeEffect;->onRelease()V :cond_4 move v1, p1 .line 2223 :goto_1 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->invalidate()V .line 2225 :cond_5 :goto_2 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I move-result p0 int-to-float p0, p0 mul-float/2addr v1, p0 invoke-static {v1}, Ljava/lang/Math;->round(F)I move-result p0 return p0 .end method .method private releaseVerticalGlow(IF)I .locals 3 .line 2241 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I move-result v0 int-to-float v0, v0 div-float/2addr p2, v0 int-to-float p1, p1 .line 2242 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getHeight()I move-result v0 int-to-float v0, v0 div-float/2addr p1, v0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; const/4 v1, 0x0 if-eqz v0, :cond_2 .line 2243 invoke-static {v0}, Landroidx/core/widget/EdgeEffectCompat;->getDistance(Landroid/widget/EdgeEffect;)F move-result v0 cmpl-float v0, v0, v1 if-eqz v0, :cond_2 const/4 v0, -0x1 .line 2244 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->canScrollVertically(I)Z move-result v0 if-eqz v0, :cond_0 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; .line 2245 invoke-virtual {p1}, Landroid/widget/EdgeEffect;->onRelease()V goto :goto_0 :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; neg-float p1, p1 .line 2247 invoke-static {v0, p1, p2}, Landroidx/core/widget/EdgeEffectCompat;->onPullDistance(Landroid/widget/EdgeEffect;FF)F move-result p1 neg-float p1, p1 iget-object p2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; .line 2248 invoke-static {p2}, Landroidx/core/widget/EdgeEffectCompat;->getDistance(Landroid/widget/EdgeEffect;)F move-result p2 cmpl-float p2, p2, v1 if-nez p2, :cond_1 iget-object p2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; .line 2249 invoke-virtual {p2}, Landroid/widget/EdgeEffect;->onRelease()V :cond_1 move v1, p1 .line 2252 :goto_0 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->invalidate()V goto :goto_2 :cond_2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; if-eqz v0, :cond_5 .line 2253 invoke-static {v0}, Landroidx/core/widget/EdgeEffectCompat;->getDistance(Landroid/widget/EdgeEffect;)F move-result v0 cmpl-float v0, v0, v1 if-eqz v0, :cond_5 const/4 v0, 0x1 .line 2254 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->canScrollVertically(I)Z move-result v0 if-eqz v0, :cond_3 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; .line 2255 invoke-virtual {p1}, Landroid/widget/EdgeEffect;->onRelease()V goto :goto_1 :cond_3 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; const/high16 v2, 0x3f800000 # 1.0f sub-float/2addr v2, p2 .line 2257 invoke-static {v0, p1, v2}, Landroidx/core/widget/EdgeEffectCompat;->onPullDistance(Landroid/widget/EdgeEffect;FF)F move-result p1 iget-object p2, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; .line 2259 invoke-static {p2}, Landroidx/core/widget/EdgeEffectCompat;->getDistance(Landroid/widget/EdgeEffect;)F move-result p2 cmpl-float p2, p2, v1 if-nez p2, :cond_4 iget-object p2, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; .line 2260 invoke-virtual {p2}, Landroid/widget/EdgeEffect;->onRelease()V :cond_4 move v1, p1 .line 2263 :goto_1 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->invalidate()V .line 2265 :cond_5 :goto_2 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getHeight()I move-result p0 int-to-float p0, p0 mul-float/2addr v1, p0 invoke-static {v1}, Ljava/lang/Math;->round(F)I move-result p0 return p0 .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 :goto_0 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; .line 3335 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 3340 invoke-virtual {v0}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams; move-result-object v0 .line 3341 instance-of v1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams; if-eqz v1, :cond_1 .line 3343 check-cast v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams; .line 3344 iget-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mInsetsDirty:Z if-nez v1, :cond_1 .line 3345 iget-object v0, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mDecorInsets:Landroid/graphics/Rect; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; .line 3346 iget v2, v1, Landroid/graphics/Rect;->left:I iget v3, v0, Landroid/graphics/Rect;->left:I sub-int/2addr v2, v3 iput v2, v1, Landroid/graphics/Rect;->left:I iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; .line 3347 iget v2, v1, Landroid/graphics/Rect;->right:I iget v3, v0, Landroid/graphics/Rect;->right:I add-int/2addr v2, v3 iput v2, v1, Landroid/graphics/Rect;->right:I iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; .line 3348 iget v2, v1, Landroid/graphics/Rect;->top:I iget v3, v0, Landroid/graphics/Rect;->top:I sub-int/2addr v2, v3 iput v2, v1, Landroid/graphics/Rect;->top:I iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; .line 3349 iget v2, v1, Landroid/graphics/Rect;->bottom:I iget v0, v0, Landroid/graphics/Rect;->bottom:I add-int/2addr v2, v0 iput v2, v1, Landroid/graphics/Rect;->bottom:I :cond_1 if-eqz p2, :cond_2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; .line 3354 invoke-virtual {p0, p2, v0}, Landroidx/recyclerview/widget/RecyclerView;->offsetDescendantRectToMyCoords(Landroid/view/View;Landroid/graphics/Rect;)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; .line 3355 invoke-virtual {p0, p1, v0}, Landroidx/recyclerview/widget/RecyclerView;->offsetRectIntoDescendantCoords(Landroid/view/View;Landroid/graphics/Rect;)V :cond_2 iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v8, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z const/4 v1, 0x1 xor-int/lit8 v9, v0, 0x1 if-nez p2, :cond_3 move v10, v1 goto :goto_1 :cond_3 move v10, v4 :goto_1 move-object v6, p0 move-object v7, p1 .line 3357 invoke-virtual/range {v5 .. v10}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->requestChildRectangleOnScreen(Landroidx/recyclerview/widget/RecyclerView;Landroid/view/View;Landroid/graphics/Rect;ZZ)Z return-void .end method .method private resetFocusInfo()V .locals 3 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; const-wide/16 v1, -0x1 .line 4392 iput-wide v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemId:J iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; const/4 v1, -0x1 .line 4393 iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemPosition:I iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4394 iput v1, p0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedSubChildId:I return-void .end method .method private resetScroll()V .locals 1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker; if-eqz v0, :cond_0 .line 3916 invoke-virtual {v0}, Landroid/view/VelocityTracker;->clear()V :cond_0 const/4 v0, 0x0 .line 3918 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->stopNestedScroll(I)V .line 3919 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->releaseGlows()V return-void .end method .method private saveFocusInfo()V .locals 4 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPreserveFocusAfterLayout:Z const/4 v1, 0x0 if-eqz v0, :cond_0 .line 4372 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 4373 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 4376 :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 4378 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->resetFocusInfo()V goto :goto_4 :cond_2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; .line 4380 invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z move-result v2 if-eqz v2, :cond_3 invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getItemId()J move-result-wide v2 goto :goto_2 :cond_3 const-wide/16 v2, -0x1 :goto_2 iput-wide v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemId:J iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; iget-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z if-eqz v2, :cond_4 const/4 v2, -0x1 goto :goto_3 .line 4385 :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 4386 :cond_5 invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getAbsoluteAdapterPosition()I move-result v2 :goto_3 iput v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemPosition:I iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4387 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 p0 iput p0, 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 .annotation system Ldalvik/annotation/Signature; value = { "(", "Landroidx/recyclerview/widget/RecyclerView$Adapter<", "*>;ZZ)V" } .end annotation iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; if-eqz v0, :cond_0 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mObserver:Landroidx/recyclerview/widget/RecyclerView$RecyclerViewDataObserver; .line 1304 invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->unregisterAdapterDataObserver(Landroidx/recyclerview/widget/RecyclerView$AdapterDataObserver;)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; .line 1305 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 1308 :cond_1 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->removeAndRecycleViews()V :cond_2 iget-object p3, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper; .line 1310 invoke-virtual {p3}, Landroidx/recyclerview/widget/AdapterHelper;->reset()V iget-object p3, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; if-eqz p1, :cond_3 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mObserver:Landroidx/recyclerview/widget/RecyclerView$RecyclerViewDataObserver; .line 1314 invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->registerAdapterDataObserver(Landroidx/recyclerview/widget/RecyclerView$AdapterDataObserver;)V .line 1315 invoke-virtual {p1, p0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->onAttachedToRecyclerView(Landroidx/recyclerview/widget/RecyclerView;)V :cond_3 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz p1, :cond_4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; .line 1318 invoke-virtual {p1, p3, v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onAdapterChanged(Landroidx/recyclerview/widget/RecyclerView$Adapter;Landroidx/recyclerview/widget/RecyclerView$Adapter;)V :cond_4 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; .line 1320 invoke-virtual {p1, p3, v0, p2}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->onAdapterChanged(Landroidx/recyclerview/widget/RecyclerView$Adapter;Landroidx/recyclerview/widget/RecyclerView$Adapter;Z)V iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; const/4 p1, 0x1 .line 1321 iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z return-void .end method .method public static setDebugAssertionsEnabled(Z)V .locals 0 sput-boolean p0, Landroidx/recyclerview/widget/RecyclerView;->sDebugAssertionsEnabled:Z return-void .end method .method public static setVerboseLoggingEnabled(Z)V .locals 0 sput-boolean p0, Landroidx/recyclerview/widget/RecyclerView;->sVerboseLoggingEnabled:Z return-void .end method .method private shouldAbsorb(Landroid/widget/EdgeEffect;II)Z .locals 1 const/4 v0, 0x1 if-lez p2, :cond_0 return v0 .line 2841 :cond_0 invoke-static {p1}, Landroidx/core/widget/EdgeEffectCompat;->getDistance(Landroid/widget/EdgeEffect;)F move-result p1 int-to-float p3, p3 mul-float/2addr p1, p3 neg-int p2, p2 .line 2844 invoke-direct {p0, p2}, Landroidx/recyclerview/widget/RecyclerView;->getSplineFlingDistance(I)F move-result p0 cmpg-float p0, p0, p1 if-gez p0, :cond_1 goto :goto_0 :cond_1 const/4 v0, 0x0 :goto_0 return v0 .end method .method private stopGlowAnimations(Landroid/view/MotionEvent;)Z .locals 7 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; const/high16 v1, 0x3f800000 # 1.0f const/4 v2, -0x1 const/4 v3, 0x1 const/4 v4, 0x0 if-eqz v0, :cond_0 .line 3716 invoke-static {v0}, Landroidx/core/widget/EdgeEffectCompat;->getDistance(Landroid/widget/EdgeEffect;)F move-result v0 cmpl-float v0, v0, v4 if-eqz v0, :cond_0 .line 3717 invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->canScrollHorizontally(I)Z move-result v0 if-nez v0, :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; .line 3718 invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F move-result v5 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getHeight()I move-result v6 int-to-float v6, v6 div-float/2addr v5, v6 sub-float v5, v1, v5 invoke-static {v0, v4, v5}, Landroidx/core/widget/EdgeEffectCompat;->onPullDistance(Landroid/widget/EdgeEffect;FF)F move v0, v3 goto :goto_0 :cond_0 const/4 v0, 0x0 :goto_0 iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; if-eqz v5, :cond_1 .line 3721 invoke-static {v5}, Landroidx/core/widget/EdgeEffectCompat;->getDistance(Landroid/widget/EdgeEffect;)F move-result v5 cmpl-float v5, v5, v4 if-eqz v5, :cond_1 .line 3722 invoke-virtual {p0, v3}, Landroidx/recyclerview/widget/RecyclerView;->canScrollHorizontally(I)Z move-result v5 if-nez v5, :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; .line 3723 invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F move-result v5 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getHeight()I move-result v6 int-to-float v6, v6 div-float/2addr v5, v6 invoke-static {v0, v4, v5}, Landroidx/core/widget/EdgeEffectCompat;->onPullDistance(Landroid/widget/EdgeEffect;FF)F move v0, v3 :cond_1 iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; if-eqz v5, :cond_2 .line 3726 invoke-static {v5}, Landroidx/core/widget/EdgeEffectCompat;->getDistance(Landroid/widget/EdgeEffect;)F move-result v5 cmpl-float v5, v5, v4 if-eqz v5, :cond_2 .line 3727 invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->canScrollVertically(I)Z move-result v2 if-nez v2, :cond_2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; .line 3728 invoke-virtual {p1}, Landroid/view/MotionEvent;->getX()F move-result v2 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I move-result v5 int-to-float v5, v5 div-float/2addr v2, v5 invoke-static {v0, v4, v2}, Landroidx/core/widget/EdgeEffectCompat;->onPullDistance(Landroid/widget/EdgeEffect;FF)F move v0, v3 :cond_2 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; if-eqz v2, :cond_3 .line 3731 invoke-static {v2}, Landroidx/core/widget/EdgeEffectCompat;->getDistance(Landroid/widget/EdgeEffect;)F move-result v2 cmpl-float v2, v2, v4 if-eqz v2, :cond_3 .line 3732 invoke-virtual {p0, v3}, Landroidx/recyclerview/widget/RecyclerView;->canScrollVertically(I)Z move-result v2 if-nez v2, :cond_3 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; .line 3733 invoke-virtual {p1}, Landroid/view/MotionEvent;->getX()F move-result p1 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I move-result p0 int-to-float p0, p0 div-float/2addr p1, p0 sub-float/2addr v1, p1 invoke-static {v0, v4, v1}, Landroidx/core/widget/EdgeEffectCompat;->onPullDistance(Landroid/widget/EdgeEffect;FF)F goto :goto_1 :cond_3 move v3, v0 :goto_1 return v3 .end method .method private stopScrollersInternal()V .locals 1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$ViewFlinger; .line 2923 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;->stop()V iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz p0, :cond_0 .line 2925 invoke-virtual {p0}, 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 3028 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureLeftGlow()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; .line 3029 invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z move-result v0 if-eqz v0, :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; neg-int v1, p1 .line 3030 invoke-virtual {v0, v1}, Landroid/widget/EdgeEffect;->onAbsorb(I)V goto :goto_0 :cond_0 if-lez p1, :cond_1 .line 3033 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureRightGlow()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; .line 3034 invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z move-result v0 if-eqz v0, :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; .line 3035 invoke-virtual {v0, p1}, Landroid/widget/EdgeEffect;->onAbsorb(I)V :cond_1 :goto_0 if-gez p2, :cond_2 .line 3040 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureTopGlow()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; .line 3041 invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z move-result v0 if-eqz v0, :cond_3 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; neg-int v1, p2 .line 3042 invoke-virtual {v0, v1}, Landroid/widget/EdgeEffect;->onAbsorb(I)V goto :goto_1 :cond_2 if-lez p2, :cond_3 .line 3045 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureBottomGlow()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; .line 3046 invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z move-result v0 if-eqz v0, :cond_3 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; .line 3047 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 3052 :cond_4 invoke-static {p0}, Landroidx/core/view/ViewCompat;->postInvalidateOnAnimation(Landroid/view/View;)V :cond_5 return-void .end method .method public addFocusables(Ljava/util/ArrayList;II)V .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/ArrayList<", "Landroid/view/View;", ">;II)V" } .end annotation iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz v0, :cond_0 .line 3368 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 3369 :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 1737 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 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz v0, :cond_0 const-string v1, "Cannot add item decoration during a scroll or layout" .line 1709 invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->assertNotInLayoutOrScroll(Ljava/lang/String;)V :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; .line 1712 invoke-virtual {v0}, Ljava/util/ArrayList;->isEmpty()Z move-result v0 if-eqz v0, :cond_1 const/4 v0, 0x0 .line 1713 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setWillNotDraw(Z)V :cond_1 if-gez p2, :cond_2 iget-object p2, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; .line 1716 invoke-virtual {p2, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z goto :goto_0 :cond_2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; .line 1718 invoke-virtual {v0, p2, p1}, Ljava/util/ArrayList;->add(ILjava/lang/Object;)V .line 1720 :goto_0 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->markItemDecorInsetsDirty()V .line 1721 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V return-void .end method .method public addOnChildAttachStateChangeListener(Landroidx/recyclerview/widget/RecyclerView$OnChildAttachStateChangeListener;)V .locals 1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List; if-nez v0, :cond_0 .line 1408 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List; :cond_0 iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List; .line 1410 invoke-interface {p0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z return-void .end method .method public addOnItemTouchListener(Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;)V .locals 0 iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList; .line 3510 invoke-virtual {p0, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z return-void .end method .method public addOnScrollListener(Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;)V .locals 1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List; if-nez v0, :cond_0 .line 1846 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List; :cond_0 iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List; .line 1848 invoke-interface {p0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z return-void .end method .method public addRecyclerListener(Landroidx/recyclerview/widget/RecyclerView$RecyclerListener;)V .locals 2 if-eqz p1, :cond_0 const/4 v0, 0x1 goto :goto_0 :cond_0 const/4 v0, 0x0 :goto_0 const-string v1, "\'listener\' arg cannot be null." .line 1363 invoke-static {v0, v1}, Landroidx/core/util/Preconditions;->checkArgument(ZLjava/lang/Object;)V iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecyclerListeners:Ljava/util/List; .line 1365 invoke-interface {p0, 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 4878 invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->setIsRecyclable(Z)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; .line 4879 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 4880 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 4886 invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->addAnimatingView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V const/4 v0, 0x0 .line 4887 invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->setIsRecyclable(Z)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; .line 4888 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 4889 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->postAnimationRunner()V :cond_0 return-void .end method .method assertInLayoutOrScroll(Ljava/lang/String;)V .locals 2 .line 3461 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isComputingLayout()Z move-result v0 if-nez v0, :cond_1 if-nez p1, :cond_0 .line 3463 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 3464 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String; move-result-object p0 invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p0 invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 invoke-direct {p1, p0}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw p1 .line 3466 :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 p0 invoke-virtual {p1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p0 invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 invoke-direct {v0, p0}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw v0 :cond_1 return-void .end method .method assertNotInLayoutOrScroll(Ljava/lang/String;)V .locals 2 .line 3479 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isComputingLayout()Z move-result v0 if-eqz v0, :cond_1 if-nez p1, :cond_0 .line 3481 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 3482 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String; move-result-object p0 invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p0 invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 invoke-direct {p1, p0}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw p1 .line 3484 :cond_0 new-instance p0, Ljava/lang/IllegalStateException; invoke-direct {p0, p1}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw p0 :cond_1 iget p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchScrollCounter:I if-lez p1, :cond_2 .line 3487 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 3492 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String; move-result-object p0 invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p0 invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 invoke-direct {p1, p0}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V const-string p0, "RecyclerView" const-string v0, "Cannot call this method in a scroll callback. Scroll callbacks mightbe run during a measure & layout pass where you cannot change theRecyclerView data. Any method call that might change the structureof the RecyclerView or the adapter contents should be postponed tothe next frame." .line 3487 invoke-static {p0, v0, 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 1 iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; if-eqz p0, :cond_1 .line 5190 invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getUnmodifiedPayloads()Ljava/util/List; move-result-object v0 .line 5189 invoke-virtual {p0, p1, v0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->canReuseUpdatedViewHolder(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Ljava/util/List;)Z move-result p0 if-eqz p0, :cond_0 goto :goto_0 :cond_0 const/4 p0, 0x0 goto :goto_1 :cond_1 :goto_0 const/4 p0, 0x1 :goto_1 return p0 .end method .method protected checkLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Z .locals 1 .line 5015 instance-of v0, p1, Landroidx/recyclerview/widget/RecyclerView$LayoutParams; if-eqz v0, :cond_0 iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; check-cast p1, Landroidx/recyclerview/widget/RecyclerView$LayoutParams; invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->checkLayoutParams(Landroidx/recyclerview/widget/RecyclerView$LayoutParams;)Z move-result p0 if-eqz p0, :cond_0 const/4 p0, 0x1 goto :goto_0 :cond_0 const/4 p0, 0x0 :goto_0 return p0 .end method .method clearOldPositions()V .locals 4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 5069 invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I move-result v0 const/4 v1, 0x0 :goto_0 if-ge v1, v0, :cond_1 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 5071 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 5072 invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z move-result v3 if-nez v3, :cond_0 .line 5073 invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->clearOldPosition()V :cond_0 add-int/lit8 v1, v1, 0x1 goto :goto_0 :cond_1 iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; .line 5076 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->clearOldPositions()V return-void .end method .method public clearOnChildAttachStateChangeListeners()V .locals 0 iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List; if-eqz p0, :cond_0 .line 1432 invoke-interface {p0}, Ljava/util/List;->clear()V :cond_0 return-void .end method .method public clearOnScrollListeners()V .locals 0 iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List; if-eqz p0, :cond_0 .line 1867 invoke-interface {p0}, Ljava/util/List;->clear()V :cond_0 return-void .end method .method public computeHorizontalScrollExtent()I .locals 2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; const/4 v1, 0x0 if-nez v0, :cond_0 return v1 .line 2316 :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 p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->computeHorizontalScrollExtent(Landroidx/recyclerview/widget/RecyclerView$State;)I move-result v1 :cond_1 return v1 .end method .method public computeHorizontalScrollOffset()I .locals 2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; const/4 v1, 0x0 if-nez v0, :cond_0 return v1 .line 2291 :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 p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->computeHorizontalScrollOffset(Landroidx/recyclerview/widget/RecyclerView$State;)I move-result v1 :cond_1 return v1 .end method .method public computeHorizontalScrollRange()I .locals 2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; const/4 v1, 0x0 if-nez v0, :cond_0 return v1 .line 2339 :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 p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->computeHorizontalScrollRange(Landroidx/recyclerview/widget/RecyclerView$State;)I move-result v1 :cond_1 return v1 .end method .method public computeVerticalScrollExtent()I .locals 2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; const/4 v1, 0x0 if-nez v0, :cond_0 return v1 .line 2388 :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 p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->computeVerticalScrollExtent(Landroidx/recyclerview/widget/RecyclerView$State;)I move-result v1 :cond_1 return v1 .end method .method public computeVerticalScrollOffset()I .locals 2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; const/4 v1, 0x0 if-nez v0, :cond_0 return v1 .line 2364 :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 p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->computeVerticalScrollOffset(Landroidx/recyclerview/widget/RecyclerView$State;)I move-result v1 :cond_1 return v1 .end method .method public computeVerticalScrollRange()I .locals 2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; const/4 v1, 0x0 if-nez v0, :cond_0 return v1 .line 2411 :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 p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {v0, p0}, 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 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; if-eqz v0, :cond_0 .line 3005 invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z move-result v0 if-nez v0, :cond_0 if-lez p1, :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; .line 3006 invoke-virtual {v0}, Landroid/widget/EdgeEffect;->onRelease()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; .line 3007 invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z move-result v0 goto :goto_0 :cond_0 const/4 v0, 0x0 :goto_0 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; if-eqz v1, :cond_1 .line 3009 invoke-virtual {v1}, Landroid/widget/EdgeEffect;->isFinished()Z move-result v1 if-nez v1, :cond_1 if-gez p1, :cond_1 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; .line 3010 invoke-virtual {p1}, Landroid/widget/EdgeEffect;->onRelease()V iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; .line 3011 invoke-virtual {p1}, Landroid/widget/EdgeEffect;->isFinished()Z move-result p1 or-int/2addr v0, p1 :cond_1 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; if-eqz p1, :cond_2 .line 3013 invoke-virtual {p1}, Landroid/widget/EdgeEffect;->isFinished()Z move-result p1 if-nez p1, :cond_2 if-lez p2, :cond_2 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; .line 3014 invoke-virtual {p1}, Landroid/widget/EdgeEffect;->onRelease()V iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; .line 3015 invoke-virtual {p1}, Landroid/widget/EdgeEffect;->isFinished()Z move-result p1 or-int/2addr v0, p1 :cond_2 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; if-eqz p1, :cond_3 .line 3017 invoke-virtual {p1}, Landroid/widget/EdgeEffect;->isFinished()Z move-result p1 if-nez p1, :cond_3 if-gez p2, :cond_3 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; .line 3018 invoke-virtual {p1}, Landroid/widget/EdgeEffect;->onRelease()V iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; .line 3019 invoke-virtual {p1}, Landroid/widget/EdgeEffect;->isFinished()Z move-result p1 or-int/2addr v0, p1 :cond_3 if-eqz v0, :cond_4 .line 3022 invoke-static {p0}, Landroidx/core/view/ViewCompat;->postInvalidateOnAnimation(Landroid/view/View;)V :cond_4 return-void .end method .method consumeFlingInHorizontalStretch(I)I .locals 3 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; .line 2858 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I move-result v2 invoke-direct {p0, p1, v0, v1, v2}, Landroidx/recyclerview/widget/RecyclerView;->consumeFlingInStretch(ILandroid/widget/EdgeEffect;Landroid/widget/EdgeEffect;I)I move-result p0 return p0 .end method .method consumeFlingInVerticalStretch(I)I .locals 3 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; .line 2870 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getHeight()I move-result v2 invoke-direct {p0, p1, v0, v1, v2}, Landroidx/recyclerview/widget/RecyclerView;->consumeFlingInStretch(ILandroid/widget/EdgeEffect;Landroid/widget/EdgeEffect;I)I move-result p0 return p0 .end method .method consumePendingUpdateOperations()V .locals 3 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z const-string v1, "RV FullInvalidate" if-eqz v0, :cond_6 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z if-eqz v0, :cond_0 goto :goto_2 :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper; .line 2080 invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->hasPendingUpdates()Z move-result v0 if-nez v0, :cond_1 return-void :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper; const/4 v2, 0x4 .line 2086 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 2087 invoke-virtual {v0, v2}, Landroidx/recyclerview/widget/AdapterHelper;->hasAnyUpdateTypes(I)Z move-result v0 if-nez v0, :cond_4 const-string v0, "RV PartialInvalidate" .line 2089 invoke-static {v0}, Landroidx/core/os/TraceCompat;->beginSection(Ljava/lang/String;)V .line 2090 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V .line 2091 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper; .line 2092 invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->preProcess()V iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z if-nez v0, :cond_3 .line 2094 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->hasUpdatedView()Z move-result v0 if-eqz v0, :cond_2 .line 2095 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayout()V goto :goto_0 :cond_2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper; .line 2098 invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->consumePostponedUpdates()V :cond_3 :goto_0 const/4 v0, 0x1 .line 2101 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V .line 2102 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V .line 2103 invoke-static {}, Landroidx/core/os/TraceCompat;->endSection()V goto :goto_1 :cond_4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper; .line 2104 invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->hasPendingUpdates()Z move-result v0 if-eqz v0, :cond_5 .line 2105 invoke-static {v1}, Landroidx/core/os/TraceCompat;->beginSection(Ljava/lang/String;)V .line 2106 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayout()V .line 2107 invoke-static {}, Landroidx/core/os/TraceCompat;->endSection()V :cond_5 :goto_1 return-void .line 2075 :cond_6 :goto_2 invoke-static {v1}, Landroidx/core/os/TraceCompat;->beginSection(Ljava/lang/String;)V .line 2076 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayout()V .line 2077 invoke-static {}, Landroidx/core/os/TraceCompat;->endSection()V return-void .end method .method defaultOnMeasure(II)V .locals 2 .line 4092 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 4093 invoke-static {p0}, Landroidx/core/view/ViewCompat;->getMinimumWidth(Landroid/view/View;)I move-result v1 .line 4091 invoke-static {p1, v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->chooseSize(III)I move-result p1 .line 4095 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 4096 invoke-static {p0}, Landroidx/core/view/ViewCompat;->getMinimumHeight(Landroid/view/View;)I move-result v1 .line 4094 invoke-static {p2, v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->chooseSize(III)I move-result p2 .line 4098 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 8374 invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v0 .line 8375 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->onChildAttachedToWindow(Landroid/view/View;)V iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; if-eqz v1, :cond_0 if-eqz v0, :cond_0 .line 8377 invoke-virtual {v1, v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->onViewAttachedToWindow(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List; if-eqz v0, :cond_1 .line 8380 invoke-interface {v0}, Ljava/util/List;->size()I move-result v0 add-int/lit8 v0, v0, -0x1 :goto_0 if-ltz v0, :cond_1 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List; .line 8382 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 8359 invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v0 .line 8360 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->onChildDetachedFromWindow(Landroid/view/View;)V iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; if-eqz v1, :cond_0 if-eqz v0, :cond_0 .line 8362 invoke-virtual {v1, v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->onViewDetachedFromWindow(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List; if-eqz v0, :cond_1 .line 8365 invoke-interface {v0}, Ljava/util/List;->size()I move-result v0 add-int/lit8 v0, v0, -0x1 :goto_0 if-ltz v0, :cond_1 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List; .line 8367 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 4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; const-string v1, "RecyclerView" if-nez v0, :cond_0 const-string p0, "No adapter attached; skipping layout" .line 4323 invoke-static {v1, p0}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I return-void :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-nez v0, :cond_1 const-string p0, "No layout manager attached; skipping layout" .line 4328 invoke-static {v1, p0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I return-void :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; const/4 v1, 0x0 .line 4332 iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mIsMeasuring:Z iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureSkippedDueToExact:Z const/4 v2, 0x1 if-eqz v0, :cond_3 iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureNonExactMeasuredWidth:I .line 4339 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I move-result v3 if-ne v0, v3, :cond_2 iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureNonExactMeasuredHeight:I .line 4340 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getHeight()I move-result v3 if-eq v0, v3, :cond_3 :cond_2 move v0, v2 goto :goto_0 :cond_3 move v0, v1 :goto_0 iput v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureNonExactMeasuredWidth:I iput v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureNonExactMeasuredHeight:I iput-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureSkippedDueToExact:Z iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4345 iget v1, v1, Landroidx/recyclerview/widget/RecyclerView$State;->mLayoutStep:I if-ne v1, v2, :cond_4 .line 4346 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep1()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 4347 invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setExactMeasureSpecsFrom(Landroidx/recyclerview/widget/RecyclerView;)V .line 4348 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep2()V goto :goto_2 :cond_4 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper; .line 4349 invoke-virtual {v1}, Landroidx/recyclerview/widget/AdapterHelper;->hasUpdates()Z move-result v1 if-nez v1, :cond_6 if-nez v0, :cond_6 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 4351 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_6 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 4352 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_5 goto :goto_1 :cond_5 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 4365 invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setExactMeasureSpecsFrom(Landroidx/recyclerview/widget/RecyclerView;)V goto :goto_2 :cond_6 :goto_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 4361 invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setExactMeasureSpecsFrom(Landroidx/recyclerview/widget/RecyclerView;)V .line 4362 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep2()V .line 4367 :goto_2 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep3()V return-void .end method .method public dispatchNestedFling(FFZ)Z .locals 0 .line 12505 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper; move-result-object p0 invoke-virtual {p0, p1, p2, p3}, Landroidx/core/view/NestedScrollingChildHelper;->dispatchNestedFling(FFZ)Z move-result p0 return p0 .end method .method public dispatchNestedPreFling(FF)Z .locals 0 .line 12510 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper; move-result-object p0 invoke-virtual {p0, p1, p2}, Landroidx/core/view/NestedScrollingChildHelper;->dispatchNestedPreFling(FF)Z move-result p0 return p0 .end method .method public dispatchNestedPreScroll(II[I[I)Z .locals 0 .line 12493 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper; move-result-object p0 invoke-virtual {p0, p1, p2, p3, p4}, Landroidx/core/view/NestedScrollingChildHelper;->dispatchNestedPreScroll(II[I[I)Z move-result p0 return p0 .end method .method public dispatchNestedPreScroll(II[I[II)Z .locals 6 .line 12499 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 p0 return p0 .end method .method public final dispatchNestedScroll(IIII[II[I)V .locals 8 .line 12487 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 12473 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 p0 return p0 .end method .method public dispatchNestedScroll(IIII[II)Z .locals 7 .line 12480 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 p0 return p0 .end method .method dispatchOnScrollStateChanged(I)V .locals 2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz v0, :cond_0 .line 5726 invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onScrollStateChanged(I)V .line 5731 :cond_0 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->onScrollStateChanged(I)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListener:Landroidx/recyclerview/widget/RecyclerView$OnScrollListener; if-eqz v0, :cond_1 .line 5735 invoke-virtual {v0, p0, p1}, Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;->onScrollStateChanged(Landroidx/recyclerview/widget/RecyclerView;I)V :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List; if-eqz v0, :cond_2 .line 5738 invoke-interface {v0}, Ljava/util/List;->size()I move-result v0 add-int/lit8 v0, v0, -0x1 :goto_0 if-ltz v0, :cond_2 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List; .line 5739 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 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 5674 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollX()I move-result v0 .line 5675 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollY()I move-result v1 sub-int v2, v0, p1 sub-int v3, v1, p2 .line 5676 invoke-virtual {p0, v0, v1, v2, v3}, Landroidx/recyclerview/widget/RecyclerView;->onScrollChanged(IIII)V .line 5679 invoke-virtual {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->onScrolled(II)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListener:Landroidx/recyclerview/widget/RecyclerView$OnScrollListener; if-eqz v0, :cond_0 .line 5684 invoke-virtual {v0, p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;->onScrolled(Landroidx/recyclerview/widget/RecyclerView;II)V :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List; if-eqz v0, :cond_1 .line 5687 invoke-interface {v0}, Ljava/util/List;->size()I move-result v0 add-int/lit8 v0, v0, -0x1 :goto_0 if-ltz v0, :cond_1 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List; .line 5688 invoke-interface {v1, v0}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object v1 check-cast v1, Landroidx/recyclerview/widget/RecyclerView$OnScrollListener; invoke-virtual {v1, p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;->onScrolled(Landroidx/recyclerview/widget/RecyclerView;II)V add-int/lit8 v0, v0, -0x1 goto :goto_0 :cond_1 iget p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchScrollCounter:I add-int/lit8 p1, p1, -0x1 iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchScrollCounter:I return-void .end method .method dispatchPendingImportantForAccessibilityChanges()V .locals 5 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingAccessibilityImportanceChange:Ljava/util/List; .line 12384 invoke-interface {v0}, Ljava/util/List;->size()I move-result v0 add-int/lit8 v0, v0, -0x1 :goto_0 if-ltz v0, :cond_2 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingAccessibilityImportanceChange:Ljava/util/List; .line 12385 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 12386 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 12389 :cond_0 iget v2, v1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPendingAccessibilityState:I const/4 v3, -0x1 if-eq v2, v3, :cond_1 .line 12392 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 12393 iput v3, v1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPendingAccessibilityState:I :cond_1 :goto_1 add-int/lit8 v0, v0, -0x1 goto :goto_0 :cond_2 iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingAccessibilityImportanceChange:Ljava/util/List; .line 12397 invoke-interface {p0}, Ljava/util/List;->clear()V return-void .end method .method public dispatchPopulateAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)Z .locals 0 .line 4226 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->onPopulateAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)V const/4 p0, 0x1 return p0 .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 1558 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 1550 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 4944 invoke-super {p0, p1}, Landroid/view/ViewGroup;->draw(Landroid/graphics/Canvas;)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; .line 4946 invoke-virtual {v0}, Ljava/util/ArrayList;->size()I move-result v0 const/4 v1, 0x0 move v2, v1 :goto_0 if-ge v2, v0, :cond_0 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; .line 4948 invoke-virtual {v3, v2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v3 check-cast v3, Landroidx/recyclerview/widget/RecyclerView$ItemDecoration; iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {v3, p1, p0, v4}, Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;->onDrawOver(Landroid/graphics/Canvas;Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$State;)V add-int/lit8 v2, v2, 0x1 goto :goto_0 :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; const/4 v2, 0x1 if-eqz v0, :cond_3 .line 4953 invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z move-result v0 if-nez v0, :cond_3 .line 4954 invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I move-result v0 iget-boolean v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z if-eqz v3, :cond_1 .line 4955 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 4956 invoke-virtual {p1, v4}, Landroid/graphics/Canvas;->rotate(F)V .line 4957 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getHeight()I move-result v4 neg-int v4, v4 add-int/2addr v4, v3 int-to-float v3, v4 const/4 v4, 0x0 invoke-virtual {p1, v3, v4}, Landroid/graphics/Canvas;->translate(FF)V iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; if-eqz v3, :cond_2 .line 4958 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 4959 :goto_2 invoke-virtual {p1, v0}, Landroid/graphics/Canvas;->restoreToCount(I)V goto :goto_3 :cond_3 move v3, v1 :goto_3 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; if-eqz v0, :cond_6 .line 4961 invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z move-result v0 if-nez v0, :cond_6 .line 4962 invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I move-result v0 iget-boolean v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z if-eqz v4, :cond_4 .line 4964 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingLeft()I move-result v4 int-to-float v4, v4 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingTop()I move-result v5 int-to-float v5, v5 invoke-virtual {p1, v4, v5}, Landroid/graphics/Canvas;->translate(FF)V :cond_4 iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; if-eqz v4, :cond_5 .line 4966 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 4967 invoke-virtual {p1, v0}, Landroid/graphics/Canvas;->restoreToCount(I)V :cond_6 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; if-eqz v0, :cond_9 .line 4969 invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z move-result v0 if-nez v0, :cond_9 .line 4970 invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I move-result v0 .line 4971 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I move-result v4 iget-boolean v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z if-eqz v5, :cond_7 .line 4972 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 4973 invoke-virtual {p1, v6}, Landroid/graphics/Canvas;->rotate(F)V int-to-float v5, v5 neg-int v4, v4 int-to-float v4, v4 .line 4974 invoke-virtual {p1, v5, v4}, Landroid/graphics/Canvas;->translate(FF)V iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; if-eqz v4, :cond_8 .line 4975 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 4976 invoke-virtual {p1, v0}, Landroid/graphics/Canvas;->restoreToCount(I)V :cond_9 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; if-eqz v0, :cond_c .line 4978 invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z move-result v0 if-nez v0, :cond_c .line 4979 invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I move-result v0 const/high16 v4, 0x43340000 # 180.0f .line 4980 invoke-virtual {p1, v4}, Landroid/graphics/Canvas;->rotate(F)V iget-boolean v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z if-eqz v4, :cond_a .line 4982 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 4984 :cond_a invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I move-result v4 neg-int v4, v4 int-to-float v4, v4 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getHeight()I move-result v5 neg-int v5, v5 int-to-float v5, v5 invoke-virtual {p1, v4, v5}, Landroid/graphics/Canvas;->translate(FF)V :goto_7 iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; if-eqz v4, :cond_b .line 4986 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 4987 invoke-virtual {p1, v0}, Landroid/graphics/Canvas;->restoreToCount(I)V :cond_c if-nez v3, :cond_d iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; if-eqz p1, :cond_d iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; .line 4993 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 4994 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 4999 :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 5545 invoke-super {p0, p1, p2, p3, p4}, Landroid/view/ViewGroup;->drawChild(Landroid/graphics/Canvas;Landroid/view/View;J)Z move-result p0 return p0 .end method .method ensureBottomGlow()V .locals 4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; if-eqz v0, :cond_0 return-void :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory; const/4 v1, 0x3 .line 3100 invoke-virtual {v0, p0, v1}, Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;->createEdgeEffect(Landroidx/recyclerview/widget/RecyclerView;I)Landroid/widget/EdgeEffect; move-result-object v0 iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z if-eqz v1, :cond_1 .line 3102 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 3103 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 p0 sub-int/2addr v2, p0 .line 3102 invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V goto :goto_0 .line 3105 :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 p0 invoke-virtual {v0, v1, p0}, Landroid/widget/EdgeEffect;->setSize(II)V :goto_0 return-void .end method .method ensureLeftGlow()V .locals 4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; if-eqz v0, :cond_0 return-void :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory; const/4 v1, 0x0 .line 3060 invoke-virtual {v0, p0, v1}, Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;->createEdgeEffect(Landroidx/recyclerview/widget/RecyclerView;I)Landroid/widget/EdgeEffect; move-result-object v0 iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z if-eqz v1, :cond_1 .line 3062 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 3063 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 p0 sub-int/2addr v2, p0 .line 3062 invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V goto :goto_0 .line 3065 :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 p0 invoke-virtual {v0, v1, p0}, Landroid/widget/EdgeEffect;->setSize(II)V :goto_0 return-void .end method .method ensureRightGlow()V .locals 4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; if-eqz v0, :cond_0 return-void :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory; const/4 v1, 0x2 .line 3073 invoke-virtual {v0, p0, v1}, Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;->createEdgeEffect(Landroidx/recyclerview/widget/RecyclerView;I)Landroid/widget/EdgeEffect; move-result-object v0 iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z if-eqz v1, :cond_1 .line 3075 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 3076 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 p0 sub-int/2addr v2, p0 .line 3075 invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V goto :goto_0 .line 3078 :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 p0 invoke-virtual {v0, v1, p0}, Landroid/widget/EdgeEffect;->setSize(II)V :goto_0 return-void .end method .method ensureTopGlow()V .locals 4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; if-eqz v0, :cond_0 return-void :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory; const/4 v1, 0x1 .line 3086 invoke-virtual {v0, p0, v1}, Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;->createEdgeEffect(Landroidx/recyclerview/widget/RecyclerView;I)Landroid/widget/EdgeEffect; move-result-object v0 iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z if-eqz v1, :cond_1 .line 3088 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 3089 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 p0 sub-int/2addr v2, p0 .line 3088 invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V goto :goto_0 .line 3091 :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 p0 invoke-virtual {v0, v1, p0}, Landroid/widget/EdgeEffect;->setSize(II)V :goto_0 return-void .end method .method exceptionLabel()Ljava/lang/String; .locals 2 .line 825 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 828 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getContext()Landroid/content/Context; move-result-object p0 invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object p0 invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 return-object p0 .end method .method final fillRemainingScrollValues(Landroidx/recyclerview/widget/RecyclerView$State;)V .locals 2 .line 4521 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollState()I move-result v0 const/4 v1, 0x2 if-ne v0, v1, :cond_0 iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$ViewFlinger; .line 4522 iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;->mOverScroller:Landroid/widget/OverScroller; .line 4523 invoke-virtual {p0}, Landroid/widget/OverScroller;->getFinalX()I move-result v0 invoke-virtual {p0}, Landroid/widget/OverScroller;->getCurrX()I move-result v1 sub-int/2addr v0, v1 iput v0, p1, Landroidx/recyclerview/widget/RecyclerView$State;->mRemainingScrollHorizontal:I .line 4524 invoke-virtual {p0}, Landroid/widget/OverScroller;->getFinalY()I move-result v0 invoke-virtual {p0}, Landroid/widget/OverScroller;->getCurrY()I move-result p0 sub-int/2addr v0, p0 iput v0, p1, Landroidx/recyclerview/widget/RecyclerView$State;->mRemainingScrollVertical:I goto :goto_0 :cond_0 const/4 p0, 0x0 .line 4526 iput p0, p1, Landroidx/recyclerview/widget/RecyclerView$State;->mRemainingScrollHorizontal:I .line 4527 iput p0, p1, Landroidx/recyclerview/widget/RecyclerView$State;->mRemainingScrollVertical:I :goto_0 return-void .end method .method public findChildViewUnder(FF)Landroid/view/View; .locals 5 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 5528 invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I move-result v0 add-int/lit8 v0, v0, -0x1 :goto_0 if-ltz v0, :cond_1 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 5530 invoke-virtual {v1, v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View; move-result-object v1 .line 5531 invoke-virtual {v1}, Landroid/view/View;->getTranslationX()F move-result v2 .line 5532 invoke-virtual {v1}, Landroid/view/View;->getTranslationY()F move-result v3 .line 5533 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 5534 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 5535 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 5536 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 p0, 0x0 return-object p0 .end method .method public findContainingItemView(Landroid/view/View;)Landroid/view/View; .locals 2 .line 5304 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 5305 instance-of v1, v0, Landroid/view/View; if-eqz v1, :cond_0 .line 5306 move-object p1, v0 check-cast p1, Landroid/view/View; .line 5307 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 5321 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 p0, 0x0 goto :goto_0 .line 5322 :cond_0 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolder(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object p0 :goto_0 return-object p0 .end method .method public findViewHolderForAdapterPosition(I)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; .locals 5 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z const/4 v1, 0x0 if-eqz v0, :cond_0 return-object v1 :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 5442 invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I move-result v0 const/4 v2, 0x0 :goto_0 if-ge v2, v0, :cond_3 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 5446 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 5447 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isRemoved()Z move-result v4 if-nez v4, :cond_2 .line 5448 invoke-virtual {p0, v3}, Landroidx/recyclerview/widget/RecyclerView;->getAdapterPositionInRecyclerView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)I move-result v4 if-ne v4, p1, :cond_2 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 5449 iget-object v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; invoke-virtual {v1, v4}, Landroidx/recyclerview/widget/ChildHelper;->isHidden(Landroid/view/View;)Z move-result v1 if-eqz v1, :cond_1 move-object v1, v3 goto :goto_1 :cond_1 return-object v3 :cond_2 :goto_1 add-int/lit8 v2, v2, 0x1 goto :goto_0 :cond_3 return-object v1 .end method .method public findViewHolderForItemId(J)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; .locals 6 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; const/4 v1, 0x0 if-eqz v0, :cond_3 .line 5501 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z move-result v0 if-nez v0, :cond_0 goto :goto_2 :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 5504 invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I move-result v0 const/4 v2, 0x0 :goto_0 if-ge v2, v0, :cond_3 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 5507 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 5508 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isRemoved()Z move-result v4 if-nez v4, :cond_2 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getItemId()J move-result-wide v4 cmp-long v4, v4, p1 if-nez v4, :cond_2 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 5509 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 5417 invoke-virtual {p0, p1, v0}, Landroidx/recyclerview/widget/RecyclerView;->findViewHolderForPosition(IZ)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object p0 return-object p0 .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 5389 invoke-virtual {p0, p1, v0}, Landroidx/recyclerview/widget/RecyclerView;->findViewHolderForPosition(IZ)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object p0 return-object p0 .end method .method findViewHolderForPosition(IZ)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; .locals 5 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 5461 invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I move-result v0 const/4 v1, 0x0 const/4 v2, 0x0 :goto_0 if-ge v2, v0, :cond_4 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 5464 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 5465 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isRemoved()Z move-result v4 if-nez v4, :cond_3 if-eqz p2, :cond_0 .line 5467 iget v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I if-eq v4, p1, :cond_1 goto :goto_1 .line 5470 :cond_0 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getLayoutPosition()I move-result v4 if-eq v4, p1, :cond_1 goto :goto_1 :cond_1 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 5473 iget-object v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; invoke-virtual {v1, v4}, Landroidx/recyclerview/widget/ChildHelper;->isHidden(Landroid/view/View;)Z move-result v1 if-eqz v1, :cond_2 move-object v1, v3 goto :goto_1 :cond_2 return-object v3 :cond_3 :goto_1 add-int/lit8 v2, v2, 0x1 goto :goto_0 :cond_4 return-object v1 .end method .method public fling(II)Z .locals 7 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; const/4 v1, 0x0 if-nez v0, :cond_0 const-string p0, "RecyclerView" const-string p1, "Cannot fling without a LayoutManager set. Call setLayoutManager with a non-null argument." .line 2730 invoke-static {p0, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I return v1 :cond_0 iget-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z if-eqz v2, :cond_1 return v1 .line 2738 :cond_1 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z move-result v0 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 2739 invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z move-result v2 if-eqz v0, :cond_2 .line 2741 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 2744 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 const/4 v3, 0x0 if-eqz p1, :cond_9 iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; if-eqz v4, :cond_8 .line 2757 invoke-static {v4}, Landroidx/core/widget/EdgeEffectCompat;->getDistance(Landroid/widget/EdgeEffect;)F move-result v4 cmpl-float v4, v4, v3 if-eqz v4, :cond_8 iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; neg-int v5, p1 .line 2758 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I move-result v6 invoke-direct {p0, v4, v5, v6}, Landroidx/recyclerview/widget/RecyclerView;->shouldAbsorb(Landroid/widget/EdgeEffect;II)Z move-result v4 if-eqz v4, :cond_7 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; .line 2759 invoke-virtual {p1, v5}, Landroid/widget/EdgeEffect;->onAbsorb(I)V :goto_0 move p1, v1 :cond_7 move v4, p1 move p1, v1 goto :goto_1 :cond_8 iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; if-eqz v4, :cond_9 .line 2764 invoke-static {v4}, Landroidx/core/widget/EdgeEffectCompat;->getDistance(Landroid/widget/EdgeEffect;)F move-result v4 cmpl-float v4, v4, v3 if-eqz v4, :cond_9 iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; .line 2765 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I move-result v5 invoke-direct {p0, v4, p1, v5}, Landroidx/recyclerview/widget/RecyclerView;->shouldAbsorb(Landroid/widget/EdgeEffect;II)Z move-result v4 if-eqz v4, :cond_7 iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; .line 2766 invoke-virtual {v4, p1}, Landroid/widget/EdgeEffect;->onAbsorb(I)V goto :goto_0 :cond_9 move v4, v1 :goto_1 if-eqz p2, :cond_c iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; if-eqz v5, :cond_b .line 2774 invoke-static {v5}, Landroidx/core/widget/EdgeEffectCompat;->getDistance(Landroid/widget/EdgeEffect;)F move-result v5 cmpl-float v5, v5, v3 if-eqz v5, :cond_b iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; neg-int v5, p2 .line 2775 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getHeight()I move-result v6 invoke-direct {p0, v3, v5, v6}, Landroidx/recyclerview/widget/RecyclerView;->shouldAbsorb(Landroid/widget/EdgeEffect;II)Z move-result v3 if-eqz v3, :cond_a iget-object p2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; .line 2776 invoke-virtual {p2, v5}, Landroid/widget/EdgeEffect;->onAbsorb(I)V :goto_2 move p2, v1 :cond_a move v3, v1 goto :goto_3 :cond_b iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; if-eqz v5, :cond_c .line 2781 invoke-static {v5}, Landroidx/core/widget/EdgeEffectCompat;->getDistance(Landroid/widget/EdgeEffect;)F move-result v5 cmpl-float v3, v5, v3 if-eqz v3, :cond_c iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; .line 2782 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getHeight()I move-result v5 invoke-direct {p0, v3, p2, v5}, Landroidx/recyclerview/widget/RecyclerView;->shouldAbsorb(Landroid/widget/EdgeEffect;II)Z move-result v3 if-eqz v3, :cond_a iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; .line 2783 invoke-virtual {v3, p2}, Landroid/widget/EdgeEffect;->onAbsorb(I)V goto :goto_2 :cond_c move v3, p2 move p2, v1 :goto_3 if-nez v4, :cond_d if-eqz p2, :cond_e :cond_d iget v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mMaxFlingVelocity:I neg-int v6, v5 .line 2791 invoke-static {v4, v5}, Ljava/lang/Math;->min(II)I move-result v4 invoke-static {v6, v4}, Ljava/lang/Math;->max(II)I move-result v4 iget v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mMaxFlingVelocity:I neg-int v6, v5 .line 2792 invoke-static {p2, v5}, Ljava/lang/Math;->min(II)I move-result p2 invoke-static {v6, p2}, Ljava/lang/Math;->max(II)I move-result p2 iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$ViewFlinger; .line 2793 invoke-virtual {v5, v4, p2}, Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;->fling(II)V :cond_e const/4 v5, 0x1 if-nez p1, :cond_11 if-nez v3, :cond_11 if-nez v4, :cond_f if-eqz p2, :cond_10 :cond_f move v1, v5 :cond_10 return v1 :cond_11 int-to-float p2, p1 int-to-float v4, v3 .line 2799 invoke-virtual {p0, p2, v4}, Landroidx/recyclerview/widget/RecyclerView;->dispatchNestedPreFling(FF)Z move-result v6 if-nez v6, :cond_16 if-nez v0, :cond_13 if-eqz v2, :cond_12 goto :goto_4 :cond_12 move v6, v1 goto :goto_5 :cond_13 :goto_4 move v6, v5 .line 2801 :goto_5 invoke-virtual {p0, p2, v4, v6}, Landroidx/recyclerview/widget/RecyclerView;->dispatchNestedFling(FFZ)Z iget-object p2, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnFlingListener:Landroidx/recyclerview/widget/RecyclerView$OnFlingListener; if-eqz p2, :cond_14 .line 2803 invoke-virtual {p2, p1, v3}, Landroidx/recyclerview/widget/RecyclerView$OnFlingListener;->onFling(II)Z move-result p2 if-eqz p2, :cond_14 return v5 :cond_14 if-eqz v6, :cond_16 if-eqz v2, :cond_15 or-int/lit8 v0, v0, 0x2 .line 2815 :cond_15 invoke-virtual {p0, v0, v5}, Landroidx/recyclerview/widget/RecyclerView;->startNestedScroll(II)Z iget p2, p0, Landroidx/recyclerview/widget/RecyclerView;->mMaxFlingVelocity:I neg-int v0, p2 .line 2817 invoke-static {p1, p2}, Ljava/lang/Math;->min(II)I move-result p1 invoke-static {v0, p1}, Ljava/lang/Math;->max(II)I move-result p1 iget p2, p0, Landroidx/recyclerview/widget/RecyclerView;->mMaxFlingVelocity:I neg-int v0, p2 .line 2818 invoke-static {v3, p2}, Ljava/lang/Math;->min(II)I move-result p2 invoke-static {v0, p2}, Ljava/lang/Math;->max(II)I move-result p2 iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$ViewFlinger; .line 2819 invoke-virtual {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;->fling(II)V return v5 :cond_16 return v1 .end method .method public focusSearch(Landroid/view/View;I)Landroid/view/View; .locals 8 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 3172 invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onInterceptFocusSearch(Landroid/view/View;I)Landroid/view/View; move-result-object v0 if-eqz v0, :cond_0 return-object v0 :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; const/4 v1, 0x1 const/4 v2, 0x0 if-eqz v0, :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz v0, :cond_1 .line 3177 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 3179 :goto_0 invoke-static {}, Landroid/view/FocusFinder;->getInstance()Landroid/view/FocusFinder; move-result-object v3 const/4 v4, 0x0 if-eqz v0, :cond_f const/4 v5, 0x2 if-eq p2, v5, :cond_2 if-ne p2, v1, :cond_f :cond_2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 3185 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 3188 :goto_1 invoke-virtual {v3, p0, p1, v0}, Landroid/view/FocusFinder;->findNextFocus(Landroid/view/ViewGroup;Landroid/view/View;I)Landroid/view/View; move-result-object v6 if-nez v6, :cond_4 move v6, v1 goto :goto_2 :cond_4 move v6, v2 :goto_2 sget-boolean v7, Landroidx/recyclerview/widget/RecyclerView;->FORCE_ABS_FOCUS_SEARCH_DIRECTION:Z if-eqz v7, :cond_6 move p2, v0 goto :goto_3 :cond_5 move v6, v2 :cond_6 :goto_3 if-nez v6, :cond_c iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 3195 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z move-result v0 if-eqz v0, :cond_c iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 3196 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 3199 :goto_6 invoke-virtual {v3, p0, p1, v0}, Landroid/view/FocusFinder;->findNextFocus(Landroid/view/ViewGroup;Landroid/view/View;I)Landroid/view/View; move-result-object v5 if-nez v5, :cond_a goto :goto_7 :cond_a move v1, v2 :goto_7 sget-boolean v5, Landroidx/recyclerview/widget/RecyclerView;->FORCE_ABS_FOCUS_SEARCH_DIRECTION:Z if-eqz v5, :cond_b move p2, v0 :cond_b move v6, v1 :cond_c if-eqz v6, :cond_e .line 3207 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->consumePendingUpdateOperations()V .line 3208 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 3213 :cond_d invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 3214 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 3215 invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V .line 3217 :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 3219 :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 3221 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->consumePendingUpdateOperations()V .line 3222 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 3227 :cond_10 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 3228 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 3229 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 3232 invoke-virtual {v0}, Landroid/view/View;->hasFocusable()Z move-result v1 if-nez v1, :cond_13 .line 3233 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getFocusedChild()Landroid/view/View; move-result-object v1 if-nez v1, :cond_12 .line 3236 invoke-super {p0, p1, p2}, Landroid/view/ViewGroup;->focusSearch(Landroid/view/View;I)Landroid/view/View; move-result-object p0 return-object p0 .line 3242 :cond_12 invoke-direct {p0, v0, v4}, Landroidx/recyclerview/widget/RecyclerView;->requestChildOnScreen(Landroid/view/View;Landroid/view/View;)V return-object p1 .line 3245 :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 3246 :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 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz v0, :cond_0 .line 5023 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->generateDefaultLayoutParams()Landroidx/recyclerview/widget/RecyclerView$LayoutParams; move-result-object p0 return-object p0 .line 5021 :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 p0 invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p0 invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 invoke-direct {v0, p0}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw v0 .end method .method public generateLayoutParams(Landroid/util/AttributeSet;)Landroid/view/ViewGroup$LayoutParams; .locals 2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz v0, :cond_0 .line 5031 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getContext()Landroid/content/Context; move-result-object p0 invoke-virtual {v0, p0, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->generateLayoutParams(Landroid/content/Context;Landroid/util/AttributeSet;)Landroidx/recyclerview/widget/RecyclerView$LayoutParams; move-result-object p0 return-object p0 .line 5029 :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 p0 invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p0 invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 invoke-direct {p1, p0}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw p1 .end method .method protected generateLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Landroid/view/ViewGroup$LayoutParams; .locals 2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz v0, :cond_0 .line 5039 invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->generateLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Landroidx/recyclerview/widget/RecyclerView$LayoutParams; move-result-object p0 return-object p0 .line 5037 :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 p0 invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p0 invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 invoke-direct {p1, p0}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw p1 .end method .method public getAccessibilityClassName()Ljava/lang/CharSequence; .locals 0 const-string p0, "androidx.recyclerview.widget.RecyclerView" return-object p0 .end method .method public getAdapter()Landroidx/recyclerview/widget/RecyclerView$Adapter; .locals 0 iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; return-object p0 .end method .method getAdapterPositionInRecyclerView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)I .locals 1 const/16 v0, 0x20c .line 12401 invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->hasAnyOfTheFlags(I)Z move-result v0 if-nez v0, :cond_1 .line 12403 invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isBound()Z move-result v0 if-nez v0, :cond_0 goto :goto_0 :cond_0 iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper; .line 12406 iget p1, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/AdapterHelper;->applyPendingUpdatesToPosition(I)I move-result p0 return p0 :cond_1 :goto_0 const/4 p0, -0x1 return p0 .end method .method public getBaseline()I .locals 1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz v0, :cond_0 .line 1388 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->getBaseline()I move-result p0 return p0 .line 1390 :cond_0 invoke-super {p0}, Landroid/view/ViewGroup;->getBaseline()I move-result p0 return p0 .end method .method getChangedHolderKey(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)J .locals 0 iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; .line 4873 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z move-result p0 if-eqz p0, :cond_0 invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getItemId()J move-result-wide p0 goto :goto_0 :cond_0 iget p0, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I int-to-long p0, p0 :goto_0 return-wide p0 .end method .method public getChildAdapterPosition(Landroid/view/View;)I .locals 0 .line 5349 invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object p0 if-eqz p0, :cond_0 .line 5350 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getAbsoluteAdapterPosition()I move-result p0 goto :goto_0 :cond_0 const/4 p0, -0x1 :goto_0 return p0 .end method .method protected getChildDrawingOrder(II)I .locals 1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildDrawingOrderCallback:Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback; if-nez v0, :cond_0 .line 14421 invoke-super {p0, p1, p2}, Landroid/view/ViewGroup;->getChildDrawingOrder(II)I move-result p0 return p0 .line 14423 :cond_0 invoke-interface {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback;->onGetChildDrawingOrder(II)I move-result p0 return p0 .end method .method public getChildItemId(Landroid/view/View;)J .locals 2 iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; const-wide/16 v0, -0x1 if-eqz p0, :cond_1 .line 5375 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z move-result p0 if-nez p0, :cond_0 goto :goto_0 .line 5378 :cond_0 invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object p0 if-eqz p0, :cond_1 .line 5379 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getItemId()J move-result-wide v0 :cond_1 :goto_0 return-wide v0 .end method .method public getChildLayoutPosition(Landroid/view/View;)I .locals 0 .line 5364 invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object p0 if-eqz p0, :cond_0 .line 5365 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getLayoutPosition()I move-result p0 goto :goto_0 :cond_0 const/4 p0, -0x1 :goto_0 return p0 .end method .method public getChildPosition(Landroid/view/View;)I .locals 0 .annotation runtime Ljava/lang/Deprecated; .end annotation .line 5339 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildAdapterPosition(Landroid/view/View;)I move-result p0 return p0 .end method .method public getChildViewHolder(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; .locals 3 .line 5283 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 5285 :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 p0 invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 invoke-direct {v0, p0}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw v0 .line 5288 :cond_1 :goto_0 invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object p0 return-object p0 .end method .method public getClipToPadding()Z .locals 0 iget-boolean p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z return p0 .end method .method public getCompatAccessibilityDelegate()Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate; .locals 0 iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAccessibilityDelegate:Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate; return-object p0 .end method .method public getDecoratedBoundsWithMargins(Landroid/view/View;Landroid/graphics/Rect;)V .locals 0 .line 5607 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 0 iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory; return-object p0 .end method .method public getItemAnimator()Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; .locals 0 iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; return-object p0 .end method .method getItemDecorInsetsForChild(Landroid/view/View;)Landroid/graphics/Rect; .locals 8 .line 5620 invoke-virtual {p1}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams; move-result-object v0 check-cast v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams; .line 5621 iget-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mInsetsDirty:Z if-nez v1, :cond_0 .line 5622 iget-object p0, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mDecorInsets:Landroid/graphics/Rect; return-object p0 :cond_0 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 5625 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 5627 :cond_1 iget-object p0, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mDecorInsets:Landroid/graphics/Rect; return-object p0 .line 5629 :cond_2 iget-object v1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mDecorInsets:Landroid/graphics/Rect; const/4 v2, 0x0 .line 5630 invoke-virtual {v1, v2, v2, v2, v2}, Landroid/graphics/Rect;->set(IIII)V iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; .line 5631 invoke-virtual {v3}, Ljava/util/ArrayList;->size()I move-result v3 move v4, v2 :goto_0 if-ge v4, v3, :cond_3 iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect; .line 5633 invoke-virtual {v5, v2, v2, v2, v2}, Landroid/graphics/Rect;->set(IIII)V iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; .line 5634 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 5635 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 5636 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 5637 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 5638 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 5640 :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 2 .line 1749 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getItemDecorationCount()I move-result v0 if-ltz p1, :cond_0 if-ge p1, v0, :cond_0 iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; .line 1754 invoke-virtual {p0, p1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object p0 check-cast p0, Landroidx/recyclerview/widget/RecyclerView$ItemDecoration; return-object p0 .line 1751 :cond_0 new-instance p0, Ljava/lang/IndexOutOfBoundsException; new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object p1 const-string v1, " is an invalid index for size " invoke-virtual {p1, v1}, 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 {p0, p1}, Ljava/lang/IndexOutOfBoundsException;->(Ljava/lang/String;)V throw p0 .end method .method public getItemDecorationCount()I .locals 0 iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; .line 1763 invoke-virtual {p0}, Ljava/util/ArrayList;->size()I move-result p0 return p0 .end method .method public getLayoutManager()Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .locals 0 iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; return-object p0 .end method .method public getMaxFlingVelocity()I .locals 0 iget p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMaxFlingVelocity:I return p0 .end method .method public getMinFlingVelocity()I .locals 0 iget p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinFlingVelocity:I return p0 .end method .method getNanoTime()J .locals 2 sget-boolean p0, Landroidx/recyclerview/widget/RecyclerView;->ALLOW_THREAD_GAP_WORK:Z if-eqz p0, :cond_0 .line 6493 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 0 iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnFlingListener:Landroidx/recyclerview/widget/RecyclerView$OnFlingListener; return-object p0 .end method .method public getPreserveFocusAfterLayout()Z .locals 0 iget-boolean p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPreserveFocusAfterLayout:Z return p0 .end method .method public getRecycledViewPool()Landroidx/recyclerview/widget/RecyclerView$RecycledViewPool; .locals 0 iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; .line 1628 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->getRecycledViewPool()Landroidx/recyclerview/widget/RecyclerView$RecycledViewPool; move-result-object p0 return-object p0 .end method .method public getScrollState()I .locals 0 iget p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I return p0 .end method .method public hasFixedSize()Z .locals 0 iget-boolean p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mHasFixedSize:Z return p0 .end method .method public hasNestedScrollingParent()Z .locals 0 .line 12462 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper; move-result-object p0 invoke-virtual {p0}, Landroidx/core/view/NestedScrollingChildHelper;->hasNestedScrollingParent()Z move-result p0 return p0 .end method .method public hasNestedScrollingParent(I)Z .locals 0 .line 12467 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper; move-result-object p0 invoke-virtual {p0, p1}, Landroidx/core/view/NestedScrollingChildHelper;->hasNestedScrollingParent(I)Z move-result p0 return p0 .end method .method public hasPendingAdapterUpdates()Z .locals 1 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z if-eqz v0, :cond_1 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z if-nez v0, :cond_1 iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper; .line 5759 invoke-virtual {p0}, Landroidx/recyclerview/widget/AdapterHelper;->hasPendingUpdates()Z move-result p0 if-eqz p0, :cond_0 goto :goto_0 :cond_0 const/4 p0, 0x0 goto :goto_1 :cond_1 :goto_0 const/4 p0, 0x1 :goto_1 return p0 .end method .method initAdapterManager()V .locals 2 .line 1073 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 12420 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 12421 new-instance v1, Landroidx/recyclerview/widget/FastScroller; sget v2, Landroidx/recyclerview/R$dimen;->fastscroll_default_thickness:I .line 12423 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 12424 invoke-virtual {v0, v2}, Landroid/content/res/Resources;->getDimensionPixelSize(I)I move-result v8 sget v2, Landroidx/recyclerview/R$dimen;->fastscroll_margin:I .line 12425 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 12415 :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 12417 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String; move-result-object p0 invoke-virtual {p2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p0 invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 invoke-direct {p1, p0}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p1 .end method .method invalidateGlows()V .locals 1 const/4 v0, 0x0 iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect; iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect; iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect; iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect; return-void .end method .method public invalidateItemDecorations()V .locals 2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; .line 5234 invoke-virtual {v0}, Ljava/util/ArrayList;->size()I move-result v0 if-nez v0, :cond_0 return-void :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz v0, :cond_1 const-string v1, "Cannot invalidate item decorations during a scroll or layout" .line 5238 invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->assertNotInLayoutOrScroll(Ljava/lang/String;)V .line 5241 :cond_1 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->markItemDecorInsetsDirty()V .line 5242 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V return-void .end method .method isAccessibilityEnabled()Z .locals 0 iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAccessibilityManager:Landroid/view/accessibility/AccessibilityManager; if-eqz p0, :cond_0 .line 4156 invoke-virtual {p0}, Landroid/view/accessibility/AccessibilityManager;->isEnabled()Z move-result p0 if-eqz p0, :cond_0 const/4 p0, 0x1 goto :goto_0 :cond_0 const/4 p0, 0x0 :goto_0 return p0 .end method .method public isAnimating()Z .locals 0 iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; if-eqz p0, :cond_0 .line 5051 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->isRunning()Z move-result p0 if-eqz p0, :cond_0 const/4 p0, 0x1 goto :goto_0 :cond_0 const/4 p0, 0x0 :goto_0 return p0 .end method .method public isAttachedToWindow()Z .locals 0 iget-boolean p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mIsAttached:Z return p0 .end method .method public isComputingLayout()Z .locals 0 iget p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I if-lez p0, :cond_0 const/4 p0, 0x1 goto :goto_0 :cond_0 const/4 p0, 0x0 :goto_0 return p0 .end method .method public isLayoutFrozen()Z .locals 0 .annotation runtime Ljava/lang/Deprecated; .end annotation .line 2568 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isLayoutSuppressed()Z move-result p0 return p0 .end method .method public final isLayoutSuppressed()Z .locals 0 iget-boolean p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z return p0 .end method .method public isNestedScrollingEnabled()Z .locals 0 .line 12437 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper; move-result-object p0 invoke-virtual {p0}, Landroidx/core/view/NestedScrollingChildHelper;->isNestedScrollingEnabled()Z move-result p0 return p0 .end method .method jumpToPositionForSmoothScroller(I)V .locals 1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-nez v0, :cond_0 return-void :cond_0 const/4 v0, 0x2 .line 1901 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 1902 invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->scrollToPosition(I)V .line 1903 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->awakenScrollBars()Z return-void .end method .method markItemDecorInsetsDirty()V .locals 4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 4934 invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I move-result v0 const/4 v1, 0x0 :goto_0 if-ge v1, v0, :cond_0 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 4936 invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View; move-result-object v2 .line 4937 invoke-virtual {v2}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams; move-result-object v2 check-cast v2, Landroidx/recyclerview/widget/RecyclerView$LayoutParams; const/4 v3, 0x1 iput-boolean v3, v2, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mInsetsDirty:Z add-int/lit8 v1, v1, 0x1 goto :goto_0 :cond_0 iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; .line 4939 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->markItemDecorInsetsDirty()V return-void .end method .method markKnownViewsInvalid()V .locals 4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 5218 invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I move-result v0 const/4 v1, 0x0 :goto_0 if-ge v1, v0, :cond_1 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 5220 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 5221 invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z move-result v3 if-nez v3, :cond_0 const/4 v3, 0x6 .line 5222 invoke-virtual {v2, v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->addFlags(I)V :cond_0 add-int/lit8 v1, v1, 0x1 goto :goto_0 .line 5225 :cond_1 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->markItemDecorInsetsDirty()V iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; .line 5226 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->markKnownViewsInvalid()V return-void .end method .method public nestedScrollBy(II)V .locals 2 const/4 v0, 0x0 const/4 v1, 0x1 .line 1964 invoke-direct {p0, p1, p2, v0, v1}, Landroidx/recyclerview/widget/RecyclerView;->nestedScrollByInternal(IILandroid/view/MotionEvent;I)V return-void .end method .method public offsetChildrenHorizontal(I)V .locals 3 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 5593 invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I move-result v0 const/4 v1, 0x0 :goto_0 if-ge v1, v0, :cond_0 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 5595 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 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 5555 invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I move-result v0 const/4 v1, 0x0 :goto_0 if-ge v1, v0, :cond_0 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 5557 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 6 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 5114 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_2 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 5116 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 5117 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z move-result v4 if-nez v4, :cond_1 iget v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I if-lt v4, p1, :cond_1 sget-boolean v4, Landroidx/recyclerview/widget/RecyclerView;->sVerboseLoggingEnabled:Z if-eqz v4, :cond_0 .line 5119 new-instance v4, Ljava/lang/StringBuilder; const-string v5, "offsetPositionRecordsForInsert attached child " invoke-direct {v4, v5}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object v4 const-string v5, " holder " invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v4 invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object v4 const-string v5, " now at position " invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v4 iget v5, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I add-int/2addr v5, p2 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object v4 invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v4 const-string v5, "RecyclerView" invoke-static {v5, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I .line 5122 :cond_0 invoke-virtual {v3, p2, v1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->offsetPosition(IZ)V iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; const/4 v4, 0x1 .line 5123 iput-boolean v4, v3, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z :cond_1 add-int/lit8 v2, v2, 0x1 goto :goto_0 :cond_2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; .line 5126 invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->offsetPositionRecordsForInsert(II)V .line 5127 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V return-void .end method .method offsetPositionRecordsForMove(II)V .locals 10 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 5080 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_5 iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 5093 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_4 .line 5094 iget v8, v7, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I if-lt v8, v3, :cond_4 iget v8, v7, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I if-le v8, v4, :cond_1 goto :goto_3 :cond_1 sget-boolean v8, Landroidx/recyclerview/widget/RecyclerView;->sVerboseLoggingEnabled:Z if-eqz v8, :cond_2 .line 5098 new-instance v8, Ljava/lang/StringBuilder; const-string v9, "offsetPositionRecordsForMove attached child " invoke-direct {v8, v9}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v8, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object v8 const-string v9, " holder " invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v8 invoke-virtual {v8, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object v8 invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v8 const-string v9, "RecyclerView" invoke-static {v9, v8}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I .line 5101 :cond_2 iget v8, v7, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I if-ne v8, p1, :cond_3 sub-int v8, p2, p1 .line 5102 invoke-virtual {v7, v8, v5}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->offsetPosition(IZ)V goto :goto_2 .line 5104 :cond_3 invoke-virtual {v7, v2, v5}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->offsetPosition(IZ)V :goto_2 iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 5107 iput-boolean v1, v7, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z :cond_4 :goto_3 add-int/lit8 v6, v6, 0x1 goto :goto_1 :cond_5 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; .line 5109 invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->offsetPositionRecordsForMove(II)V .line 5110 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V return-void .end method .method offsetPositionRecordsForRemove(IIZ)V .locals 9 add-int v0, p1, p2 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 5133 invoke-virtual {v1}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I move-result v1 const/4 v2, 0x0 :goto_0 if-ge v2, v1, :cond_4 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 5135 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 5136 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z move-result v4 if-nez v4, :cond_3 .line 5137 iget v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I const-string v5, " holder " const-string v6, "offsetPositionRecordsForRemove attached child " const-string v7, "RecyclerView" const/4 v8, 0x1 if-lt v4, v0, :cond_1 sget-boolean v4, Landroidx/recyclerview/widget/RecyclerView;->sVerboseLoggingEnabled:Z if-eqz v4, :cond_0 .line 5139 new-instance v4, Ljava/lang/StringBuilder; invoke-direct {v4, v6}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object v4 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v4 invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object v4 const-string v5, " now at position " invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v4 iget v5, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I sub-int/2addr v5, p2 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object v4 invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v4 invoke-static {v7, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I :cond_0 neg-int v4, p2 .line 5143 invoke-virtual {v3, v4, p3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->offsetPosition(IZ)V iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 5144 iput-boolean v8, v3, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z goto :goto_1 .line 5145 :cond_1 iget v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I if-lt v4, p1, :cond_3 sget-boolean v4, Landroidx/recyclerview/widget/RecyclerView;->sVerboseLoggingEnabled:Z if-eqz v4, :cond_2 .line 5147 new-instance v4, Ljava/lang/StringBuilder; invoke-direct {v4, v6}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object v4 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v4 invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object v4 const-string v5, " now REMOVED" invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v4 invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v4 invoke-static {v7, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I :cond_2 add-int/lit8 v4, p1, -0x1 neg-int v5, p2 .line 5150 invoke-virtual {v3, v4, v5, p3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->flagRemovedAndOffsetPosition(IIZ)V iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 5152 iput-boolean v8, v3, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z :cond_3 :goto_1 add-int/lit8 v2, v2, 0x1 goto/16 :goto_0 :cond_4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; .line 5156 invoke-virtual {v0, p1, p2, p3}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->offsetPositionRecordsForRemove(IIZ)V .line 5157 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V return-void .end method .method protected onAttachedToWindow()V .locals 4 .line 3385 invoke-super {p0}, Landroid/view/ViewGroup;->onAttachedToWindow()V const/4 v0, 0x0 iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I const/4 v1, 0x1 iput-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mIsAttached:Z iget-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z if-eqz v2, :cond_0 .line 3388 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 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; .line 3390 invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->onAttachedToWindow()V iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz v1, :cond_1 .line 3393 invoke-virtual {v1, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->dispatchAttachedToWindow(Landroidx/recyclerview/widget/RecyclerView;)V :cond_1 iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPostedAnimatorRunner:Z sget-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->ALLOW_THREAD_GAP_WORK:Z if-eqz v0, :cond_4 .line 3399 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 3401 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 3405 invoke-static {p0}, Landroidx/core/view/ViewCompat;->getDisplay(Landroid/view/View;)Landroid/view/Display; move-result-object v0 .line 3407 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isInEditMode()Z move-result v1 if-nez v1, :cond_2 if-eqz v0, :cond_2 .line 3408 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 :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 .line 3413 iput-wide v2, v1, Landroidx/recyclerview/widget/GapWorker;->mFrameIntervalNs:J .line 3414 sget-object v0, Landroidx/recyclerview/widget/GapWorker;->sGapWorker:Ljava/lang/ThreadLocal; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/GapWorker; invoke-virtual {v0, v1}, Ljava/lang/ThreadLocal;->set(Ljava/lang/Object;)V :cond_3 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/GapWorker; .line 3416 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 3422 invoke-super {p0}, Landroid/view/ViewGroup;->onDetachedFromWindow()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; if-eqz v0, :cond_0 .line 3424 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->endAnimations()V .line 3426 :cond_0 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->stopScroll()V const/4 v0, 0x0 iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mIsAttached:Z iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz v0, :cond_1 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; .line 3429 invoke-virtual {v0, p0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->dispatchDetachedFromWindow(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$Recycler;)V :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingAccessibilityImportanceChange:Ljava/util/List; .line 3431 invoke-interface {v0}, Ljava/util/List;->clear()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimatorRunner:Ljava/lang/Runnable; .line 3432 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->removeCallbacks(Ljava/lang/Runnable;)Z iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; .line 3433 invoke-virtual {v0}, Landroidx/recyclerview/widget/ViewInfoStore;->onDetach()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; .line 3434 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->onDetachedFromWindow()V .line 3436 invoke-static {p0}, Landroidx/customview/poolingcontainer/PoolingContainer;->callPoolingContainerOnReleaseForChildren(Landroid/view/ViewGroup;)V sget-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->ALLOW_THREAD_GAP_WORK:Z if-eqz v0, :cond_2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/GapWorker; if-eqz v0, :cond_2 .line 3440 invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/GapWorker;->remove(Landroidx/recyclerview/widget/RecyclerView;)V const/4 v0, 0x0 iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/GapWorker; :cond_2 return-void .end method .method public onDraw(Landroid/graphics/Canvas;)V .locals 4 .line 5005 invoke-super {p0, p1}, Landroid/view/ViewGroup;->onDraw(Landroid/graphics/Canvas;)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; .line 5007 invoke-virtual {v0}, Ljava/util/ArrayList;->size()I move-result v0 const/4 v1, 0x0 :goto_0 if-ge v1, v0, :cond_0 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; .line 5009 invoke-virtual {v2, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v2 check-cast v2, Landroidx/recyclerview/widget/RecyclerView$ItemDecoration; iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; invoke-virtual {v2, p1, p0, v3}, Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;->onDraw(Landroid/graphics/Canvas;Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$State;)V add-int/lit8 v1, v1, 0x1 goto :goto_0 :cond_0 return-void .end method .method onEnterLayoutOrScroll()V .locals 1 iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I add-int/lit8 v0, v0, 0x1 iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I return-void .end method .method onExitLayoutOrScroll()V .locals 1 const/4 v0, 0x1 .line 4137 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll(Z)V return-void .end method .method onExitLayoutOrScroll(Z)V .locals 2 iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I const/4 v1, 0x1 sub-int/2addr v0, v1 iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I if-ge v0, v1, :cond_2 sget-boolean v1, Landroidx/recyclerview/widget/RecyclerView;->sDebugAssertionsEnabled:Z if-eqz v1, :cond_1 if-ltz v0, :cond_0 goto :goto_0 .line 4144 :cond_0 new-instance p1, Ljava/lang/IllegalStateException; new-instance v0, Ljava/lang/StringBuilder; const-string v1, "layout or scroll counter cannot go below zero.Some calls are not matching" invoke-direct {v0, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V .line 4145 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String; move-result-object p0 invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p0 invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 invoke-direct {p1, p0}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw p1 :cond_1 :goto_0 const/4 v0, 0x0 iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I if-eqz p1, :cond_2 .line 4149 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchContentChangedIfNecessary()V .line 4150 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchPendingImportantForAccessibilityChanges()V :cond_2 return-void .end method .method public onGenericMotionEvent(Landroid/view/MotionEvent;)Z .locals 5 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; const/4 v1, 0x0 if-nez v0, :cond_0 return v1 :cond_0 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z if-eqz v0, :cond_1 return v1 .line 3946 :cond_1 invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I move-result v0 const/16 v2, 0x8 if-ne v0, v2, :cond_8 .line 3948 invoke-virtual {p1}, Landroid/view/MotionEvent;->getSource()I move-result v0 and-int/lit8 v0, v0, 0x2 const/4 v2, 0x0 if-eqz v0, :cond_4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 3949 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z move-result v0 if-eqz v0, :cond_2 const/16 v0, 0x9 .line 3952 invoke-virtual {p1, v0}, Landroid/view/MotionEvent;->getAxisValue(I)F move-result v0 neg-float v0, v0 goto :goto_0 :cond_2 move v0, v2 :goto_0 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 3956 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z move-result v3 if-eqz v3, :cond_3 const/16 v3, 0xa .line 3957 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 3961 :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 3962 invoke-virtual {p1, v0}, Landroid/view/MotionEvent;->getAxisValue(I)F move-result v0 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 3963 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z move-result v3 if-eqz v3, :cond_5 neg-float v0, v0 goto :goto_1 :cond_5 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 3968 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z move-result v3 if-eqz v3, :cond_6 move v3, v0 move v0, v2 goto :goto_2 :cond_6 move v0, v2 move v3, v0 :goto_2 cmpl-float v4, v0, v2 if-nez v4, :cond_7 cmpl-float v2, v3, v2 if-eqz v2, :cond_8 :cond_7 iget v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mScaledHorizontalScrollFactor:F mul-float/2addr v3, v2 float-to-int v2, v3 iget v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mScaledVerticalScrollFactor:F mul-float/2addr v0, v3 float-to-int v0, v0 const/4 v3, 0x1 .line 3981 invoke-direct {p0, v2, v0, p1, v3}, Landroidx/recyclerview/widget/RecyclerView;->nestedScrollByInternal(IILandroid/view/MotionEvent;I)V :cond_8 return v1 .end method .method public onInterceptTouchEvent(Landroid/view/MotionEvent;)Z .locals 8 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z const/4 v1, 0x0 if-eqz v0, :cond_0 return v1 :cond_0 const/4 v0, 0x0 iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptingOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener; .line 3602 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 3603 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->cancelScroll()V return v2 :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-nez v0, :cond_2 return v1 .line 3611 :cond_2 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z move-result v0 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 3612 invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z move-result v3 iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker; if-nez v4, :cond_3 .line 3615 invoke-static {}, Landroid/view/VelocityTracker;->obtain()Landroid/view/VelocityTracker; move-result-object v4 iput-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker; :cond_3 iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker; .line 3617 invoke-virtual {v4, p1}, Landroid/view/VelocityTracker;->addMovement(Landroid/view/MotionEvent;)V .line 3619 invoke-virtual {p1}, Landroid/view/MotionEvent;->getActionMasked()I move-result v4 .line 3620 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 3686 :cond_4 invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->onPointerUp(Landroid/view/MotionEvent;)V goto/16 :goto_2 .line 3651 :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 3652 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 3653 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 3697 :cond_6 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->cancelScroll()V goto/16 :goto_2 :cond_7 iget v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I .line 3657 invoke-virtual {p1, v4}, Landroid/view/MotionEvent;->findPointerIndex(I)I move-result v4 if-gez v4, :cond_8 .line 3659 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 p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I invoke-virtual {p1, p0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object p0 const-string p1, " not found. Did any MotionEvents get skipped?" invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p0 invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 const-string p1, "RecyclerView" invoke-static {p1, p0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I return v1 .line 3664 :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 3665 invoke-virtual {p1, v4}, Landroid/view/MotionEvent;->getY(I)F move-result p1 add-float/2addr p1, v7 float-to-int p1, p1 iget v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I if-eq v4, v2, :cond_11 iget v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchX:I sub-int v4, v5, v4 iget v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchY:I sub-int v6, p1, v6 if-eqz v0, :cond_9 .line 3670 invoke-static {v4}, Ljava/lang/Math;->abs(I)I move-result v0 iget v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I if-le v0, v4, :cond_9 iput v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I move v0, v2 goto :goto_0 :cond_9 move v0, v1 :goto_0 if-eqz v3, :cond_a .line 3674 invoke-static {v6}, Ljava/lang/Math;->abs(I)I move-result v3 iget v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I if-le v3, v4, :cond_a iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I goto :goto_1 :cond_a if-eqz v0, :cond_11 .line 3679 :goto_1 invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V goto :goto_2 :cond_b iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker; .line 3691 invoke-virtual {p1}, Landroid/view/VelocityTracker;->clear()V .line 3692 invoke-virtual {p0, v1}, Landroidx/recyclerview/widget/RecyclerView;->stopNestedScroll(I)V goto :goto_2 :cond_c iget-boolean v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mIgnoreMotionEventTillDown:Z if-eqz v4, :cond_d iput-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mIgnoreMotionEventTillDown:Z .line 3627 :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 3628 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 3629 invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F move-result v4 add-float/2addr v4, v7 float-to-int v4, v4 iput v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I iput v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchY:I .line 3631 invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->stopGlowAnimations(Landroid/view/MotionEvent;)Z move-result p1 if-nez p1, :cond_e iget p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I if-ne p1, v6, :cond_f .line 3632 :cond_e invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getParent()Landroid/view/ViewParent; move-result-object p1 invoke-interface {p1, v2}, Landroid/view/ViewParent;->requestDisallowInterceptTouchEvent(Z)V .line 3633 invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V .line 3634 invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopNestedScroll(I)V :cond_f iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I .line 3638 aput v1, p1, v2 aput v1, p1, v1 if-eqz v3, :cond_10 or-int/lit8 v0, v0, 0x2 .line 3647 :cond_10 invoke-virtual {p0, v0, v1}, Landroidx/recyclerview/widget/RecyclerView;->startNestedScroll(II)Z :cond_11 :goto_2 iget p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I if-ne p0, v2, :cond_12 move v1, v2 :cond_12 return v1 .end method .method protected onLayout(ZIIII)V .locals 0 const-string p1, "RV OnLayout" .line 4918 invoke-static {p1}, Landroidx/core/os/TraceCompat;->beginSection(Ljava/lang/String;)V .line 4919 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayout()V .line 4920 invoke-static {}, Landroidx/core/os/TraceCompat;->endSection()V const/4 p1, 0x1 iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z return-void .end method .method protected onMeasure(II)V .locals 7 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-nez v0, :cond_0 .line 3991 invoke-virtual {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->defaultOnMeasure(II)V return-void .line 3994 :cond_0 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->isAutoMeasureEnabled()Z move-result v0 const/4 v1, 0x1 const/4 v2, 0x0 if-eqz v0, :cond_6 .line 3995 invoke-static {p1}, Landroid/view/View$MeasureSpec;->getMode(I)I move-result v0 .line 3996 invoke-static {p2}, Landroid/view/View$MeasureSpec;->getMode(I)I move-result v3 iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4005 invoke-virtual {v4, v5, v6, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onMeasure(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;II)V const/high16 v4, 0x40000000 # 2.0f if-ne v0, v4, :cond_1 if-ne v3, v4, :cond_1 move v2, v1 :cond_1 iput-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureSkippedDueToExact:Z if-nez v2, :cond_5 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; if-nez v0, :cond_2 goto :goto_0 :cond_2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4015 iget v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mLayoutStep:I if-ne v0, v1, :cond_3 .line 4016 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep1()V :cond_3 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 4020 invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setMeasureSpecs(II)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4021 iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mIsMeasuring:Z .line 4022 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep2()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 4025 invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setMeasuredDimensionFromChildren(II)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 4029 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->shouldMeasureTwice()Z move-result v0 if-eqz v0, :cond_4 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 4031 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredWidth()I move-result v2 invoke-static {v2, v4}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I move-result v2 .line 4032 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredHeight()I move-result v3 invoke-static {v3, v4}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I move-result v3 .line 4030 invoke-virtual {v0, v2, v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setMeasureSpecs(II)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4033 iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mIsMeasuring:Z .line 4034 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep2()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 4036 invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setMeasuredDimensionFromChildren(II)V .line 4039 :cond_4 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredWidth()I move-result p1 iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureNonExactMeasuredWidth:I .line 4040 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredHeight()I move-result p1 iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureNonExactMeasuredHeight:I goto :goto_4 :cond_5 :goto_0 return-void :cond_6 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mHasFixedSize:Z if-eqz v0, :cond_7 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4043 invoke-virtual {v0, v1, p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onMeasure(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;II)V return-void :cond_7 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterUpdateDuringMeasure:Z if-eqz v0, :cond_9 .line 4048 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V .line 4049 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V .line 4050 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->processAdapterUpdatesAndSetAnimationFlags()V .line 4051 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4053 iget-boolean v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunPredictiveAnimations:Z if-eqz v0, :cond_8 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4054 iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mInPreLayout:Z goto :goto_1 :cond_8 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper; .line 4057 invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->consumeUpdatesInOnePass()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4058 iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mInPreLayout:Z :goto_1 iput-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterUpdateDuringMeasure:Z .line 4061 invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V goto :goto_2 :cond_9 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4062 iget-boolean v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunPredictiveAnimations:Z if-eqz v0, :cond_a .line 4068 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredWidth()I move-result p1 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getMeasuredHeight()I move-result p2 invoke-virtual {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->setMeasuredDimension(II)V return-void :cond_a :goto_2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; if-eqz v0, :cond_b iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4073 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->getItemCount()I move-result v0 iput v0, v1, Landroidx/recyclerview/widget/RecyclerView$State;->mItemCount:I goto :goto_3 :cond_b iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4075 iput v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mItemCount:I .line 4077 :goto_3 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4078 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 4079 invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4080 iput-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView$State;->mInPreLayout:Z :goto_4 return-void .end method .method protected onRequestFocusInDescendants(ILandroid/graphics/Rect;)Z .locals 1 .line 3375 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isComputingLayout()Z move-result v0 if-eqz v0, :cond_0 const/4 p0, 0x0 return p0 .line 3380 :cond_0 invoke-super {p0, p1, p2}, Landroid/view/ViewGroup;->onRequestFocusInDescendants(ILandroid/graphics/Rect;)Z move-result p0 return p0 .end method .method protected onRestoreInstanceState(Landroid/os/Parcelable;)V .locals 1 .line 1528 instance-of v0, p1, Landroidx/recyclerview/widget/RecyclerView$SavedState; if-nez v0, :cond_0 .line 1529 invoke-super {p0, p1}, Landroid/view/ViewGroup;->onRestoreInstanceState(Landroid/os/Parcelable;)V return-void .line 1533 :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 1534 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 1542 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V return-void .end method .method protected onSaveInstanceState()Landroid/os/Parcelable; .locals 2 .line 1514 new-instance v0, Landroidx/recyclerview/widget/RecyclerView$SavedState; invoke-super {p0}, Landroid/view/ViewGroup;->onSaveInstanceState()Landroid/os/Parcelable; move-result-object v1 invoke-direct {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$SavedState;->(Landroid/os/Parcelable;)V iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingSavedState:Landroidx/recyclerview/widget/RecyclerView$SavedState; if-eqz v1, :cond_0 .line 1516 invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$SavedState;->copyFrom(Landroidx/recyclerview/widget/RecyclerView$SavedState;)V goto :goto_0 :cond_0 iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz p0, :cond_1 .line 1518 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onSaveInstanceState()Landroid/os/Parcelable; move-result-object p0 iput-object p0, v0, Landroidx/recyclerview/widget/RecyclerView$SavedState;->mLayoutState:Landroid/os/Parcelable; goto :goto_0 :cond_1 const/4 p0, 0x0 .line 1520 iput-object p0, 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 4103 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 4105 :cond_0 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->invalidateGlows()V :cond_1 return-void .end method .method public onTouchEvent(Landroid/view/MotionEvent;)Z .locals 17 move-object/from16 v6, p0 move-object/from16 v7, p1 iget-boolean v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z const/4 v8, 0x0 if-nez v0, :cond_1f iget-boolean v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mIgnoreMotionEventTillDown:Z if-eqz v0, :cond_0 goto/16 :goto_b .line 3754 :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 3755 invoke-direct/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->cancelScroll()V return v9 :cond_1 iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-nez v0, :cond_2 return v8 .line 3763 :cond_2 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z move-result v10 iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 3764 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z move-result v11 iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker; if-nez v0, :cond_3 .line 3767 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 3771 :cond_3 invoke-virtual/range {p1 .. p1}, Landroid/view/MotionEvent;->getActionMasked()I move-result v0 .line 3772 invoke-virtual/range {p1 .. p1}, Landroid/view/MotionEvent;->getActionIndex()I move-result v1 if-nez v0, :cond_4 iget-object v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I .line 3775 aput v8, v2, v9 aput v8, v2, v8 .line 3777 :cond_4 invoke-static/range {p1 .. p1}, Landroid/view/MotionEvent;->obtain(Landroid/view/MotionEvent;)Landroid/view/MotionEvent; move-result-object v12 iget-object v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I .line 3778 aget v3, v2, v8 int-to-float v3, v3 aget v2, v2, v9 int-to-float v2, v2 invoke-virtual {v12, v3, v2}, Landroid/view/MotionEvent;->offsetLocation(FF)V const/high16 v2, 0x3f000000 # 0.5f if-eqz v0, :cond_1c if-eq v0, v9, :cond_16 const/4 v3, 0x2 if-eq v0, v3, :cond_8 const/4 v3, 0x3 if-eq v0, v3, :cond_7 const/4 v3, 0x5 if-eq v0, v3, :cond_6 const/4 v1, 0x6 if-eq v0, v1, :cond_5 goto/16 :goto_9 .line 3881 :cond_5 invoke-direct/range {p0 .. p1}, Landroidx/recyclerview/widget/RecyclerView;->onPointerUp(Landroid/view/MotionEvent;)V goto/16 :goto_9 .line 3798 :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 3799 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 3800 invoke-virtual {v7, v1}, Landroid/view/MotionEvent;->getY(I)F move-result v0 add-float/2addr v0, v2 float-to-int v0, v0 iput v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I iput v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchY:I goto/16 :goto_9 .line 3901 :cond_7 invoke-direct/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->cancelScroll()V goto/16 :goto_9 :cond_8 iget v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I .line 3805 invoke-virtual {v7, v0}, Landroid/view/MotionEvent;->findPointerIndex(I)I move-result v0 if-gez v0, :cond_9 .line 3807 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 3812 :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 3813 invoke-virtual {v7, v0}, Landroid/view/MotionEvent;->getY(I)F move-result v0 add-float/2addr v0, v2 float-to-int v14, v0 iget v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I sub-int/2addr v0, v13 iget v1, v6, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I sub-int/2addr v1, v14 iget v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I if-eq v2, v9, :cond_e if-eqz v10, :cond_b if-lez v0, :cond_a iget v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I sub-int/2addr v0, v2 .line 3821 invoke-static {v8, v0}, Ljava/lang/Math;->max(II)I move-result v0 goto :goto_0 :cond_a iget v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I add-int/2addr v0, v2 .line 3823 invoke-static {v8, v0}, Ljava/lang/Math;->min(II)I move-result v0 :goto_0 if-eqz v0, :cond_b move v2, v9 goto :goto_1 :cond_b move v2, v8 :goto_1 if-eqz v11, :cond_d if-lez v1, :cond_c iget v3, v6, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I sub-int/2addr v1, v3 .line 3831 invoke-static {v8, v1}, Ljava/lang/Math;->max(II)I move-result v1 goto :goto_2 :cond_c iget v3, v6, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I add-int/2addr v1, v3 .line 3833 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 3840 invoke-virtual {v6, v9}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V :cond_e iget v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I if-ne v2, v9, :cond_1e iget-object v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I .line 3845 aput v8, v2, v8 .line 3846 aput v8, v2, v9 .line 3847 invoke-virtual/range {p1 .. p1}, Landroid/view/MotionEvent;->getY()F move-result v2 invoke-direct {v6, v0, v2}, Landroidx/recyclerview/widget/RecyclerView;->releaseHorizontalGlow(IF)I move-result v2 sub-int v15, v0, v2 .line 3848 invoke-virtual/range {p1 .. p1}, Landroid/view/MotionEvent;->getX()F move-result v0 invoke-direct {v6, v1, v0}, Landroidx/recyclerview/widget/RecyclerView;->releaseVerticalGlow(IF)I move-result v0 sub-int v16, v1, v0 if-eqz v10, :cond_f move v1, v15 goto :goto_3 :cond_f move v1, v8 :goto_3 if-eqz v11, :cond_10 move/from16 v2, v16 goto :goto_4 :cond_10 move v2, v8 :goto_4 iget-object v3, v6, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I iget-object v4, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I const/4 v5, 0x0 move-object/from16 v0, p0 .line 3850 invoke-virtual/range {v0 .. v5}, Landroidx/recyclerview/widget/RecyclerView;->dispatchNestedPreScroll(II[I[II)Z move-result v0 if-eqz v0, :cond_11 iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I .line 3855 aget v1, v0, v8 sub-int/2addr v15, v1 .line 3856 aget v0, v0, v9 sub-int v16, v16, v0 iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I .line 3858 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 3859 aget v1, v0, v9 aget v2, v2, v9 add-int/2addr v1, v2 aput v1, v0, v9 .line 3861 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 iget-object v1, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I .line 3864 aget v2, v1, v8 sub-int/2addr v13, v2 iput v13, v6, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I .line 3865 aget v1, v1, v9 sub-int/2addr v14, v1 iput v14, v6, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I if-eqz v10, :cond_12 move v1, v15 goto :goto_5 :cond_12 move v1, v8 :goto_5 if-eqz v11, :cond_13 move v2, v0 goto :goto_6 :cond_13 move v2, v8 .line 3867 :goto_6 invoke-virtual {v6, v1, v2, v7, v8}, Landroidx/recyclerview/widget/RecyclerView;->scrollByInternal(IILandroid/view/MotionEvent;I)Z move-result v1 if-eqz v1, :cond_14 .line 3871 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 :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 3874 :cond_15 invoke-virtual {v1, v6, v15, v0}, Landroidx/recyclerview/widget/GapWorker;->postFromTraversal(Landroidx/recyclerview/widget/RecyclerView;II)V goto :goto_9 :cond_16 iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker; .line 3886 invoke-virtual {v0, v12}, Landroid/view/VelocityTracker;->addMovement(Landroid/view/MotionEvent;)V iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker; iget v1, v6, Landroidx/recyclerview/widget/RecyclerView;->mMaxFlingVelocity:I int-to-float v1, v1 const/16 v2, 0x3e8 .line 3888 invoke-virtual {v0, v2, v1}, Landroid/view/VelocityTracker;->computeCurrentVelocity(IF)V const/4 v0, 0x0 if-eqz v10, :cond_17 iget-object v1, v6, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker; iget v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I .line 3890 invoke-virtual {v1, v2}, Landroid/view/VelocityTracker;->getXVelocity(I)F move-result v1 neg-float v1, v1 goto :goto_7 :cond_17 move v1, v0 :goto_7 if-eqz v11, :cond_18 iget-object v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker; iget v3, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I .line 3892 invoke-virtual {v2, v3}, Landroid/view/VelocityTracker;->getYVelocity(I)F move-result v2 neg-float v2, v2 goto :goto_8 :cond_18 move v2, v0 :goto_8 cmpl-float v3, v1, v0 if-nez v3, :cond_19 cmpl-float v0, v2, v0 if-eqz v0, :cond_1a :cond_19 float-to-int v0, v1 float-to-int v1, v2 .line 3893 invoke-virtual {v6, v0, v1}, Landroidx/recyclerview/widget/RecyclerView;->fling(II)Z move-result v0 if-nez v0, :cond_1b .line 3894 :cond_1a invoke-virtual {v6, v8}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V .line 3896 :cond_1b invoke-direct/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->resetScroll()V goto :goto_a .line 3782 :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 3783 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 3784 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 3793 :cond_1d invoke-virtual {v6, v10, v8}, Landroidx/recyclerview/widget/RecyclerView;->startNestedScroll(II)Z :cond_1e :goto_9 iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker; .line 3907 invoke-virtual {v0, v12}, Landroid/view/VelocityTracker;->addMovement(Landroid/view/MotionEvent;)V .line 3909 :goto_a invoke-virtual {v12}, Landroid/view/MotionEvent;->recycle()V return v9 :cond_1f :goto_b return v8 .end method .method postAnimationRunner()V .locals 1 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPostedAnimatorRunner:Z if-nez v0, :cond_0 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mIsAttached:Z if-eqz v0, :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimatorRunner:Ljava/lang/Runnable; .line 4250 invoke-static {p0, v0}, Landroidx/core/view/ViewCompat;->postOnAnimation(Landroid/view/View;Ljava/lang/Runnable;)V const/4 v0, 0x1 iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPostedAnimatorRunner:Z :cond_0 return-void .end method .method processDataSetCompletelyChanged(Z)V .locals 1 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchItemsChangedEvent:Z or-int/2addr p1, v0 iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchItemsChangedEvent:Z const/4 p1, 0x1 iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z .line 5210 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 4801 invoke-virtual {p1, v0, v1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->setFlags(II)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 4802 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 4803 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 4804 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->getChangedHolderKey(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)J move-result-wide v0 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; .line 4805 invoke-virtual {v2, v0, v1, p1}, Landroidx/recyclerview/widget/ViewInfoStore;->addToOldChangeHolders(JLandroidx/recyclerview/widget/RecyclerView$ViewHolder;)V :cond_0 iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore; .line 4807 invoke-virtual {p0, p1, p2}, Landroidx/recyclerview/widget/ViewInfoStore;->addToPreLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V return-void .end method .method removeAndRecycleViews()V .locals 2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; if-eqz v0, :cond_0 .line 1277 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->endAnimations()V :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz v0, :cond_1 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; .line 1284 invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->removeAndRecycleAllViews(Landroidx/recyclerview/widget/RecyclerView$Recycler;)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; .line 1285 invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->removeAndRecycleScrapInt(Landroidx/recyclerview/widget/RecyclerView$Recycler;)V :cond_1 iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; .line 1288 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->clear()V return-void .end method .method removeAnimatingView(Landroid/view/View;)Z .locals 3 .line 1592 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 1593 invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/ChildHelper;->removeViewIfHidden(Landroid/view/View;)Z move-result v0 if-eqz v0, :cond_0 .line 1595 invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder; move-result-object v1 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; .line 1596 invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->unscrapView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; .line 1597 invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->recycleViewHolderInternal(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V sget-boolean v1, Landroidx/recyclerview/widget/RecyclerView;->sVerboseLoggingEnabled:Z if-eqz v1, :cond_0 .line 1599 new-instance v1, Ljava/lang/StringBuilder; const-string v2, "after removing animated 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, ", " 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 const-string v1, "RecyclerView" invoke-static {v1, p1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I :cond_0 xor-int/lit8 p1, v0, 0x1 .line 1603 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 4844 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 4846 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isTmpDetached()Z move-result v1 if-eqz v1, :cond_0 .line 4847 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->clearTmpDetachFlag()V goto :goto_0 .line 4848 :cond_0 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z move-result v1 if-eqz v1, :cond_1 goto :goto_0 .line 4849 :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 4850 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String; move-result-object p0 invoke-virtual {p2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p0 invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 invoke-direct {p1, p0}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p1 :cond_2 sget-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->sDebugAssertionsEnabled:Z if-nez v0, :cond_3 .line 4862 :goto_0 invoke-virtual {p1}, Landroid/view/View;->clearAnimation()V .line 4864 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->dispatchChildDetached(Landroid/view/View;)V .line 4865 invoke-super {p0, p1, p2}, Landroid/view/ViewGroup;->removeDetachedView(Landroid/view/View;Z)V return-void .line 4854 :cond_3 new-instance p2, Ljava/lang/IllegalArgumentException; new-instance v0, Ljava/lang/StringBuilder; const-string v1, "No ViewHolder found for child: " invoke-direct {v0, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object p1 .line 4855 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String; move-result-object p0 invoke-virtual {p1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p0 invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 invoke-direct {p2, p0}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p2 .end method .method public removeItemDecoration(Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;)V .locals 2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz v0, :cond_0 const-string v1, "Cannot remove item decoration during a scroll or layout" .line 1791 invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->assertNotInLayoutOrScroll(Ljava/lang/String;)V :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; .line 1794 invoke-virtual {v0, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; .line 1795 invoke-virtual {p1}, Ljava/util/ArrayList;->isEmpty()Z move-result p1 if-eqz p1, :cond_2 .line 1796 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 1798 :cond_2 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->markItemDecorInsetsDirty()V .line 1799 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V return-void .end method .method public removeItemDecorationAt(I)V .locals 2 .line 1772 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getItemDecorationCount()I move-result v0 if-ltz p1, :cond_0 if-ge p1, v0, :cond_0 .line 1777 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 1774 :cond_0 new-instance p0, Ljava/lang/IndexOutOfBoundsException; new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object p1 const-string v1, " is an invalid index for size " invoke-virtual {p1, v1}, 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 {p0, p1}, Ljava/lang/IndexOutOfBoundsException;->(Ljava/lang/String;)V throw p0 .end method .method public removeOnChildAttachStateChangeListener(Landroidx/recyclerview/widget/RecyclerView$OnChildAttachStateChangeListener;)V .locals 0 iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List; if-nez p0, :cond_0 return-void .line 1423 :cond_0 invoke-interface {p0, p1}, Ljava/util/List;->remove(Ljava/lang/Object;)Z return-void .end method .method public removeOnItemTouchListener(Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;)V .locals 1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList; .line 3519 invoke-virtual {v0, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptingOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener; if-ne v0, p1, :cond_0 const/4 p1, 0x0 iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptingOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener; :cond_0 return-void .end method .method public removeOnScrollListener(Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;)V .locals 0 iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List; if-eqz p0, :cond_0 .line 1858 invoke-interface {p0, p1}, Ljava/util/List;->remove(Ljava/lang/Object;)Z :cond_0 return-void .end method .method public removeRecyclerListener(Landroidx/recyclerview/widget/RecyclerView$RecyclerListener;)V .locals 0 iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecyclerListeners:Ljava/util/List; .line 1374 invoke-interface {p0, p1}, Ljava/util/List;->remove(Ljava/lang/Object;)Z return-void .end method .method repositionShadowingViews()V .locals 7 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 6037 invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I move-result v0 const/4 v1, 0x0 :goto_0 if-ge v1, v0, :cond_2 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 6039 invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View; move-result-object v2 .line 6040 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 6041 iget-object v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mShadowingHolder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder; if-eqz v4, :cond_1 .line 6042 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 6043 invoke-virtual {v2}, Landroid/view/View;->getLeft()I move-result v4 .line 6044 invoke-virtual {v2}, Landroid/view/View;->getTop()I move-result v2 .line 6045 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 6047 :cond_0 invoke-virtual {v3}, Landroid/view/View;->getWidth()I move-result v5 add-int/2addr v5, v4 .line 6048 invoke-virtual {v3}, Landroid/view/View;->getHeight()I move-result v6 add-int/2addr v6, v2 .line 6046 invoke-virtual {v3, v4, v2, v5, v6}, Landroid/view/View;->layout(IIII)V :cond_1 add-int/lit8 v1, v1, 0x1 goto :goto_0 :cond_2 return-void .end method .method public requestChildFocus(Landroid/view/View;Landroid/view/View;)V .locals 2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 3317 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 3318 invoke-direct {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->requestChildOnScreen(Landroid/view/View;Landroid/view/View;)V .line 3320 :cond_0 invoke-super {p0, p1, p2}, Landroid/view/ViewGroup;->requestChildFocus(Landroid/view/View;Landroid/view/View;)V return-void .end method .method public requestChildRectangleOnScreen(Landroid/view/View;Landroid/graphics/Rect;Z)Z .locals 1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 3363 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 p0 return p0 .end method .method public requestDisallowInterceptTouchEvent(Z)V .locals 3 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList; .line 3741 invoke-virtual {v0}, Ljava/util/ArrayList;->size()I move-result v0 const/4 v1, 0x0 :goto_0 if-ge v1, v0, :cond_0 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList; .line 3743 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 3744 invoke-interface {v2, p1}, Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;->onRequestDisallowInterceptTouchEvent(Z)V add-int/lit8 v1, v1, 0x1 goto :goto_0 .line 3746 :cond_0 invoke-super {p0, p1}, Landroid/view/ViewGroup;->requestDisallowInterceptTouchEvent(Z)V return-void .end method .method public requestLayout()V .locals 1 iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I if-nez v0, :cond_0 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z if-nez v0, :cond_0 .line 4927 invoke-super {p0}, Landroid/view/ViewGroup;->requestLayout()V goto :goto_0 :cond_0 const/4 v0, 0x1 iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z :goto_0 return-void .end method .method saveOldPositions()V .locals 5 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 5055 invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I move-result v0 const/4 v1, 0x0 :goto_0 if-ge v1, v0, :cond_3 iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 5057 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 sget-boolean v3, Landroidx/recyclerview/widget/RecyclerView;->sDebugAssertionsEnabled:Z if-eqz v3, :cond_1 .line 5058 iget v3, v2, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I const/4 v4, -0x1 if-ne v3, v4, :cond_1 invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isRemoved()Z move-result v3 if-eqz v3, :cond_0 goto :goto_1 .line 5059 :cond_0 new-instance v0, Ljava/lang/IllegalStateException; new-instance v1, Ljava/lang/StringBuilder; const-string v2, "view holder cannot have position -1 unless it is removed" invoke-direct {v1, v2}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V .line 5060 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String; move-result-object p0 invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p0 invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 invoke-direct {v0, p0}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw v0 .line 5062 :cond_1 :goto_1 invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z move-result v3 if-nez v3, :cond_2 .line 5063 invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->saveOldPosition()V :cond_2 add-int/lit8 v1, v1, 0x1 goto :goto_0 :cond_3 return-void .end method .method public scrollBy(II)V .locals 3 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-nez v0, :cond_0 const-string p0, "RecyclerView" const-string p1, "Cannot scroll without a LayoutManager set. Call setLayoutManager with a non-null argument." .line 1942 invoke-static {p0, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I return-void :cond_0 iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z if-eqz v1, :cond_1 return-void .line 1949 :cond_1 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z move-result v0 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 1950 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 1952 invoke-virtual {p0, p1, p2, v0, v2}, Landroidx/recyclerview/widget/RecyclerView;->scrollByInternal(IILandroid/view/MotionEvent;I)Z :cond_5 return-void .end method .method scrollByInternal(IILandroid/view/MotionEvent;I)Z .locals 18 move-object/from16 v8, p0 move/from16 v9, p1 move/from16 v10, p2 move-object/from16 v11, p3 .line 2145 invoke-virtual/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->consumePendingUpdateOperations()V iget-object v0, v8, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; const/4 v12, 0x1 const/4 v13, 0x0 if-eqz v0, :cond_0 iget-object v0, v8, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I .line 2147 aput v13, v0, v13 .line 2148 aput v13, v0, v12 .line 2149 invoke-virtual {v8, v9, v10, v0}, Landroidx/recyclerview/widget/RecyclerView;->scrollStep(II[I)V iget-object v0, v8, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I .line 2150 aget v1, v0, v13 .line 2151 aget v0, v0, v12 sub-int v2, v9, v1 sub-int v3, v10, v0 move v14, v0 move v15, v1 move/from16 v16, v2 move/from16 v17, v3 goto :goto_0 :cond_0 move v14, v13 move v15, v14 move/from16 v16, v15 move/from16 v17, v16 :goto_0 iget-object v0, v8, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList; .line 2155 invoke-virtual {v0}, Ljava/util/ArrayList;->isEmpty()Z move-result v0 if-nez v0, :cond_1 .line 2156 invoke-virtual/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->invalidate()V :cond_1 iget-object v7, v8, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I .line 2159 aput v13, v7, v13 .line 2160 aput v13, v7, v12 iget-object v5, v8, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I move-object/from16 v0, p0 move v1, v15 move v2, v14 move/from16 v3, v16 move/from16 v4, v17 move/from16 v6, p4 .line 2161 invoke-virtual/range {v0 .. v7}, Landroidx/recyclerview/widget/RecyclerView;->dispatchNestedScroll(IIII[II[I)V iget-object v0, v8, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I .line 2163 aget v1, v0, v13 sub-int v2, v16, v1 .line 2164 aget v0, v0, v12 sub-int v3, v17, v0 if-nez v1, :cond_3 if-eqz v0, :cond_2 goto :goto_1 :cond_2 move v0, v13 goto :goto_2 :cond_3 :goto_1 move v0, v12 :goto_2 iget v1, v8, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I iget-object v4, v8, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I .line 2168 aget v5, v4, v13 sub-int/2addr v1, v5 iput v1, v8, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I iget v1, v8, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I .line 2169 aget v4, v4, v12 sub-int/2addr v1, v4 iput v1, v8, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I iget-object v1, v8, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I .line 2170 aget v6, v1, v13 add-int/2addr v6, v5 aput v6, v1, v13 .line 2171 aget v5, v1, v12 add-int/2addr v5, v4 aput v5, v1, v12 .line 2173 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 2174 invoke-static {v11, v1}, Landroidx/core/view/MotionEventCompat;->isFromSource(Landroid/view/MotionEvent;I)Z move-result v1 if-nez v1, :cond_4 .line 2175 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 2177 :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 2180 :cond_6 invoke-virtual {v8, v15, v14}, Landroidx/recyclerview/widget/RecyclerView;->dispatchOnScrolled(II)V .line 2182 :cond_7 invoke-virtual/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->awakenScrollBars()Z move-result v1 if-nez v1, :cond_8 .line 2183 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 2038 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V .line 2039 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V const-string v0, "RV Scroll" .line 2041 invoke-static {v0}, Landroidx/core/os/TraceCompat;->beginSection(Ljava/lang/String;)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 2042 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->fillRemainingScrollValues(Landroidx/recyclerview/widget/RecyclerView$State;)V const/4 v0, 0x0 if-eqz p1, :cond_0 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 2047 invoke-virtual {v1, p1, v2, v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->scrollHorizontallyBy(ILandroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)I move-result p1 goto :goto_0 :cond_0 move p1, v0 :goto_0 if-eqz p2, :cond_1 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 2050 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 2053 :goto_1 invoke-static {}, Landroidx/core/os/TraceCompat;->endSection()V .line 2054 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->repositionShadowingViews()V .line 2056 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V .line 2057 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V if-eqz p3, :cond_2 .line 2060 aput p1, p3, v0 const/4 p0, 0x1 .line 2061 aput p2, p3, p0 :cond_2 return-void .end method .method public scrollTo(II)V .locals 0 const-string p0, "RecyclerView" const-string p1, "RecyclerView does not support scrolling to an absolute position. Use scrollToPosition instead" .line 1935 invoke-static {p0, p1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I return-void .end method .method public scrollToPosition(I)V .locals 1 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z if-eqz v0, :cond_0 return-void .line 1884 :cond_0 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->stopScroll()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-nez v0, :cond_1 const-string p0, "RecyclerView" const-string p1, "Cannot scroll to position a LayoutManager set. Call setLayoutManager with a non-null argument." .line 1886 invoke-static {p0, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I return-void .line 1890 :cond_1 invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->scrollToPosition(I)V .line 1891 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->awakenScrollBars()Z return-void .end method .method public sendAccessibilityEventUnchecked(Landroid/view/accessibility/AccessibilityEvent;)V .locals 1 .line 4218 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 4221 :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 iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAccessibilityDelegate:Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate; .line 863 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 1265 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setLayoutFrozen(Z)V const/4 v1, 0x1 .line 1266 invoke-direct {p0, p1, v0, v1}, Landroidx/recyclerview/widget/RecyclerView;->setAdapterInternal(Landroidx/recyclerview/widget/RecyclerView$Adapter;ZZ)V .line 1267 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->processDataSetCompletelyChanged(Z)V .line 1268 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V return-void .end method .method public setChildDrawingOrderCallback(Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback;)V .locals 1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildDrawingOrderCallback:Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback; if-ne p1, v0, :cond_0 return-void :cond_0 iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildDrawingOrderCallback:Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback; if-eqz p1, :cond_1 const/4 p1, 0x1 goto :goto_0 :cond_1 const/4 p1, 0x0 .line 1820 :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 12374 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isComputingLayout()Z move-result v0 if-eqz v0, :cond_0 .line 12375 iput p2, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPendingAccessibilityState:I iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingAccessibilityImportanceChange:Ljava/util/List; .line 12376 invoke-interface {p0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z const/4 p0, 0x0 return p0 .line 12379 :cond_0 iget-object p0, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View; invoke-static {p0, p2}, Landroidx/core/view/ViewCompat;->setImportantForAccessibility(Landroid/view/View;I)V const/4 p0, 0x1 return p0 .end method .method public setClipToPadding(Z)V .locals 1 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z if-eq p1, v0, :cond_0 .line 1181 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->invalidateGlows()V :cond_0 iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z .line 1184 invoke-super {p0, p1}, Landroid/view/ViewGroup;->setClipToPadding(Z)V iget-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z if-eqz p1, :cond_1 .line 1186 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 3123 invoke-static {p1}, Landroidx/core/util/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory; .line 3125 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->invalidateGlows()V return-void .end method .method public setHasFixedSize(Z)V .locals 0 iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mHasFixedSize:Z return-void .end method .method public setItemAnimator(Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;)V .locals 2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; if-eqz v0, :cond_0 .line 4123 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->endAnimations()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; const/4 v1, 0x0 .line 4124 invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->setListener(Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemAnimatorListener;)V :cond_0 iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; if-eqz p1, :cond_1 iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimatorListener:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemAnimatorListener; .line 4128 invoke-virtual {p1, p0}, 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 0 iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; .line 1665 invoke-virtual {p0, 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 2559 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 2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-ne p1, v0, :cond_0 return-void .line 1452 :cond_0 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->stopScroll()V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz v0, :cond_3 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator; if-eqz v0, :cond_1 .line 1458 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->endAnimations()V :cond_1 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; .line 1460 invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->removeAndRecycleAllViews(Landroidx/recyclerview/widget/RecyclerView$Recycler;)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; .line 1461 invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->removeAndRecycleScrapInt(Landroidx/recyclerview/widget/RecyclerView$Recycler;)V iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; .line 1462 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->clear()V iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mIsAttached:Z if-eqz v0, :cond_2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; .line 1465 invoke-virtual {v0, p0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->dispatchDetachedFromWindow(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$Recycler;)V :cond_2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; const/4 v1, 0x0 .line 1467 invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setRecyclerView(Landroidx/recyclerview/widget/RecyclerView;)V iput-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; goto :goto_0 :cond_3 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; .line 1470 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->clear()V :goto_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 1473 invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->removeAllViewsUnfiltered()V iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz p1, :cond_5 .line 1476 iget-object v0, p1, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView; if-nez v0, :cond_4 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 1481 invoke-virtual {p1, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setRecyclerView(Landroidx/recyclerview/widget/RecyclerView;)V iget-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mIsAttached:Z if-eqz p1, :cond_5 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 1483 invoke-virtual {p1, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->dispatchAttachedToWindow(Landroidx/recyclerview/widget/RecyclerView;)V goto :goto_1 .line 1477 :cond_4 new-instance p0, Ljava/lang/IllegalArgumentException; new-instance v0, Ljava/lang/StringBuilder; const-string v1, "LayoutManager " invoke-direct {v0, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object v0 const-string v1, " is already attached to a RecyclerView:" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v0 iget-object p1, p1, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView; .line 1479 invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()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}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 invoke-direct {p0, p1}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p0 :cond_5 :goto_1 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; .line 1486 invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->updateViewCacheSize()V .line 1487 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V return-void .end method .method public setLayoutTransition(Landroid/animation/LayoutTransition;)V .locals 0 .annotation runtime Ljava/lang/Deprecated; .end annotation if-nez p1, :cond_0 const/4 p1, 0x0 .line 2598 invoke-super {p0, p1}, Landroid/view/ViewGroup;->setLayoutTransition(Landroid/animation/LayoutTransition;)V return-void .line 2600 :cond_0 new-instance p0, Ljava/lang/IllegalArgumentException; const-string p1, "Providing a LayoutTransition into RecyclerView is not supported. Please use setItemAnimator() instead for animating changes to the items in this RecyclerView" invoke-direct {p0, p1}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p0 .end method .method public setNestedScrollingEnabled(Z)V .locals 0 .line 12432 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper; move-result-object p0 invoke-virtual {p0, p1}, Landroidx/core/view/NestedScrollingChildHelper;->setNestedScrollingEnabled(Z)V return-void .end method .method public setOnFlingListener(Landroidx/recyclerview/widget/RecyclerView$OnFlingListener;)V .locals 0 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 iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListener:Landroidx/recyclerview/widget/RecyclerView$OnScrollListener; return-void .end method .method public setPreserveFocusAfterLayout(Z)V .locals 0 iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mPreserveFocusAfterLayout:Z return-void .end method .method public setRecycledViewPool(Landroidx/recyclerview/widget/RecyclerView$RecycledViewPool;)V .locals 0 iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; .line 1640 invoke-virtual {p0, 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 .annotation runtime Ljava/lang/Deprecated; .end annotation iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecyclerListener:Landroidx/recyclerview/widget/RecyclerView$RecyclerListener; return-void .end method .method setScrollState(I)V .locals 3 iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I if-ne p1, v0, :cond_0 return-void :cond_0 sget-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->sVerboseLoggingEnabled:Z if-eqz v0, :cond_1 .line 1683 new-instance v0, Ljava/lang/StringBuilder; const-string v1, "setting scroll state to " invoke-direct {v0, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object v0 const-string v1, " from " invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v0 iget v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object v0 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 new-instance v1, Ljava/lang/Exception; invoke-direct {v1}, Ljava/lang/Exception;->()V const-string v2, "RecyclerView" invoke-static {v2, v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I :cond_1 iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I const/4 v0, 0x2 if-eq p1, v0, :cond_2 .line 1688 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->stopScrollersInternal()V .line 1690 :cond_2 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->dispatchOnScrollStateChanged(I)V return-void .end method .method public setScrollingTouchSlop(I)V .locals 3 .line 1216 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 1219 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 1227 :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 1223 :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 0 iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; .line 1650 invoke-virtual {p0, 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 4202 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 4205 invoke-static {p1}, Landroidx/core/view/accessibility/AccessibilityEventCompat;->getContentChangeTypes(Landroid/view/accessibility/AccessibilityEvent;)I move-result p1 goto :goto_0 :cond_0 move p1, v1 :goto_0 if-nez p1, :cond_1 goto :goto_1 :cond_1 move v1, p1 :goto_1 iget p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mEatenAccessibilityChangeFlags:I or-int/2addr p1, v1 iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mEatenAccessibilityChangeFlags:I const/4 p0, 0x1 return p0 :cond_2 return v1 .end method .method public smoothScrollBy(II)V .locals 1 const/4 v0, 0x0 .line 2613 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 2625 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 2644 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 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-nez v0, :cond_0 const-string p0, "RecyclerView" const-string p1, "Cannot smooth scroll without a LayoutManager set. Call setLayoutManager with a non-null argument." .line 2683 invoke-static {p0, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I return-void :cond_0 iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z if-eqz v1, :cond_1 return-void .line 2690 :cond_1 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z move-result v0 const/4 v1, 0x0 if-nez v0, :cond_2 move p1, v1 :cond_2 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; .line 2693 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 2711 :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 2707 :cond_8 invoke-virtual {p0, v1, p5}, Landroidx/recyclerview/widget/RecyclerView;->startNestedScroll(II)Z :cond_9 iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$ViewFlinger; .line 2709 invoke-virtual {p0, p1, p2, p4, p3}, Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;->smoothScrollBy(IIILandroid/view/animation/Interpolator;)V :cond_a :goto_1 return-void .end method .method public smoothScrollToPosition(I)V .locals 2 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z if-eqz v0, :cond_0 return-void :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-nez v0, :cond_1 const-string p0, "RecyclerView" const-string p1, "Cannot smooth scroll without a LayoutManager set. Call setLayoutManager with a non-null argument." .line 1926 invoke-static {p0, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I return-void :cond_1 iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State; .line 1930 invoke-virtual {v0, p0, v1, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->smoothScrollToPosition(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$State;I)V return-void .end method .method startInterceptRequestLayout()V .locals 2 iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I const/4 v1, 0x1 add-int/2addr v0, v1 iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I if-ne v0, v1, :cond_0 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z if-nez v0, :cond_0 const/4 v0, 0x0 iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z :cond_0 return-void .end method .method public startNestedScroll(I)Z .locals 0 .line 12442 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper; move-result-object p0 invoke-virtual {p0, p1}, Landroidx/core/view/NestedScrollingChildHelper;->startNestedScroll(I)Z move-result p0 return p0 .end method .method public startNestedScroll(II)Z .locals 0 .line 12447 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper; move-result-object p0 invoke-virtual {p0, p1, p2}, Landroidx/core/view/NestedScrollingChildHelper;->startNestedScroll(II)Z move-result p0 return p0 .end method .method stopInterceptRequestLayout(Z)V .locals 3 iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I const/4 v1, 0x1 if-ge v0, v1, :cond_1 sget-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->sDebugAssertionsEnabled:Z if-nez v0, :cond_0 iput v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I goto :goto_0 .line 2446 :cond_0 new-instance p1, Ljava/lang/IllegalStateException; new-instance v0, Ljava/lang/StringBuilder; const-string v1, "stopInterceptRequestLayout was called more times than startInterceptRequestLayout." invoke-direct {v0, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V .line 2448 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String; move-result-object p0 invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p0 invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 invoke-direct {p1, p0}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw p1 :cond_1 :goto_0 const/4 v0, 0x0 if-nez p1, :cond_2 iget-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z if-nez v2, :cond_2 iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z :cond_2 iget v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I if-ne v2, v1, :cond_4 if-eqz p1, :cond_3 iget-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z if-eqz p1, :cond_3 iget-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z if-nez p1, :cond_3 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz p1, :cond_3 iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; if-eqz p1, :cond_3 .line 2467 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayout()V :cond_3 iget-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z if-nez p1, :cond_4 iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z :cond_4 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 0 .line 12452 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper; move-result-object p0 invoke-virtual {p0}, Landroidx/core/view/NestedScrollingChildHelper;->stopNestedScroll()V return-void .end method .method public stopNestedScroll(I)V .locals 0 .line 12457 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper; move-result-object p0 invoke-virtual {p0, p1}, Landroidx/core/view/NestedScrollingChildHelper;->stopNestedScroll(I)V return-void .end method .method public stopScroll()V .locals 1 const/4 v0, 0x0 .line 2915 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V .line 2916 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->stopScrollersInternal()V return-void .end method .method public final suppressLayout(Z)V .locals 9 iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z if-eq p1, v0, :cond_2 const-string v0, "Do not suppressLayout in layout or scroll" .line 2504 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->assertNotInLayoutOrScroll(Ljava/lang/String;)V if-nez p1, :cond_1 const/4 p1, 0x0 iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z if-eqz v0, :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager; if-eqz v0, :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter; if-eqz v0, :cond_0 .line 2508 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V :cond_0 iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z goto :goto_0 .line 2512 :cond_1 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J move-result-wide v3 const/4 v5, 0x3 const/4 v6, 0x0 const/4 v7, 0x0 const/4 v8, 0x0 move-wide v1, v3 .line 2513 invoke-static/range {v1 .. v8}, Landroid/view/MotionEvent;->obtain(JJIFFI)Landroid/view/MotionEvent; move-result-object p1 .line 2515 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->onTouchEvent(Landroid/view/MotionEvent;)Z const/4 p1, 0x1 iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mIgnoreMotionEventTillDown:Z .line 2518 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 1248 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setLayoutFrozen(Z)V const/4 v0, 0x1 .line 1249 invoke-direct {p0, p1, v0, p2}, Landroidx/recyclerview/widget/RecyclerView;->setAdapterInternal(Landroidx/recyclerview/widget/RecyclerView$Adapter;ZZ)V .line 1250 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->processDataSetCompletelyChanged(Z)V .line 1251 invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V return-void .end method .method viewRangeUpdate(IILjava/lang/Object;)V .locals 6 iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 5167 invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I move-result v0 add-int v1, p1, p2 const/4 v2, 0x0 :goto_0 if-ge v2, v0, :cond_2 iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper; .line 5171 invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View; move-result-object v3 .line 5172 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 5173 invoke-virtual {v4}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z move-result v5 if-eqz v5, :cond_0 goto :goto_1 .line 5176 :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 5179 invoke-virtual {v4, v5}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->addFlags(I)V .line 5180 invoke-virtual {v4, p3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->addChangePayload(Ljava/lang/Object;)V .line 5182 invoke-virtual {v3}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams; move-result-object v3 check-cast v3, Landroidx/recyclerview/widget/RecyclerView$LayoutParams; const/4 v4, 0x1 iput-boolean v4, v3, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mInsetsDirty:Z :cond_1 :goto_1 add-int/lit8 v2, v2, 0x1 goto :goto_0 :cond_2 iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; .line 5185 invoke-virtual {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->viewRangeUpdate(II)V return-void .end method