mirror of
https://github.com/Pinball3D/Rabbit-R1.git
synced 2025-01-09 13:43:22 +00:00
15713 lines
424 KiB
Smali
15713 lines
424 KiB
Smali
.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 <clinit>()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;-><init>()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;-><init>()V
|
|
|
|
sput-object v0, Landroidx/recyclerview/widget/RecyclerView;->sDefaultEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$StretchEdgeEffectFactory;
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public constructor <init>(Landroid/content/Context;)V
|
|
.locals 1
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 735
|
|
invoke-direct {p0, p1, v0}, Landroidx/recyclerview/widget/RecyclerView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public constructor <init>(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;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public constructor <init>(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;-><init>(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;-><init>(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;-><init>(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;-><init>()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;-><init>(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;-><init>()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;-><init>()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;-><init>()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;-><init>()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;-><init>()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;-><init>()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;-><init>()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;-><init>(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;-><init>()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;-><init>()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;-><init>(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;-><init>()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;-><init>(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;-><init>(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;-><init>(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;-><init>()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;-><init>(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;-><init>()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;-><init>(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;-><init>()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;-><init>(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;-><init>()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;-><init>(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;-><init>()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;-><init>(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;-><init>()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;-><init>(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;-><init>()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;-><init>()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;-><init>(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;-><init>(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;-><init>(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;-><init>(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;-><init>(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;-><init>(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;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
|
|
|
|
invoke-direct {v0, v1}, Landroidx/recyclerview/widget/ChildHelper;-><init>(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;-><init>(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;-><init>(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;-><init>()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;-><init>()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;-><init>(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;-><init>(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;-><init>()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;-><init>(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;-><init>(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;-><init>(Ljava/lang/String;)V
|
|
|
|
throw p1
|
|
|
|
.line 3484
|
|
:cond_0
|
|
new-instance p0, Ljava/lang/IllegalStateException;
|
|
|
|
invoke-direct {p0, p1}, Ljava/lang/IllegalStateException;-><init>(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;-><init>(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;-><init>(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;-><init>(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;-><init>(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;-><init>(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;-><init>(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;-><init>(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;-><init>(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;-><init>(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;-><init>(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;-><init>(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;-><init>()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;-><init>(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;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
|
|
|
|
invoke-direct {v0, v1}, Landroidx/recyclerview/widget/AdapterHelper;-><init>(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;-><init>(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;-><init>(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;-><init>(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;-><init>(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;-><init>(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;-><init>(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;-><init>(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;-><init>()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;-><init>(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;-><init>(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;-><init>(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;-><init>(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;-><init>(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;-><init>(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;-><init>(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;-><init>(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;-><init>(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;-><init>(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;-><init>()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;-><init>(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;-><init>(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;-><init>(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;-><init>(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;-><init>(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;-><init>(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;-><init>(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;-><init>()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;-><init>(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;-><init>(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;-><init>(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
|