.class public Landroid/support/v7/widget/RecyclerView; .super Landroid/view/ViewGroup; .source "" # interfaces .implements Landroid/support/v4/view/ScrollingView; .implements Landroid/support/v4/view/NestedScrollingChild; # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Landroid/support/v7/widget/RecyclerView$ChildDrawingOrderCallback;, Landroid/support/v7/widget/RecyclerView$ItemAnimator;, Landroid/support/v7/widget/RecyclerView$ItemAnimatorRestoreListener;, Landroid/support/v7/widget/RecyclerView$State;, Landroid/support/v7/widget/RecyclerView$SavedState;, Landroid/support/v7/widget/RecyclerView$AdapterDataObservable;, Landroid/support/v7/widget/RecyclerView$SmoothScroller;, Landroid/support/v7/widget/RecyclerView$AdapterDataObserver;, Landroid/support/v7/widget/RecyclerView$LayoutParams;, Landroid/support/v7/widget/RecyclerView$ViewHolder;, Landroid/support/v7/widget/RecyclerView$OnChildAttachStateChangeListener;, Landroid/support/v7/widget/RecyclerView$RecyclerListener;, Landroid/support/v7/widget/RecyclerView$OnScrollListener;, Landroid/support/v7/widget/RecyclerView$SimpleOnItemTouchListener;, Landroid/support/v7/widget/RecyclerView$OnItemTouchListener;, Landroid/support/v7/widget/RecyclerView$ItemDecoration;, Landroid/support/v7/widget/RecyclerView$LayoutManager;, Landroid/support/v7/widget/RecyclerView$Adapter;, Landroid/support/v7/widget/RecyclerView$ViewCacheExtension;, Landroid/support/v7/widget/RecyclerView$Recycler;, Landroid/support/v7/widget/RecyclerView$RecycledViewPool;, Landroid/support/v7/widget/RecyclerView$RecyclerViewDataObserver;, Landroid/support/v7/widget/RecyclerView$ViewFlinger; } .end annotation # static fields .field static final ALLOW_SIZE_IN_UNSPECIFIED_SPEC:Z .field private static final CLIP_TO_PADDING_ATTR:[I .field private static final DEBUG:Z = false .field static final DISPATCH_TEMP_DETACH:Z = false .field private static final FORCE_INVALIDATE_DISPLAY_LIST:Z .field public static final HORIZONTAL:I = 0x0 .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 private 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 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 private 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 private static final TRACE_BIND_VIEW_TAG:Ljava/lang/String; = "RV OnBindView" .field private 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 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 private static final TRACE_SCROLL_TAG:Ljava/lang/String; = "RV Scroll" .field public static final VERTICAL:I = 0x1 .field private static final sQuinticInterpolator:Landroid/view/animation/Interpolator; # instance fields .field private mAccessibilityDelegate:Landroid/support/v7/widget/RecyclerViewAccessibilityDelegate; .field private final mAccessibilityManager:Landroid/view/accessibility/AccessibilityManager; .field private mActiveOnItemTouchListener:Landroid/support/v7/widget/RecyclerView$OnItemTouchListener; .field private mAdapter:Landroid/support/v7/widget/RecyclerView$Adapter; .field mAdapterHelper:Landroid/support/v7/widget/AdapterHelper; .field private mAdapterUpdateDuringMeasure:Z .field private mBottomGlow:Landroid/support/v4/widget/EdgeEffectCompat; .field private mChildDrawingOrderCallback:Landroid/support/v7/widget/RecyclerView$ChildDrawingOrderCallback; .field mChildHelper:Landroid/support/v7/widget/ChildHelper; .field private mClipToPadding:Z .field private mDataSetHasChangedAfterLayout:Z .field private mEatRequestLayout:I .field private mEatenAccessibilityChangeFlags:I .field mFirstLayoutComplete:Z .annotation build Landroid/support/annotation/VisibleForTesting; .end annotation .end field .field private mHasFixedSize:Z .field private mIgnoreMotionEventTillDown:Z .field private mInitialTouchX:I .field private mInitialTouchY:I .field private mIsAttached:Z .field mItemAnimator:Landroid/support/v7/widget/RecyclerView$ItemAnimator; .field private mItemAnimatorListener:Landroid/support/v7/widget/RecyclerView$ItemAnimator$ItemAnimatorListener; .field private mItemAnimatorRunner:Ljava/lang/Runnable; .field private final mItemDecorations:Ljava/util/ArrayList; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/ArrayList<", "Landroid/support/v7/widget/RecyclerView$ItemDecoration;", ">;" } .end annotation .end field .field mItemsAddedOrRemoved:Z .field mItemsChanged:Z .field private mLastTouchX:I .field private mLastTouchY:I .field mLayout:Landroid/support/v7/widget/RecyclerView$LayoutManager; .annotation build Landroid/support/annotation/VisibleForTesting; .end annotation .end field .field private mLayoutFrozen:Z .field private mLayoutOrScrollCounter:I .field private mLayoutRequestEaten:Z .field private mLeftGlow:Landroid/support/v4/widget/EdgeEffectCompat; .field private final mMaxFlingVelocity:I .field private final mMinFlingVelocity:I .field private final mMinMaxLayoutPositions:[I .field private final mNestedOffsets:[I .field private final mObserver:Landroid/support/v7/widget/RecyclerView$RecyclerViewDataObserver; .field private mOnChildAttachStateListeners:Ljava/util/List; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/List<", "Landroid/support/v7/widget/RecyclerView$OnChildAttachStateChangeListener;", ">;" } .end annotation .end field .field private final mOnItemTouchListeners:Ljava/util/ArrayList; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/ArrayList<", "Landroid/support/v7/widget/RecyclerView$OnItemTouchListener;", ">;" } .end annotation .end field .field private mPendingSavedState:Landroid/support/v7/widget/RecyclerView$SavedState; .field private final mPostUpdatesOnAnimation:Z .field private mPostedAnimatorRunner:Z .field private mPreserveFocusAfterLayout:Z .field final mRecycler:Landroid/support/v7/widget/RecyclerView$Recycler; .field private mRecyclerListener:Landroid/support/v7/widget/RecyclerView$RecyclerListener; .field private mRightGlow:Landroid/support/v4/widget/EdgeEffectCompat; .field private final mScrollConsumed:[I .field private mScrollFactor:F .field private mScrollListener:Landroid/support/v7/widget/RecyclerView$OnScrollListener; .field private mScrollListeners:Ljava/util/List; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/List<", "Landroid/support/v7/widget/RecyclerView$OnScrollListener;", ">;" } .end annotation .end field .field private final mScrollOffset:[I .field private mScrollPointerId:I .field private mScrollState:I .field private mScrollingChildHelper:Landroid/support/v4/view/NestedScrollingChildHelper; .field final mState:Landroid/support/v7/widget/RecyclerView$State; .field private final mTempRect:Landroid/graphics/Rect; .field private final mTempRect2:Landroid/graphics/Rect; .field private final mTempRectF:Landroid/graphics/RectF; .field private mTopGlow:Landroid/support/v4/widget/EdgeEffectCompat; .field private mTouchSlop:I .field private final mUpdateChildViewsRunnable:Ljava/lang/Runnable; .field private mVelocityTracker:Landroid/view/VelocityTracker; .field private final mViewFlinger:Landroid/support/v7/widget/RecyclerView$ViewFlinger; .field private final mViewInfoProcessCallback:Landroid/support/v7/widget/ViewInfoStore$ProcessCallback; .field final mViewInfoStore:Landroid/support/v7/widget/ViewInfoStore; # direct methods .method static constructor ()V .locals 4 const/4 v0, 0x1 new-array v1, v0, [I const/4 v2, 0x0 const v3, 0x1010436 aput v3, v1, v2 sput-object v1, Landroid/support/v7/widget/RecyclerView;->NESTED_SCROLLING_ATTRS:[I new-array v1, v0, [I const v3, 0x10100eb aput v3, v1, v2 sput-object v1, Landroid/support/v7/widget/RecyclerView;->CLIP_TO_PADDING_ATTR:[I sget v1, Landroid/os/Build$VERSION;->SDK_INT:I const/16 v3, 0x12 if-eq v1, v3, :cond_1 const/16 v3, 0x13 if-eq v1, v3, :cond_1 const/16 v3, 0x14 if-ne v1, v3, :cond_0 goto :goto_0 :cond_0 const/4 v1, 0x0 goto :goto_1 :cond_1 :goto_0 const/4 v1, 0x1 :goto_1 sput-boolean v1, Landroid/support/v7/widget/RecyclerView;->FORCE_INVALIDATE_DISPLAY_LIST:Z sget v1, Landroid/os/Build$VERSION;->SDK_INT:I const/16 v3, 0x17 if-lt v1, v3, :cond_2 const/4 v1, 0x1 goto :goto_2 :cond_2 const/4 v1, 0x0 :goto_2 sput-boolean v1, Landroid/support/v7/widget/RecyclerView;->ALLOW_SIZE_IN_UNSPECIFIED_SPEC:Z const/4 v1, 0x4 new-array v1, v1, [Ljava/lang/Class; const-class v3, Landroid/content/Context; aput-object v3, v1, v2 const-class v2, Landroid/util/AttributeSet; aput-object v2, v1, v0 const/4 v0, 0x2 sget-object v2, Ljava/lang/Integer;->TYPE:Ljava/lang/Class; aput-object v2, v1, v0 const/4 v0, 0x3 aput-object v2, v1, v0 sput-object v1, Landroid/support/v7/widget/RecyclerView;->LAYOUT_MANAGER_CONSTRUCTOR_SIGNATURE:[Ljava/lang/Class; new-instance v0, Landroid/support/v7/widget/RecyclerView$3; invoke-direct {v0}, Landroid/support/v7/widget/RecyclerView$3;->()V sput-object v0, Landroid/support/v7/widget/RecyclerView;->sQuinticInterpolator:Landroid/view/animation/Interpolator; return-void .end method .method public constructor (Landroid/content/Context;)V .locals 1 const/4 v0, 0x0 invoke-direct {p0, p1, v0}, Landroid/support/v7/widget/RecyclerView;->(Landroid/content/Context;Landroid/util/AttributeSet;)V return-void .end method .method public constructor (Landroid/content/Context;Landroid/util/AttributeSet;)V .locals 1 .param p2 # Landroid/util/AttributeSet; .annotation build Landroid/support/annotation/Nullable; .end annotation .end param const/4 v0, 0x0 invoke-direct {p0, p1, p2, v0}, Landroid/support/v7/widget/RecyclerView;->(Landroid/content/Context;Landroid/util/AttributeSet;I)V return-void .end method .method public constructor (Landroid/content/Context;Landroid/util/AttributeSet;I)V .locals 12 .param p2 # Landroid/util/AttributeSet; .annotation build Landroid/support/annotation/Nullable; .end annotation .end param invoke-direct {p0, p1, p2, p3}, Landroid/view/ViewGroup;->(Landroid/content/Context;Landroid/util/AttributeSet;I)V new-instance v0, Landroid/support/v7/widget/RecyclerView$RecyclerViewDataObserver; const/4 v1, 0x0 invoke-direct {v0, p0, v1}, Landroid/support/v7/widget/RecyclerView$RecyclerViewDataObserver;->(Landroid/support/v7/widget/RecyclerView;Landroid/support/v7/widget/RecyclerView$1;)V iput-object v0, p0, Landroid/support/v7/widget/RecyclerView;->mObserver:Landroid/support/v7/widget/RecyclerView$RecyclerViewDataObserver; new-instance v0, Landroid/support/v7/widget/RecyclerView$Recycler; invoke-direct {v0, p0}, Landroid/support/v7/widget/RecyclerView$Recycler;->(Landroid/support/v7/widget/RecyclerView;)V iput-object v0, p0, Landroid/support/v7/widget/RecyclerView;->mRecycler:Landroid/support/v7/widget/RecyclerView$Recycler; new-instance v0, Landroid/support/v7/widget/ViewInfoStore; invoke-direct {v0}, Landroid/support/v7/widget/ViewInfoStore;->()V iput-object v0, p0, Landroid/support/v7/widget/RecyclerView;->mViewInfoStore:Landroid/support/v7/widget/ViewInfoStore; new-instance v0, Landroid/support/v7/widget/RecyclerView$1; invoke-direct {v0, p0}, Landroid/support/v7/widget/RecyclerView$1;->(Landroid/support/v7/widget/RecyclerView;)V iput-object v0, p0, Landroid/support/v7/widget/RecyclerView;->mUpdateChildViewsRunnable:Ljava/lang/Runnable; new-instance v0, Landroid/graphics/Rect; invoke-direct {v0}, Landroid/graphics/Rect;->()V iput-object v0, p0, Landroid/support/v7/widget/RecyclerView;->mTempRect:Land