- Imported from https://github.com/supermegamestre/Project-Real-Resurrection-3 - APKTool decompilation (Smali bytecode) for modding and rebuilding APK - Supports both 32-bit (armeabi-v7a) and 64-bit (arm64-v8a) architectures - Includes full Smali source, resources, and native libraries - Ready to rebuild APK after modifications with apktool b command - Added comprehensive README-apktool.md with modding guide This branch complements the JADX branches: - Use JADX (main/discord-community) to UNDERSTAND code (readable Java) - Use APKTool (this branch) to MODIFY and REBUILD APK (editable Smali) Total: 44,417 files, 538.51 MB Smali source code
14220 lines
387 KiB
Smali
14220 lines
387 KiB
Smali
.class public Landroidx/recyclerview/widget/RecyclerView;
|
|
.super Landroid/view/ViewGroup;
|
|
.source "SourceFile"
|
|
|
|
# interfaces
|
|
.implements Landroidx/core/view/ScrollingView;
|
|
.implements Landroidx/core/view/NestedScrollingChild2;
|
|
.implements Landroidx/core/view/NestedScrollingChild3;
|
|
|
|
|
|
# annotations
|
|
.annotation system Ldalvik/annotation/MemberClasses;
|
|
value = {
|
|
Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback;,
|
|
Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;,
|
|
Landroidx/recyclerview/widget/RecyclerView$ItemAnimatorRestoreListener;,
|
|
Landroidx/recyclerview/widget/RecyclerView$OnFlingListener;,
|
|
Landroidx/recyclerview/widget/RecyclerView$State;,
|
|
Landroidx/recyclerview/widget/RecyclerView$SavedState;,
|
|
Landroidx/recyclerview/widget/RecyclerView$AdapterDataObservable;,
|
|
Landroidx/recyclerview/widget/RecyclerView$SmoothScroller;,
|
|
Landroidx/recyclerview/widget/RecyclerView$AdapterDataObserver;,
|
|
Landroidx/recyclerview/widget/RecyclerView$LayoutParams;,
|
|
Landroidx/recyclerview/widget/RecyclerView$ViewHolder;,
|
|
Landroidx/recyclerview/widget/RecyclerView$OnChildAttachStateChangeListener;,
|
|
Landroidx/recyclerview/widget/RecyclerView$RecyclerListener;,
|
|
Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;,
|
|
Landroidx/recyclerview/widget/RecyclerView$SimpleOnItemTouchListener;,
|
|
Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;,
|
|
Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;,
|
|
Landroidx/recyclerview/widget/RecyclerView$LayoutManager;,
|
|
Landroidx/recyclerview/widget/RecyclerView$Adapter;,
|
|
Landroidx/recyclerview/widget/RecyclerView$ViewCacheExtension;,
|
|
Landroidx/recyclerview/widget/RecyclerView$Recycler;,
|
|
Landroidx/recyclerview/widget/RecyclerView$RecycledViewPool;,
|
|
Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;,
|
|
Landroidx/recyclerview/widget/RecyclerView$RecyclerViewDataObserver;,
|
|
Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;,
|
|
Landroidx/recyclerview/widget/RecyclerView$Orientation;
|
|
}
|
|
.end annotation
|
|
|
|
|
|
# static fields
|
|
.field static final ALLOW_SIZE_IN_UNSPECIFIED_SPEC:Z
|
|
|
|
.field static final ALLOW_THREAD_GAP_WORK:Z
|
|
|
|
.field static final DEBUG:Z = false
|
|
|
|
.field static final DEFAULT_ORIENTATION:I = 0x1
|
|
|
|
.field static final DISPATCH_TEMP_DETACH:Z = false
|
|
|
|
.field private static final FORCE_ABS_FOCUS_SEARCH_DIRECTION:Z
|
|
|
|
.field static final FORCE_INVALIDATE_DISPLAY_LIST:Z
|
|
|
|
.field static final FOREVER_NS:J = 0x7fffffffffffffffL
|
|
|
|
.field public static final HORIZONTAL:I = 0x0
|
|
|
|
.field private static final IGNORE_DETACHED_FOCUSED_CHILD:Z
|
|
|
|
.field private static final INVALID_POINTER:I = -0x1
|
|
|
|
.field public static final INVALID_TYPE:I = -0x1
|
|
|
|
.field private static final LAYOUT_MANAGER_CONSTRUCTOR_SIGNATURE:[Ljava/lang/Class;
|
|
.annotation system Ldalvik/annotation/Signature;
|
|
value = {
|
|
"[",
|
|
"Ljava/lang/Class<",
|
|
"*>;"
|
|
}
|
|
.end annotation
|
|
.end field
|
|
|
|
.field static final MAX_SCROLL_DURATION:I = 0x7d0
|
|
|
|
.field private static final NESTED_SCROLLING_ATTRS:[I
|
|
|
|
.field public static final NO_ID:J = -0x1L
|
|
|
|
.field public static final NO_POSITION:I = -0x1
|
|
|
|
.field static final POST_UPDATES_ON_ANIMATION:Z
|
|
|
|
.field public static final SCROLL_STATE_DRAGGING:I = 0x1
|
|
|
|
.field public static final SCROLL_STATE_IDLE:I = 0x0
|
|
|
|
.field public static final SCROLL_STATE_SETTLING:I = 0x2
|
|
|
|
.field static final TAG:Ljava/lang/String; = "RecyclerView"
|
|
|
|
.field public static final TOUCH_SLOP_DEFAULT:I = 0x0
|
|
|
|
.field public static final TOUCH_SLOP_PAGING:I = 0x1
|
|
|
|
.field static final TRACE_BIND_VIEW_TAG:Ljava/lang/String; = "RV OnBindView"
|
|
|
|
.field static final TRACE_CREATE_VIEW_TAG:Ljava/lang/String; = "RV CreateView"
|
|
|
|
.field private static final TRACE_HANDLE_ADAPTER_UPDATES_TAG:Ljava/lang/String; = "RV PartialInvalidate"
|
|
|
|
.field static final TRACE_NESTED_PREFETCH_TAG:Ljava/lang/String; = "RV Nested Prefetch"
|
|
|
|
.field private static final TRACE_ON_DATA_SET_CHANGE_LAYOUT_TAG:Ljava/lang/String; = "RV FullInvalidate"
|
|
|
|
.field private static final TRACE_ON_LAYOUT_TAG:Ljava/lang/String; = "RV OnLayout"
|
|
|
|
.field static final TRACE_PREFETCH_TAG:Ljava/lang/String; = "RV Prefetch"
|
|
|
|
.field static final TRACE_SCROLL_TAG:Ljava/lang/String; = "RV Scroll"
|
|
|
|
.field public static final UNDEFINED_DURATION:I = -0x80000000
|
|
|
|
.field static final VERBOSE_TRACING:Z = false
|
|
|
|
.field public static final VERTICAL:I = 0x1
|
|
|
|
.field static final sQuinticInterpolator:Landroid/view/animation/Interpolator;
|
|
|
|
|
|
# instance fields
|
|
.field mAccessibilityDelegate:Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate;
|
|
|
|
.field private final mAccessibilityManager:Landroid/view/accessibility/AccessibilityManager;
|
|
|
|
.field mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
|
|
|
.field mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
|
|
|
|
.field mAdapterUpdateDuringMeasure:Z
|
|
|
|
.field private mBottomGlow:Landroid/widget/EdgeEffect;
|
|
|
|
.field private mChildDrawingOrderCallback:Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback;
|
|
|
|
.field mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
|
|
|
|
.field mClipToPadding:Z
|
|
|
|
.field mDataSetHasChangedAfterLayout:Z
|
|
|
|
.field mDispatchItemsChangedEvent:Z
|
|
|
|
.field private mDispatchScrollCounter:I
|
|
|
|
.field private mEatenAccessibilityChangeFlags:I
|
|
|
|
.field private mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end field
|
|
|
|
.field mEnableFastScroller:Z
|
|
|
|
.field mFirstLayoutComplete:Z
|
|
.annotation build Landroidx/annotation/VisibleForTesting;
|
|
.end annotation
|
|
.end field
|
|
|
|
.field mGapWorker:Landroidx/recyclerview/widget/GapWorker;
|
|
|
|
.field mHasFixedSize:Z
|
|
|
|
.field private mIgnoreMotionEventTillDown:Z
|
|
|
|
.field private mInitialTouchX:I
|
|
|
|
.field private mInitialTouchY:I
|
|
|
|
.field private mInterceptRequestLayoutDepth:I
|
|
|
|
.field private mInterceptingOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;
|
|
|
|
.field mIsAttached:Z
|
|
|
|
.field mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
|
|
|
|
.field private mItemAnimatorListener:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemAnimatorListener;
|
|
|
|
.field private mItemAnimatorRunner:Ljava/lang/Runnable;
|
|
|
|
.field final mItemDecorations:Ljava/util/ArrayList;
|
|
.annotation system Ldalvik/annotation/Signature;
|
|
value = {
|
|
"Ljava/util/ArrayList<",
|
|
"Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;",
|
|
">;"
|
|
}
|
|
.end annotation
|
|
.end field
|
|
|
|
.field mItemsAddedOrRemoved:Z
|
|
|
|
.field mItemsChanged:Z
|
|
|
|
.field private mLastAutoMeasureNonExactMeasuredHeight:I
|
|
|
|
.field private mLastAutoMeasureNonExactMeasuredWidth:I
|
|
|
|
.field private mLastAutoMeasureSkippedDueToExact:Z
|
|
|
|
.field private mLastTouchX:I
|
|
|
|
.field private mLastTouchY:I
|
|
|
|
.field mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
.annotation build Landroidx/annotation/VisibleForTesting;
|
|
.end annotation
|
|
.end field
|
|
|
|
.field private mLayoutOrScrollCounter:I
|
|
|
|
.field mLayoutSuppressed:Z
|
|
|
|
.field mLayoutWasDefered:Z
|
|
|
|
.field private mLeftGlow:Landroid/widget/EdgeEffect;
|
|
|
|
.field private final mMaxFlingVelocity:I
|
|
|
|
.field private final mMinFlingVelocity:I
|
|
|
|
.field private final mMinMaxLayoutPositions:[I
|
|
|
|
.field private final mNestedOffsets:[I
|
|
|
|
.field private final mObserver:Landroidx/recyclerview/widget/RecyclerView$RecyclerViewDataObserver;
|
|
|
|
.field private mOnChildAttachStateListeners:Ljava/util/List;
|
|
.annotation system Ldalvik/annotation/Signature;
|
|
value = {
|
|
"Ljava/util/List<",
|
|
"Landroidx/recyclerview/widget/RecyclerView$OnChildAttachStateChangeListener;",
|
|
">;"
|
|
}
|
|
.end annotation
|
|
.end field
|
|
|
|
.field private mOnFlingListener:Landroidx/recyclerview/widget/RecyclerView$OnFlingListener;
|
|
|
|
.field private final mOnItemTouchListeners:Ljava/util/ArrayList;
|
|
.annotation system Ldalvik/annotation/Signature;
|
|
value = {
|
|
"Ljava/util/ArrayList<",
|
|
"Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;",
|
|
">;"
|
|
}
|
|
.end annotation
|
|
.end field
|
|
|
|
.field final mPendingAccessibilityImportanceChange:Ljava/util/List;
|
|
.annotation build Landroidx/annotation/VisibleForTesting;
|
|
.end annotation
|
|
|
|
.annotation system Ldalvik/annotation/Signature;
|
|
value = {
|
|
"Ljava/util/List<",
|
|
"Landroidx/recyclerview/widget/RecyclerView$ViewHolder;",
|
|
">;"
|
|
}
|
|
.end annotation
|
|
.end field
|
|
|
|
.field mPendingSavedState:Landroidx/recyclerview/widget/RecyclerView$SavedState;
|
|
|
|
.field mPostedAnimatorRunner:Z
|
|
|
|
.field mPrefetchRegistry:Landroidx/recyclerview/widget/GapWorker$LayoutPrefetchRegistryImpl;
|
|
|
|
.field private mPreserveFocusAfterLayout:Z
|
|
|
|
.field final mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
|
|
|
|
.field mRecyclerListener:Landroidx/recyclerview/widget/RecyclerView$RecyclerListener;
|
|
|
|
.field final mRecyclerListeners:Ljava/util/List;
|
|
.annotation system Ldalvik/annotation/Signature;
|
|
value = {
|
|
"Ljava/util/List<",
|
|
"Landroidx/recyclerview/widget/RecyclerView$RecyclerListener;",
|
|
">;"
|
|
}
|
|
.end annotation
|
|
.end field
|
|
|
|
.field final mReusableIntPair:[I
|
|
|
|
.field private mRightGlow:Landroid/widget/EdgeEffect;
|
|
|
|
.field private mScaledHorizontalScrollFactor:F
|
|
|
|
.field private mScaledVerticalScrollFactor:F
|
|
|
|
.field private mScrollListener:Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;
|
|
|
|
.field private mScrollListeners:Ljava/util/List;
|
|
.annotation system Ldalvik/annotation/Signature;
|
|
value = {
|
|
"Ljava/util/List<",
|
|
"Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;",
|
|
">;"
|
|
}
|
|
.end annotation
|
|
.end field
|
|
|
|
.field private final mScrollOffset:[I
|
|
|
|
.field private mScrollPointerId:I
|
|
|
|
.field private mScrollState:I
|
|
|
|
.field private mScrollingChildHelper:Landroidx/core/view/NestedScrollingChildHelper;
|
|
|
|
.field final mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
.field final mTempRect:Landroid/graphics/Rect;
|
|
|
|
.field private final mTempRect2:Landroid/graphics/Rect;
|
|
|
|
.field final mTempRectF:Landroid/graphics/RectF;
|
|
|
|
.field private mTopGlow:Landroid/widget/EdgeEffect;
|
|
|
|
.field private mTouchSlop:I
|
|
|
|
.field final mUpdateChildViewsRunnable:Ljava/lang/Runnable;
|
|
|
|
.field private mVelocityTracker:Landroid/view/VelocityTracker;
|
|
|
|
.field final mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;
|
|
|
|
.field private final mViewInfoProcessCallback:Landroidx/recyclerview/widget/ViewInfoStore$ProcessCallback;
|
|
|
|
.field final mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
|
|
|
|
|
|
# direct methods
|
|
.method static constructor <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/4 v0, 0x0
|
|
|
|
sput-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->FORCE_INVALIDATE_DISPLAY_LIST:Z
|
|
|
|
const/4 v1, 0x1
|
|
|
|
sput-boolean v1, Landroidx/recyclerview/widget/RecyclerView;->ALLOW_SIZE_IN_UNSPECIFIED_SPEC:Z
|
|
|
|
sput-boolean v1, Landroidx/recyclerview/widget/RecyclerView;->POST_UPDATES_ON_ANIMATION:Z
|
|
|
|
sput-boolean v1, Landroidx/recyclerview/widget/RecyclerView;->ALLOW_THREAD_GAP_WORK:Z
|
|
|
|
sput-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->FORCE_ABS_FOCUS_SEARCH_DIRECTION:Z
|
|
|
|
sput-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->IGNORE_DETACHED_FOCUSED_CHILD:Z
|
|
|
|
const/4 v2, 0x4
|
|
|
|
new-array v2, v2, [Ljava/lang/Class;
|
|
|
|
const-class v3, Landroid/content/Context;
|
|
|
|
aput-object v3, v2, v0
|
|
|
|
const-class v0, Landroid/util/AttributeSet;
|
|
|
|
aput-object v0, v2, v1
|
|
|
|
sget-object v0, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
|
|
|
|
const/4 v1, 0x2
|
|
|
|
aput-object v0, v2, v1
|
|
|
|
const/4 v1, 0x3
|
|
|
|
aput-object v0, v2, v1
|
|
|
|
sput-object v2, Landroidx/recyclerview/widget/RecyclerView;->LAYOUT_MANAGER_CONSTRUCTOR_SIGNATURE:[Ljava/lang/Class;
|
|
|
|
.line 609
|
|
new-instance v0, Landroidx/recyclerview/widget/RecyclerView$3;
|
|
|
|
invoke-direct {v0}, Landroidx/recyclerview/widget/RecyclerView$3;-><init>()V
|
|
|
|
sput-object v0, Landroidx/recyclerview/widget/RecyclerView;->sQuinticInterpolator:Landroid/view/animation/Interpolator;
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public constructor <init>(Landroid/content/Context;)V
|
|
.locals 1
|
|
.param p1 # Landroid/content/Context;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 681
|
|
invoke-direct {p0, p1, v0}, Landroidx/recyclerview/widget/RecyclerView;-><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
|
|
.param p1 # Landroid/content/Context;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
.param p2 # Landroid/util/AttributeSet;
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
.end param
|
|
|
|
sget v0, Landroidx/recyclerview/R$attr;->recyclerViewStyle:I
|
|
|
|
.line 685
|
|
invoke-direct {p0, p1, p2, v0}, Landroidx/recyclerview/widget/RecyclerView;-><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
|
|
.param p1 # Landroid/content/Context;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
.param p2 # Landroid/util/AttributeSet;
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
.end param
|
|
|
|
move-object v7, p0
|
|
|
|
move-object/from16 v8, p1
|
|
|
|
move-object/from16 v9, p2
|
|
|
|
move/from16 v10, p3
|
|
|
|
.line 689
|
|
invoke-direct/range {p0 .. p3}, Landroid/view/ViewGroup;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
|
|
|
|
.line 368
|
|
new-instance v0, Landroidx/recyclerview/widget/RecyclerView$RecyclerViewDataObserver;
|
|
|
|
invoke-direct {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$RecyclerViewDataObserver;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
|
|
|
|
iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mObserver:Landroidx/recyclerview/widget/RecyclerView$RecyclerViewDataObserver;
|
|
|
|
.line 370
|
|
new-instance v0, Landroidx/recyclerview/widget/RecyclerView$Recycler;
|
|
|
|
invoke-direct {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
|
|
|
|
iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
|
|
|
|
.line 387
|
|
new-instance v0, Landroidx/recyclerview/widget/ViewInfoStore;
|
|
|
|
invoke-direct {v0}, Landroidx/recyclerview/widget/ViewInfoStore;-><init>()V
|
|
|
|
iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
|
|
|
|
.line 401
|
|
new-instance v0, Landroidx/recyclerview/widget/RecyclerView$1;
|
|
|
|
invoke-direct {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$1;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
|
|
|
|
iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mUpdateChildViewsRunnable:Ljava/lang/Runnable;
|
|
|
|
.line 421
|
|
new-instance v0, Landroid/graphics/Rect;
|
|
|
|
invoke-direct {v0}, Landroid/graphics/Rect;-><init>()V
|
|
|
|
iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
|
|
|
|
.line 422
|
|
new-instance v0, Landroid/graphics/Rect;
|
|
|
|
invoke-direct {v0}, Landroid/graphics/Rect;-><init>()V
|
|
|
|
iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect;
|
|
|
|
.line 423
|
|
new-instance v0, Landroid/graphics/RectF;
|
|
|
|
invoke-direct {v0}, Landroid/graphics/RectF;-><init>()V
|
|
|
|
iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mTempRectF:Landroid/graphics/RectF;
|
|
|
|
.line 430
|
|
new-instance v0, Ljava/util/ArrayList;
|
|
|
|
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
|
|
|
|
iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mRecyclerListeners:Ljava/util/List;
|
|
|
|
.line 431
|
|
new-instance v0, Ljava/util/ArrayList;
|
|
|
|
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
|
|
|
|
iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
|
|
|
|
.line 432
|
|
new-instance v0, Ljava/util/ArrayList;
|
|
|
|
invoke-direct {v0}, Ljava/util/ArrayList;-><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
|
|
|
|
.line 508
|
|
new-instance v0, Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;
|
|
|
|
invoke-direct {v0}, Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;-><init>()V
|
|
|
|
iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;
|
|
|
|
.line 512
|
|
new-instance v0, Landroidx/recyclerview/widget/DefaultItemAnimator;
|
|
|
|
invoke-direct {v0}, Landroidx/recyclerview/widget/DefaultItemAnimator;-><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 560
|
|
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 564
|
|
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 566
|
|
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 574
|
|
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 596
|
|
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 599
|
|
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 642
|
|
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 690
|
|
invoke-virtual {p0, v13}, Landroid/view/View;->setScrollContainer(Z)V
|
|
|
|
.line 691
|
|
invoke-virtual {p0, v13}, Landroid/view/View;->setFocusableInTouchMode(Z)V
|
|
|
|
.line 693
|
|
invoke-static/range {p1 .. p1}, Landroid/view/ViewConfiguration;->get(Landroid/content/Context;)Landroid/view/ViewConfiguration;
|
|
|
|
move-result-object v1
|
|
|
|
.line 694
|
|
invoke-virtual {v1}, Landroid/view/ViewConfiguration;->getScaledTouchSlop()I
|
|
|
|
move-result v2
|
|
|
|
iput v2, v7, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I
|
|
|
|
.line 696
|
|
invoke-static {v1, v8}, Landroidx/core/view/ViewConfigurationCompat;->getScaledHorizontalScrollFactor(Landroid/view/ViewConfiguration;Landroid/content/Context;)F
|
|
|
|
move-result v2
|
|
|
|
iput v2, v7, Landroidx/recyclerview/widget/RecyclerView;->mScaledHorizontalScrollFactor:F
|
|
|
|
.line 698
|
|
invoke-static {v1, v8}, Landroidx/core/view/ViewConfigurationCompat;->getScaledVerticalScrollFactor(Landroid/view/ViewConfiguration;Landroid/content/Context;)F
|
|
|
|
move-result v2
|
|
|
|
iput v2, v7, Landroidx/recyclerview/widget/RecyclerView;->mScaledVerticalScrollFactor:F
|
|
|
|
.line 699
|
|
invoke-virtual {v1}, Landroid/view/ViewConfiguration;->getScaledMinimumFlingVelocity()I
|
|
|
|
move-result v2
|
|
|
|
iput v2, v7, Landroidx/recyclerview/widget/RecyclerView;->mMinFlingVelocity:I
|
|
|
|
.line 700
|
|
invoke-virtual {v1}, Landroid/view/ViewConfiguration;->getScaledMaximumFlingVelocity()I
|
|
|
|
move-result v1
|
|
|
|
iput v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mMaxFlingVelocity:I
|
|
|
|
.line 701
|
|
invoke-virtual {p0}, Landroid/view/View;->getOverScrollMode()I
|
|
|
|
move-result v1
|
|
|
|
if-ne v1, v0, :cond_1
|
|
|
|
move v0, v13
|
|
|
|
goto :goto_1
|
|
|
|
:cond_1
|
|
move v0, v11
|
|
|
|
:goto_1
|
|
invoke-virtual {p0, v0}, Landroid/view/View;->setWillNotDraw(Z)V
|
|
|
|
iget-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
|
|
|
|
iget-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimatorListener:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemAnimatorListener;
|
|
|
|
.line 703
|
|
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->setListener(Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemAnimatorListener;)V
|
|
|
|
.line 704
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->initAdapterManager()V
|
|
|
|
.line 705
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->initChildrenHelper()V
|
|
|
|
.line 706
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->initAutofill()V
|
|
|
|
.line 708
|
|
invoke-static {p0}, Landroidx/core/view/ViewCompat;->getImportantForAccessibility(Landroid/view/View;)I
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_2
|
|
|
|
.line 710
|
|
invoke-static {p0, v13}, Landroidx/core/view/ViewCompat;->setImportantForAccessibility(Landroid/view/View;I)V
|
|
|
|
.line 713
|
|
:cond_2
|
|
invoke-virtual {p0}, Landroid/view/View;->getContext()Landroid/content/Context;
|
|
|
|
move-result-object v0
|
|
|
|
const-string v1, "accessibility"
|
|
|
|
.line 714
|
|
invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
|
|
|
|
move-result-object v0
|
|
|
|
check-cast v0, Landroid/view/accessibility/AccessibilityManager;
|
|
|
|
iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mAccessibilityManager:Landroid/view/accessibility/AccessibilityManager;
|
|
|
|
.line 715
|
|
new-instance v0, Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate;
|
|
|
|
invoke-direct {v0, p0}, Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
|
|
|
|
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setAccessibilityDelegateCompat(Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate;)V
|
|
|
|
.line 717
|
|
sget-object v0, Landroidx/recyclerview/R$styleable;->RecyclerView:[I
|
|
|
|
invoke-virtual {v8, v9, v0, v10, v11}, Landroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray;
|
|
|
|
move-result-object v14
|
|
|
|
.line 719
|
|
sget-object v2, Landroidx/recyclerview/R$styleable;->RecyclerView:[I
|
|
|
|
const/4 v6, 0x0
|
|
|
|
move-object v0, p0
|
|
|
|
move-object/from16 v1, p1
|
|
|
|
move-object/from16 v3, p2
|
|
|
|
move-object v4, v14
|
|
|
|
move/from16 v5, p3
|
|
|
|
invoke-static/range {v0 .. v6}, Landroidx/core/view/ViewCompat;->saveAttributeDataForStyleable(Landroid/view/View;Landroid/content/Context;[ILandroid/util/AttributeSet;Landroid/content/res/TypedArray;II)V
|
|
|
|
.line 721
|
|
sget v0, Landroidx/recyclerview/R$styleable;->RecyclerView_layoutManager:I
|
|
|
|
invoke-virtual {v14, v0}, Landroid/content/res/TypedArray;->getString(I)Ljava/lang/String;
|
|
|
|
move-result-object v2
|
|
|
|
.line 722
|
|
sget v0, Landroidx/recyclerview/R$styleable;->RecyclerView_android_descendantFocusability:I
|
|
|
|
invoke-virtual {v14, v0, v12}, Landroid/content/res/TypedArray;->getInt(II)I
|
|
|
|
move-result v0
|
|
|
|
if-ne v0, v12, :cond_3
|
|
|
|
const/high16 v0, 0x40000
|
|
|
|
.line 725
|
|
invoke-virtual {p0, v0}, Landroid/view/ViewGroup;->setDescendantFocusability(I)V
|
|
|
|
.line 727
|
|
:cond_3
|
|
sget v0, Landroidx/recyclerview/R$styleable;->RecyclerView_android_clipToPadding:I
|
|
|
|
invoke-virtual {v14, v0, v13}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z
|
|
|
|
move-result v0
|
|
|
|
iput-boolean v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
|
|
|
|
.line 728
|
|
sget v0, Landroidx/recyclerview/R$styleable;->RecyclerView_fastScrollEnabled:I
|
|
|
|
invoke-virtual {v14, v0, v11}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z
|
|
|
|
move-result v0
|
|
|
|
iput-boolean v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mEnableFastScroller:Z
|
|
|
|
if-eqz v0, :cond_4
|
|
|
|
.line 730
|
|
sget v0, Landroidx/recyclerview/R$styleable;->RecyclerView_fastScrollVerticalThumbDrawable:I
|
|
|
|
.line 731
|
|
invoke-virtual {v14, v0}, Landroid/content/res/TypedArray;->getDrawable(I)Landroid/graphics/drawable/Drawable;
|
|
|
|
move-result-object v0
|
|
|
|
check-cast v0, Landroid/graphics/drawable/StateListDrawable;
|
|
|
|
.line 732
|
|
sget v1, Landroidx/recyclerview/R$styleable;->RecyclerView_fastScrollVerticalTrackDrawable:I
|
|
|
|
.line 733
|
|
invoke-virtual {v14, v1}, Landroid/content/res/TypedArray;->getDrawable(I)Landroid/graphics/drawable/Drawable;
|
|
|
|
move-result-object v1
|
|
|
|
.line 734
|
|
sget v3, Landroidx/recyclerview/R$styleable;->RecyclerView_fastScrollHorizontalThumbDrawable:I
|
|
|
|
.line 735
|
|
invoke-virtual {v14, v3}, Landroid/content/res/TypedArray;->getDrawable(I)Landroid/graphics/drawable/Drawable;
|
|
|
|
move-result-object v3
|
|
|
|
check-cast v3, Landroid/graphics/drawable/StateListDrawable;
|
|
|
|
.line 736
|
|
sget v4, Landroidx/recyclerview/R$styleable;->RecyclerView_fastScrollHorizontalTrackDrawable:I
|
|
|
|
.line 737
|
|
invoke-virtual {v14, v4}, Landroid/content/res/TypedArray;->getDrawable(I)Landroid/graphics/drawable/Drawable;
|
|
|
|
move-result-object v4
|
|
|
|
.line 738
|
|
invoke-virtual {p0, v0, v1, v3, v4}, Landroidx/recyclerview/widget/RecyclerView;->initFastScroller(Landroid/graphics/drawable/StateListDrawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/StateListDrawable;Landroid/graphics/drawable/Drawable;)V
|
|
|
|
.line 741
|
|
:cond_4
|
|
invoke-virtual {v14}, Landroid/content/res/TypedArray;->recycle()V
|
|
|
|
const/4 v5, 0x0
|
|
|
|
move-object v0, p0
|
|
|
|
move-object/from16 v1, p1
|
|
|
|
move-object/from16 v3, p2
|
|
|
|
move/from16 v4, p3
|
|
|
|
.line 744
|
|
invoke-direct/range {v0 .. v5}, Landroidx/recyclerview/widget/RecyclerView;->createLayoutManager(Landroid/content/Context;Ljava/lang/String;Landroid/util/AttributeSet;II)V
|
|
|
|
sget-object v2, Landroidx/recyclerview/widget/RecyclerView;->NESTED_SCROLLING_ATTRS:[I
|
|
|
|
.line 748
|
|
invoke-virtual {v8, v9, v2, v10, v11}, Landroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray;
|
|
|
|
move-result-object v12
|
|
|
|
const/4 v6, 0x0
|
|
|
|
move-object v0, p0
|
|
|
|
move-object/from16 v1, p1
|
|
|
|
move-object/from16 v3, p2
|
|
|
|
move-object v4, v12
|
|
|
|
move/from16 v5, p3
|
|
|
|
.line 750
|
|
invoke-static/range {v0 .. v6}, Landroidx/core/view/ViewCompat;->saveAttributeDataForStyleable(Landroid/view/View;Landroid/content/Context;[ILandroid/util/AttributeSet;Landroid/content/res/TypedArray;II)V
|
|
|
|
.line 752
|
|
invoke-virtual {v12, v11, v13}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z
|
|
|
|
move-result v0
|
|
|
|
.line 753
|
|
invoke-virtual {v12}, Landroid/content/res/TypedArray;->recycle()V
|
|
|
|
.line 756
|
|
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setNestedScrollingEnabled(Z)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public static synthetic access$000(Landroidx/recyclerview/widget/RecyclerView;Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V
|
|
.locals 0
|
|
|
|
.line 212
|
|
invoke-virtual {p0, p1, p2, p3}, Landroid/view/ViewGroup;->attachViewToParent(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public static synthetic access$100(Landroidx/recyclerview/widget/RecyclerView;I)V
|
|
.locals 0
|
|
|
|
.line 212
|
|
invoke-virtual {p0, p1}, Landroid/view/ViewGroup;->detachViewFromParent(I)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public static synthetic access$200(Landroidx/recyclerview/widget/RecyclerView;)Z
|
|
.locals 0
|
|
|
|
.line 212
|
|
invoke-virtual {p0}, Landroid/view/View;->awakenScrollBars()Z
|
|
|
|
move-result p0
|
|
|
|
return p0
|
|
.end method
|
|
|
|
.method public static synthetic access$300(Landroidx/recyclerview/widget/RecyclerView;II)V
|
|
.locals 0
|
|
|
|
.line 212
|
|
invoke-virtual {p0, p1, p2}, Landroid/view/View;->setMeasuredDimension(II)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method private addAnimatingView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
|
|
.locals 5
|
|
|
|
.line 1499
|
|
iget-object v0, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
|
|
|
|
.line 1500
|
|
invoke-virtual {v0}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
|
|
|
|
move-result-object v1
|
|
|
|
const/4 v2, 0x1
|
|
|
|
if-ne v1, p0, :cond_0
|
|
|
|
move v1, v2
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
const/4 v1, 0x0
|
|
|
|
:goto_0
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
|
|
|
|
.line 1501
|
|
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolder(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
|
|
|
|
move-result-object v4
|
|
|
|
invoke-virtual {v3, v4}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->unscrapView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
|
|
|
|
.line 1502
|
|
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isTmpDetached()Z
|
|
|
|
move-result p1
|
|
|
|
if-eqz p1, :cond_1
|
|
|
|
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
|
|
|
|
const/4 v1, -0x1
|
|
|
|
.line 1504
|
|
invoke-virtual {v0}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
|
|
|
|
move-result-object v3
|
|
|
|
invoke-virtual {p1, v0, v1, v3, v2}, Landroidx/recyclerview/widget/ChildHelper;->attachViewToParent(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;Z)V
|
|
|
|
goto :goto_1
|
|
|
|
:cond_1
|
|
if-nez v1, :cond_2
|
|
|
|
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
|
|
|
|
.line 1506
|
|
invoke-virtual {p1, v0, v2}, Landroidx/recyclerview/widget/ChildHelper;->addView(Landroid/view/View;Z)V
|
|
|
|
goto :goto_1
|
|
|
|
:cond_2
|
|
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
|
|
|
|
.line 1508
|
|
invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/ChildHelper;->hide(Landroid/view/View;)V
|
|
|
|
:goto_1
|
|
return-void
|
|
.end method
|
|
|
|
.method private animateChange(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;ZZ)V
|
|
.locals 1
|
|
.param p1 # Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
.param p2 # Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
.param p3 # Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
.param p4 # Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 4555
|
|
invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->setIsRecyclable(Z)V
|
|
|
|
if-eqz p5, :cond_0
|
|
|
|
.line 4557
|
|
invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->addAnimatingView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
|
|
|
|
:cond_0
|
|
if-eq p1, p2, :cond_2
|
|
|
|
if-eqz p6, :cond_1
|
|
|
|
.line 4561
|
|
invoke-direct {p0, p2}, Landroidx/recyclerview/widget/RecyclerView;->addAnimatingView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
|
|
|
|
.line 4563
|
|
:cond_1
|
|
iput-object p2, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mShadowedHolder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
|
|
|
|
.line 4565
|
|
invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->addAnimatingView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
|
|
|
|
iget-object p5, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
|
|
|
|
.line 4566
|
|
invoke-virtual {p5, p1}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->unscrapView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
|
|
|
|
.line 4567
|
|
invoke-virtual {p2, v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->setIsRecyclable(Z)V
|
|
|
|
.line 4568
|
|
iput-object p1, p2, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mShadowingHolder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
|
|
|
|
:cond_2
|
|
iget-object p5, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
|
|
|
|
.line 4570
|
|
invoke-virtual {p5, p1, p2, p3, p4}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->animateChange(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)Z
|
|
|
|
move-result p1
|
|
|
|
if-eqz p1, :cond_3
|
|
|
|
.line 4571
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->postAnimationRunner()V
|
|
|
|
:cond_3
|
|
return-void
|
|
.end method
|
|
|
|
.method private cancelScroll()V
|
|
.locals 1
|
|
|
|
.line 3587
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->resetScroll()V
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 3588
|
|
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public static clearNestedRecyclerViewIfNotNested(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
|
|
.locals 3
|
|
.param p0 # Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
|
|
.line 6033
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mNestedRecyclerView:Ljava/lang/ref/WeakReference;
|
|
|
|
if-eqz v0, :cond_3
|
|
|
|
.line 6034
|
|
invoke-virtual {v0}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
|
|
|
|
move-result-object v0
|
|
|
|
check-cast v0, Landroid/view/View;
|
|
|
|
:goto_0
|
|
const/4 v1, 0x0
|
|
|
|
if-eqz v0, :cond_2
|
|
|
|
.line 6036
|
|
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
|
|
|
|
if-ne v0, v2, :cond_0
|
|
|
|
return-void
|
|
|
|
.line 6040
|
|
:cond_0
|
|
invoke-virtual {v0}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
|
|
|
|
move-result-object v0
|
|
|
|
.line 6041
|
|
instance-of v2, v0, Landroid/view/View;
|
|
|
|
if-eqz v2, :cond_1
|
|
|
|
.line 6042
|
|
check-cast v0, Landroid/view/View;
|
|
|
|
goto :goto_0
|
|
|
|
:cond_1
|
|
move-object v0, v1
|
|
|
|
goto :goto_0
|
|
|
|
.line 6047
|
|
:cond_2
|
|
iput-object v1, p0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mNestedRecyclerView:Ljava/lang/ref/WeakReference;
|
|
|
|
:cond_3
|
|
return-void
|
|
.end method
|
|
|
|
.method private createLayoutManager(Landroid/content/Context;Ljava/lang/String;Landroid/util/AttributeSet;II)V
|
|
.locals 6
|
|
|
|
const-string v0, ": Could not instantiate the LayoutManager: "
|
|
|
|
if-eqz p2, :cond_1
|
|
|
|
.line 816
|
|
invoke-virtual {p2}, Ljava/lang/String;->trim()Ljava/lang/String;
|
|
|
|
move-result-object p2
|
|
|
|
.line 817
|
|
invoke-virtual {p2}, Ljava/lang/String;->isEmpty()Z
|
|
|
|
move-result v1
|
|
|
|
if-nez v1, :cond_1
|
|
|
|
.line 818
|
|
invoke-direct {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->getFullClassName(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
|
|
|
|
move-result-object p2
|
|
|
|
.line 821
|
|
:try_start_0
|
|
invoke-virtual {p0}, Landroid/view/View;->isInEditMode()Z
|
|
|
|
move-result v1
|
|
|
|
if-eqz v1, :cond_0
|
|
|
|
.line 823
|
|
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
|
|
|
|
move-result-object v1
|
|
|
|
invoke-virtual {v1}, Ljava/lang/Class;->getClassLoader()Ljava/lang/ClassLoader;
|
|
|
|
move-result-object v1
|
|
|
|
goto :goto_0
|
|
|
|
:catch_0
|
|
move-exception p1
|
|
|
|
goto :goto_2
|
|
|
|
:catch_1
|
|
move-exception p1
|
|
|
|
goto/16 :goto_3
|
|
|
|
:catch_2
|
|
move-exception p1
|
|
|
|
goto/16 :goto_4
|
|
|
|
:catch_3
|
|
move-exception p1
|
|
|
|
goto/16 :goto_5
|
|
|
|
:catch_4
|
|
move-exception p1
|
|
|
|
goto/16 :goto_6
|
|
|
|
.line 825
|
|
:cond_0
|
|
invoke-virtual {p1}, Landroid/content/Context;->getClassLoader()Ljava/lang/ClassLoader;
|
|
|
|
move-result-object v1
|
|
|
|
:goto_0
|
|
const/4 v2, 0x0
|
|
|
|
.line 828
|
|
invoke-static {p2, v2, v1}, Ljava/lang/Class;->forName(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
|
|
|
|
move-result-object v1
|
|
|
|
const-class v3, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
.line 829
|
|
invoke-virtual {v1, v3}, Ljava/lang/Class;->asSubclass(Ljava/lang/Class;)Ljava/lang/Class;
|
|
|
|
move-result-object v1
|
|
:try_end_0
|
|
.catch Ljava/lang/ClassNotFoundException; {:try_start_0 .. :try_end_0} :catch_4
|
|
.catch Ljava/lang/reflect/InvocationTargetException; {:try_start_0 .. :try_end_0} :catch_3
|
|
.catch Ljava/lang/InstantiationException; {:try_start_0 .. :try_end_0} :catch_2
|
|
.catch Ljava/lang/IllegalAccessException; {:try_start_0 .. :try_end_0} :catch_1
|
|
.catch Ljava/lang/ClassCastException; {:try_start_0 .. :try_end_0} :catch_0
|
|
|
|
const/4 v3, 0x1
|
|
|
|
:try_start_1
|
|
sget-object v4, Landroidx/recyclerview/widget/RecyclerView;->LAYOUT_MANAGER_CONSTRUCTOR_SIGNATURE:[Ljava/lang/Class;
|
|
|
|
.line 834
|
|
invoke-virtual {v1, v4}, Ljava/lang/Class;->getConstructor([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
|
|
|
|
move-result-object v4
|
|
|
|
const/4 v5, 0x4
|
|
|
|
new-array v5, v5, [Ljava/lang/Object;
|
|
|
|
aput-object p1, v5, v2
|
|
|
|
aput-object p3, v5, v3
|
|
|
|
.line 835
|
|
invoke-static {p4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
|
|
|
|
move-result-object p1
|
|
|
|
const/4 p4, 0x2
|
|
|
|
aput-object p1, v5, p4
|
|
|
|
invoke-static {p5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
|
|
|
|
move-result-object p1
|
|
|
|
const/4 p4, 0x3
|
|
|
|
aput-object p1, v5, p4
|
|
:try_end_1
|
|
.catch Ljava/lang/NoSuchMethodException; {:try_start_1 .. :try_end_1} :catch_5
|
|
.catch Ljava/lang/ClassNotFoundException; {:try_start_1 .. :try_end_1} :catch_4
|
|
.catch Ljava/lang/reflect/InvocationTargetException; {:try_start_1 .. :try_end_1} :catch_3
|
|
.catch Ljava/lang/InstantiationException; {:try_start_1 .. :try_end_1} :catch_2
|
|
.catch Ljava/lang/IllegalAccessException; {:try_start_1 .. :try_end_1} :catch_1
|
|
.catch Ljava/lang/ClassCastException; {:try_start_1 .. :try_end_1} :catch_0
|
|
|
|
goto :goto_1
|
|
|
|
:catch_5
|
|
move-exception p1
|
|
|
|
:try_start_2
|
|
new-array p4, v2, [Ljava/lang/Class;
|
|
|
|
.line 838
|
|
invoke-virtual {v1, p4}, Ljava/lang/Class;->getConstructor([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
|
|
|
|
move-result-object v4
|
|
:try_end_2
|
|
.catch Ljava/lang/NoSuchMethodException; {:try_start_2 .. :try_end_2} :catch_6
|
|
.catch Ljava/lang/ClassNotFoundException; {:try_start_2 .. :try_end_2} :catch_4
|
|
.catch Ljava/lang/reflect/InvocationTargetException; {:try_start_2 .. :try_end_2} :catch_3
|
|
.catch Ljava/lang/InstantiationException; {:try_start_2 .. :try_end_2} :catch_2
|
|
.catch Ljava/lang/IllegalAccessException; {:try_start_2 .. :try_end_2} :catch_1
|
|
.catch Ljava/lang/ClassCastException; {:try_start_2 .. :try_end_2} :catch_0
|
|
|
|
const/4 v5, 0x0
|
|
|
|
.line 845
|
|
:goto_1
|
|
:try_start_3
|
|
invoke-virtual {v4, v3}, Ljava/lang/reflect/AccessibleObject;->setAccessible(Z)V
|
|
|
|
.line 846
|
|
invoke-virtual {v4, v5}, Ljava/lang/reflect/Constructor;->newInstance([Ljava/lang/Object;)Ljava/lang/Object;
|
|
|
|
move-result-object p1
|
|
|
|
check-cast p1, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->setLayoutManager(Landroidx/recyclerview/widget/RecyclerView$LayoutManager;)V
|
|
|
|
goto/16 :goto_7
|
|
|
|
:catch_6
|
|
move-exception p4
|
|
|
|
.line 840
|
|
invoke-virtual {p4, p1}, Ljava/lang/Throwable;->initCause(Ljava/lang/Throwable;)Ljava/lang/Throwable;
|
|
|
|
.line 841
|
|
new-instance p1, Ljava/lang/IllegalStateException;
|
|
|
|
new-instance p5, Ljava/lang/StringBuilder;
|
|
|
|
invoke-direct {p5}, Ljava/lang/StringBuilder;-><init>()V
|
|
|
|
invoke-interface {p3}, Landroid/util/AttributeSet;->getPositionDescription()Ljava/lang/String;
|
|
|
|
move-result-object v1
|
|
|
|
invoke-virtual {p5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
const-string v1, ": Error creating LayoutManager "
|
|
|
|
invoke-virtual {p5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {p5, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {p5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object p5
|
|
|
|
invoke-direct {p1, p5, p4}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
|
|
|
|
throw p1
|
|
:try_end_3
|
|
.catch Ljava/lang/ClassNotFoundException; {:try_start_3 .. :try_end_3} :catch_4
|
|
.catch Ljava/lang/reflect/InvocationTargetException; {:try_start_3 .. :try_end_3} :catch_3
|
|
.catch Ljava/lang/InstantiationException; {:try_start_3 .. :try_end_3} :catch_2
|
|
.catch Ljava/lang/IllegalAccessException; {:try_start_3 .. :try_end_3} :catch_1
|
|
.catch Ljava/lang/ClassCastException; {:try_start_3 .. :try_end_3} :catch_0
|
|
|
|
.line 860
|
|
:goto_2
|
|
new-instance p4, Ljava/lang/IllegalStateException;
|
|
|
|
new-instance p5, Ljava/lang/StringBuilder;
|
|
|
|
invoke-direct {p5}, Ljava/lang/StringBuilder;-><init>()V
|
|
|
|
invoke-interface {p3}, Landroid/util/AttributeSet;->getPositionDescription()Ljava/lang/String;
|
|
|
|
move-result-object p3
|
|
|
|
invoke-virtual {p5, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
const-string p3, ": Class is not a LayoutManager "
|
|
|
|
invoke-virtual {p5, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {p5, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {p5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object p2
|
|
|
|
invoke-direct {p4, p2, p1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
|
|
|
|
throw p4
|
|
|
|
.line 857
|
|
:goto_3
|
|
new-instance p4, Ljava/lang/IllegalStateException;
|
|
|
|
new-instance p5, Ljava/lang/StringBuilder;
|
|
|
|
invoke-direct {p5}, Ljava/lang/StringBuilder;-><init>()V
|
|
|
|
invoke-interface {p3}, Landroid/util/AttributeSet;->getPositionDescription()Ljava/lang/String;
|
|
|
|
move-result-object p3
|
|
|
|
invoke-virtual {p5, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
const-string p3, ": Cannot access non-public constructor "
|
|
|
|
invoke-virtual {p5, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {p5, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {p5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object p2
|
|
|
|
invoke-direct {p4, p2, p1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
|
|
|
|
throw p4
|
|
|
|
.line 854
|
|
:goto_4
|
|
new-instance p4, Ljava/lang/IllegalStateException;
|
|
|
|
new-instance p5, Ljava/lang/StringBuilder;
|
|
|
|
invoke-direct {p5}, Ljava/lang/StringBuilder;-><init>()V
|
|
|
|
invoke-interface {p3}, Landroid/util/AttributeSet;->getPositionDescription()Ljava/lang/String;
|
|
|
|
move-result-object p3
|
|
|
|
invoke-virtual {p5, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {p5, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {p5, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {p5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object p2
|
|
|
|
invoke-direct {p4, p2, p1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
|
|
|
|
throw p4
|
|
|
|
.line 851
|
|
:goto_5
|
|
new-instance p4, Ljava/lang/IllegalStateException;
|
|
|
|
new-instance p5, Ljava/lang/StringBuilder;
|
|
|
|
invoke-direct {p5}, Ljava/lang/StringBuilder;-><init>()V
|
|
|
|
invoke-interface {p3}, Landroid/util/AttributeSet;->getPositionDescription()Ljava/lang/String;
|
|
|
|
move-result-object p3
|
|
|
|
invoke-virtual {p5, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {p5, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {p5, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {p5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object p2
|
|
|
|
invoke-direct {p4, p2, p1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
|
|
|
|
throw p4
|
|
|
|
.line 848
|
|
:goto_6
|
|
new-instance p4, Ljava/lang/IllegalStateException;
|
|
|
|
new-instance p5, Ljava/lang/StringBuilder;
|
|
|
|
invoke-direct {p5}, Ljava/lang/StringBuilder;-><init>()V
|
|
|
|
invoke-interface {p3}, Landroid/util/AttributeSet;->getPositionDescription()Ljava/lang/String;
|
|
|
|
move-result-object p3
|
|
|
|
invoke-virtual {p5, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
const-string p3, ": Unable to find LayoutManager "
|
|
|
|
invoke-virtual {p5, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {p5, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {p5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object p2
|
|
|
|
invoke-direct {p4, p2, p1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
|
|
|
|
throw p4
|
|
|
|
:cond_1
|
|
:goto_7
|
|
return-void
|
|
.end method
|
|
|
|
.method private didChildRangeChange(II)Z
|
|
.locals 4
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinMaxLayoutPositions:[I
|
|
|
|
.line 4501
|
|
invoke-direct {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->findMinMaxChildLayoutPositions([I)V
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinMaxLayoutPositions:[I
|
|
|
|
const/4 v1, 0x0
|
|
|
|
.line 4502
|
|
aget v2, v0, v1
|
|
|
|
const/4 v3, 0x1
|
|
|
|
if-ne v2, p1, :cond_0
|
|
|
|
aget p1, v0, v3
|
|
|
|
if-eq p1, p2, :cond_1
|
|
|
|
:cond_0
|
|
move v1, v3
|
|
|
|
:cond_1
|
|
return v1
|
|
.end method
|
|
|
|
.method private dispatchContentChangedIfNecessary()V
|
|
.locals 3
|
|
|
|
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mEatenAccessibilityChangeFlags:I
|
|
|
|
const/4 v1, 0x0
|
|
|
|
iput v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mEatenAccessibilityChangeFlags:I
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 3826
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isAccessibilityEnabled()Z
|
|
|
|
move-result v1
|
|
|
|
if-eqz v1, :cond_0
|
|
|
|
.line 3827
|
|
invoke-static {}, Landroid/view/accessibility/AccessibilityEvent;->obtain()Landroid/view/accessibility/AccessibilityEvent;
|
|
|
|
move-result-object v1
|
|
|
|
const/16 v2, 0x800
|
|
|
|
.line 3828
|
|
invoke-virtual {v1, v2}, Landroid/view/accessibility/AccessibilityEvent;->setEventType(I)V
|
|
|
|
.line 3829
|
|
invoke-static {v1, v0}, Landroidx/core/view/accessibility/AccessibilityEventCompat;->setContentChangeTypes(Landroid/view/accessibility/AccessibilityEvent;I)V
|
|
|
|
.line 3830
|
|
invoke-virtual {p0, v1}, Landroidx/recyclerview/widget/RecyclerView;->sendAccessibilityEventUnchecked(Landroid/view/accessibility/AccessibilityEvent;)V
|
|
|
|
:cond_0
|
|
return-void
|
|
.end method
|
|
|
|
.method private dispatchLayoutStep1()V
|
|
.locals 8
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
const/4 v1, 0x1
|
|
|
|
.line 4203
|
|
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$State;->assertLayoutStep(I)V
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
.line 4204
|
|
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->fillRemainingScrollValues(Landroidx/recyclerview/widget/RecyclerView$State;)V
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
const/4 v2, 0x0
|
|
|
|
.line 4205
|
|
iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mIsMeasuring:Z
|
|
|
|
.line 4206
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
|
|
|
|
.line 4207
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/ViewInfoStore;->clear()V
|
|
|
|
.line 4208
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V
|
|
|
|
.line 4209
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->processAdapterUpdatesAndSetAnimationFlags()V
|
|
|
|
.line 4210
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->saveFocusInfo()V
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
.line 4211
|
|
iget-boolean v3, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunSimpleAnimations:Z
|
|
|
|
if-eqz v3, :cond_0
|
|
|
|
iget-boolean v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemsChanged:Z
|
|
|
|
if-eqz v3, :cond_0
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
move v1, v2
|
|
|
|
:goto_0
|
|
iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mTrackOldChangeHolders:Z
|
|
|
|
iput-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemsChanged:Z
|
|
|
|
iput-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemsAddedOrRemoved:Z
|
|
|
|
.line 4213
|
|
iget-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunPredictiveAnimations:Z
|
|
|
|
iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mInPreLayout:Z
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
|
|
|
.line 4214
|
|
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->getItemCount()I
|
|
|
|
move-result v1
|
|
|
|
iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mItemCount:I
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinMaxLayoutPositions:[I
|
|
|
|
.line 4215
|
|
invoke-direct {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->findMinMaxChildLayoutPositions([I)V
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
.line 4217
|
|
iget-boolean v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunSimpleAnimations:Z
|
|
|
|
if-eqz v0, :cond_3
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
|
|
|
|
.line 4219
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I
|
|
|
|
move-result v0
|
|
|
|
move v1, v2
|
|
|
|
:goto_1
|
|
if-ge v1, v0, :cond_3
|
|
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
|
|
|
|
.line 4221
|
|
invoke-virtual {v3, v1}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View;
|
|
|
|
move-result-object v3
|
|
|
|
invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
|
|
|
|
move-result-object v3
|
|
|
|
.line 4222
|
|
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
|
|
|
|
move-result v4
|
|
|
|
if-nez v4, :cond_2
|
|
|
|
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isInvalid()Z
|
|
|
|
move-result v4
|
|
|
|
if-eqz v4, :cond_1
|
|
|
|
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
|
|
|
invoke-virtual {v4}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z
|
|
|
|
move-result v4
|
|
|
|
if-nez v4, :cond_1
|
|
|
|
goto :goto_2
|
|
|
|
:cond_1
|
|
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
|
|
|
|
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
.line 4227
|
|
invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->buildAdapterChangeFlagsForAnimations(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)I
|
|
|
|
move-result v6
|
|
|
|
.line 4228
|
|
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getUnmodifiedPayloads()Ljava/util/List;
|
|
|
|
move-result-object v7
|
|
|
|
.line 4226
|
|
invoke-virtual {v4, v5, v3, v6, v7}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->recordPreLayoutInformation(Landroidx/recyclerview/widget/RecyclerView$State;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;ILjava/util/List;)Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;
|
|
|
|
move-result-object v4
|
|
|
|
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
|
|
|
|
.line 4229
|
|
invoke-virtual {v5, v3, v4}, Landroidx/recyclerview/widget/ViewInfoStore;->addToPreLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V
|
|
|
|
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
.line 4230
|
|
iget-boolean v4, v4, Landroidx/recyclerview/widget/RecyclerView$State;->mTrackOldChangeHolders:Z
|
|
|
|
if-eqz v4, :cond_2
|
|
|
|
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isUpdated()Z
|
|
|
|
move-result v4
|
|
|
|
if-eqz v4, :cond_2
|
|
|
|
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isRemoved()Z
|
|
|
|
move-result v4
|
|
|
|
if-nez v4, :cond_2
|
|
|
|
.line 4231
|
|
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
|
|
|
|
move-result v4
|
|
|
|
if-nez v4, :cond_2
|
|
|
|
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isInvalid()Z
|
|
|
|
move-result v4
|
|
|
|
if-nez v4, :cond_2
|
|
|
|
.line 4232
|
|
invoke-virtual {p0, v3}, Landroidx/recyclerview/widget/RecyclerView;->getChangedHolderKey(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)J
|
|
|
|
move-result-wide v4
|
|
|
|
iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
|
|
|
|
.line 4240
|
|
invoke-virtual {v6, v4, v5, v3}, Landroidx/recyclerview/widget/ViewInfoStore;->addToOldChangeHolders(JLandroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
|
|
|
|
:cond_2
|
|
:goto_2
|
|
add-int/lit8 v1, v1, 0x1
|
|
|
|
goto :goto_1
|
|
|
|
:cond_3
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
.line 4244
|
|
iget-boolean v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunPredictiveAnimations:Z
|
|
|
|
if-eqz v0, :cond_9
|
|
|
|
.line 4251
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->saveOldPositions()V
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
.line 4252
|
|
iget-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z
|
|
|
|
.line 4253
|
|
iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z
|
|
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
|
|
|
|
.line 4255
|
|
invoke-virtual {v3, v4, v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onLayoutChildren(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)V
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
.line 4256
|
|
iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z
|
|
|
|
move v0, v2
|
|
|
|
:goto_3
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
|
|
|
|
.line 4258
|
|
invoke-virtual {v1}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I
|
|
|
|
move-result v1
|
|
|
|
if-ge v0, v1, :cond_8
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
|
|
|
|
.line 4259
|
|
invoke-virtual {v1, v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View;
|
|
|
|
move-result-object v1
|
|
|
|
.line 4260
|
|
invoke-static {v1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
|
|
|
|
move-result-object v1
|
|
|
|
.line 4261
|
|
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
|
|
|
|
move-result v3
|
|
|
|
if-eqz v3, :cond_4
|
|
|
|
goto :goto_4
|
|
|
|
:cond_4
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
|
|
|
|
.line 4264
|
|
invoke-virtual {v3, v1}, Landroidx/recyclerview/widget/ViewInfoStore;->isInPreLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Z
|
|
|
|
move-result v3
|
|
|
|
if-nez v3, :cond_7
|
|
|
|
.line 4265
|
|
invoke-static {v1}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->buildAdapterChangeFlagsForAnimations(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)I
|
|
|
|
move-result v3
|
|
|
|
const/16 v4, 0x2000
|
|
|
|
.line 4267
|
|
invoke-virtual {v1, v4}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->hasAnyOfTheFlags(I)Z
|
|
|
|
move-result v4
|
|
|
|
if-nez v4, :cond_5
|
|
|
|
or-int/lit16 v3, v3, 0x1000
|
|
|
|
:cond_5
|
|
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
|
|
|
|
iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
.line 4272
|
|
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getUnmodifiedPayloads()Ljava/util/List;
|
|
|
|
move-result-object v7
|
|
|
|
.line 4271
|
|
invoke-virtual {v5, v6, v1, v3, v7}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->recordPreLayoutInformation(Landroidx/recyclerview/widget/RecyclerView$State;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;ILjava/util/List;)Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;
|
|
|
|
move-result-object v3
|
|
|
|
if-eqz v4, :cond_6
|
|
|
|
.line 4274
|
|
invoke-virtual {p0, v1, v3}, Landroidx/recyclerview/widget/RecyclerView;->recordAnimationInfoIfBouncedHiddenView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V
|
|
|
|
goto :goto_4
|
|
|
|
:cond_6
|
|
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
|
|
|
|
.line 4276
|
|
invoke-virtual {v4, v1, v3}, Landroidx/recyclerview/widget/ViewInfoStore;->addToAppearedInPreLayoutHolders(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V
|
|
|
|
:cond_7
|
|
:goto_4
|
|
add-int/lit8 v0, v0, 0x1
|
|
|
|
goto :goto_3
|
|
|
|
.line 4281
|
|
:cond_8
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->clearOldPositions()V
|
|
|
|
goto :goto_5
|
|
|
|
.line 4283
|
|
:cond_9
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->clearOldPositions()V
|
|
|
|
.line 4285
|
|
:goto_5
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V
|
|
|
|
.line 4286
|
|
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
const/4 v1, 0x2
|
|
|
|
.line 4287
|
|
iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mLayoutStep:I
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method private dispatchLayoutStep2()V
|
|
.locals 4
|
|
|
|
.line 4295
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
|
|
|
|
.line 4296
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
const/4 v1, 0x6
|
|
|
|
.line 4297
|
|
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$State;->assertLayoutStep(I)V
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
|
|
|
|
.line 4298
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->consumeUpdatesInOnePass()V
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
|
|
|
.line 4299
|
|
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->getItemCount()I
|
|
|
|
move-result v1
|
|
|
|
iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mItemCount:I
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
const/4 v1, 0x0
|
|
|
|
.line 4300
|
|
iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mDeletedInvisibleItemCountSincePreviousLayout:I
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingSavedState:Landroidx/recyclerview/widget/RecyclerView$SavedState;
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
|
|
|
.line 4301
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->canRestoreState()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingSavedState:Landroidx/recyclerview/widget/RecyclerView$SavedState;
|
|
|
|
.line 4302
|
|
iget-object v0, v0, Landroidx/recyclerview/widget/RecyclerView$SavedState;->mLayoutState:Landroid/os/Parcelable;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
.line 4303
|
|
invoke-virtual {v2, v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onRestoreInstanceState(Landroid/os/Parcelable;)V
|
|
|
|
:cond_0
|
|
const/4 v0, 0x0
|
|
|
|
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingSavedState:Landroidx/recyclerview/widget/RecyclerView$SavedState;
|
|
|
|
:cond_1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
.line 4308
|
|
iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mInPreLayout:Z
|
|
|
|
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
|
|
|
|
.line 4309
|
|
invoke-virtual {v2, v3, v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onLayoutChildren(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)V
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
.line 4311
|
|
iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z
|
|
|
|
.line 4314
|
|
iget-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunSimpleAnimations:Z
|
|
|
|
if-eqz v2, :cond_2
|
|
|
|
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
|
|
|
|
if-eqz v2, :cond_2
|
|
|
|
const/4 v2, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_2
|
|
move v2, v1
|
|
|
|
:goto_0
|
|
iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunSimpleAnimations:Z
|
|
|
|
const/4 v2, 0x4
|
|
|
|
.line 4315
|
|
iput v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mLayoutStep:I
|
|
|
|
.line 4316
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V
|
|
|
|
.line 4317
|
|
invoke-virtual {p0, v1}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method private dispatchLayoutStep3()V
|
|
.locals 11
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
const/4 v1, 0x4
|
|
|
|
.line 4325
|
|
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$State;->assertLayoutStep(I)V
|
|
|
|
.line 4326
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
|
|
|
|
.line 4327
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
const/4 v1, 0x1
|
|
|
|
.line 4328
|
|
iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mLayoutStep:I
|
|
|
|
.line 4329
|
|
iget-boolean v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunSimpleAnimations:Z
|
|
|
|
if-eqz v0, :cond_5
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
|
|
|
|
.line 4333
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I
|
|
|
|
move-result v0
|
|
|
|
sub-int/2addr v0, v1
|
|
|
|
:goto_0
|
|
if-ltz v0, :cond_4
|
|
|
|
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
|
|
|
|
.line 4334
|
|
invoke-virtual {v2, v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View;
|
|
|
|
move-result-object v2
|
|
|
|
invoke-static {v2}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
|
|
|
|
move-result-object v5
|
|
|
|
.line 4335
|
|
invoke-virtual {v5}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
|
|
|
|
move-result v2
|
|
|
|
if-eqz v2, :cond_0
|
|
|
|
goto :goto_1
|
|
|
|
.line 4338
|
|
:cond_0
|
|
invoke-virtual {p0, v5}, Landroidx/recyclerview/widget/RecyclerView;->getChangedHolderKey(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)J
|
|
|
|
move-result-wide v2
|
|
|
|
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
|
|
|
|
iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
.line 4340
|
|
invoke-virtual {v4, v6, v5}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->recordPostLayoutInformation(Landroidx/recyclerview/widget/RecyclerView$State;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;
|
|
|
|
move-result-object v4
|
|
|
|
iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
|
|
|
|
.line 4341
|
|
invoke-virtual {v6, v2, v3}, Landroidx/recyclerview/widget/ViewInfoStore;->getFromOldChangeHolders(J)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
|
|
|
|
move-result-object v6
|
|
|
|
if-eqz v6, :cond_3
|
|
|
|
.line 4342
|
|
invoke-virtual {v6}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
|
|
|
|
move-result v7
|
|
|
|
if-nez v7, :cond_3
|
|
|
|
iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
|
|
|
|
.line 4353
|
|
invoke-virtual {v7, v6}, Landroidx/recyclerview/widget/ViewInfoStore;->isDisappearing(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Z
|
|
|
|
move-result v8
|
|
|
|
iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
|
|
|
|
.line 4355
|
|
invoke-virtual {v7, v5}, Landroidx/recyclerview/widget/ViewInfoStore;->isDisappearing(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Z
|
|
|
|
move-result v9
|
|
|
|
if-eqz v8, :cond_1
|
|
|
|
if-ne v6, v5, :cond_1
|
|
|
|
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
|
|
|
|
.line 4358
|
|
invoke-virtual {v2, v5, v4}, Landroidx/recyclerview/widget/ViewInfoStore;->addToPostLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V
|
|
|
|
goto :goto_1
|
|
|
|
:cond_1
|
|
iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
|
|
|
|
.line 4360
|
|
invoke-virtual {v7, v6}, Landroidx/recyclerview/widget/ViewInfoStore;->popFromPreLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;
|
|
|
|
move-result-object v7
|
|
|
|
iget-object v10, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
|
|
|
|
.line 4363
|
|
invoke-virtual {v10, v5, v4}, Landroidx/recyclerview/widget/ViewInfoStore;->addToPostLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V
|
|
|
|
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
|
|
|
|
.line 4364
|
|
invoke-virtual {v4, v5}, Landroidx/recyclerview/widget/ViewInfoStore;->popFromPostLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;
|
|
|
|
move-result-object v10
|
|
|
|
if-nez v7, :cond_2
|
|
|
|
.line 4366
|
|
invoke-direct {p0, v2, v3, v5, v6}, Landroidx/recyclerview/widget/RecyclerView;->handleMissingPreInfoForChangeError(JLandroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
|
|
|
|
goto :goto_1
|
|
|
|
:cond_2
|
|
move-object v3, p0
|
|
|
|
move-object v4, v6
|
|
|
|
move-object v6, v7
|
|
|
|
move-object v7, v10
|
|
|
|
.line 4368
|
|
invoke-direct/range {v3 .. v9}, Landroidx/recyclerview/widget/RecyclerView;->animateChange(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;ZZ)V
|
|
|
|
goto :goto_1
|
|
|
|
:cond_3
|
|
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
|
|
|
|
.line 4373
|
|
invoke-virtual {v2, v5, v4}, Landroidx/recyclerview/widget/ViewInfoStore;->addToPostLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V
|
|
|
|
:goto_1
|
|
add-int/lit8 v0, v0, -0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_4
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
|
|
|
|
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoProcessCallback:Landroidx/recyclerview/widget/ViewInfoStore$ProcessCallback;
|
|
|
|
.line 4378
|
|
invoke-virtual {v0, v2}, Landroidx/recyclerview/widget/ViewInfoStore;->process(Landroidx/recyclerview/widget/ViewInfoStore$ProcessCallback;)V
|
|
|
|
:cond_5
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
|
|
|
|
.line 4381
|
|
invoke-virtual {v0, v2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->removeAndRecycleScrapInt(Landroidx/recyclerview/widget/RecyclerView$Recycler;)V
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
.line 4382
|
|
iget v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mItemCount:I
|
|
|
|
iput v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mPreviousLayoutItemCount:I
|
|
|
|
const/4 v2, 0x0
|
|
|
|
iput-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z
|
|
|
|
iput-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchItemsChangedEvent:Z
|
|
|
|
.line 4385
|
|
iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunSimpleAnimations:Z
|
|
|
|
.line 4387
|
|
iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunPredictiveAnimations:Z
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
.line 4388
|
|
iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mRequestedSimpleAnimations:Z
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
|
|
|
|
.line 4389
|
|
iget-object v0, v0, Landroidx/recyclerview/widget/RecyclerView$Recycler;->mChangedScrap:Ljava/util/ArrayList;
|
|
|
|
if-eqz v0, :cond_6
|
|
|
|
.line 4390
|
|
invoke-virtual {v0}, Ljava/util/ArrayList;->clear()V
|
|
|
|
:cond_6
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
.line 4392
|
|
iget-boolean v3, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mPrefetchMaxObservedInInitialPrefetch:Z
|
|
|
|
if-eqz v3, :cond_7
|
|
|
|
.line 4395
|
|
iput v2, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mPrefetchMaxCountObserved:I
|
|
|
|
.line 4396
|
|
iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mPrefetchMaxObservedInInitialPrefetch:Z
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
|
|
|
|
.line 4397
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->updateViewCacheSize()V
|
|
|
|
:cond_7
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
.line 4400
|
|
invoke-virtual {v0, v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onLayoutCompleted(Landroidx/recyclerview/widget/RecyclerView$State;)V
|
|
|
|
.line 4401
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V
|
|
|
|
.line 4402
|
|
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
|
|
|
|
.line 4403
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/ViewInfoStore;->clear()V
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinMaxLayoutPositions:[I
|
|
|
|
.line 4404
|
|
aget v3, v0, v2
|
|
|
|
aget v0, v0, v1
|
|
|
|
invoke-direct {p0, v3, v0}, Landroidx/recyclerview/widget/RecyclerView;->didChildRangeChange(II)Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_8
|
|
|
|
.line 4405
|
|
invoke-virtual {p0, v2, v2}, Landroidx/recyclerview/widget/RecyclerView;->dispatchOnScrolled(II)V
|
|
|
|
.line 4407
|
|
:cond_8
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->recoverFocusFromState()V
|
|
|
|
.line 4408
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->resetFocusInfo()V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method private dispatchToOnItemTouchListeners(Landroid/view/MotionEvent;)Z
|
|
.locals 2
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptingOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;
|
|
|
|
if-nez v0, :cond_1
|
|
|
|
.line 3254
|
|
invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
const/4 p1, 0x0
|
|
|
|
return p1
|
|
|
|
.line 3257
|
|
:cond_0
|
|
invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->findInterceptingOnItemTouchListener(Landroid/view/MotionEvent;)Z
|
|
|
|
move-result p1
|
|
|
|
return p1
|
|
|
|
.line 3259
|
|
:cond_1
|
|
invoke-interface {v0, p0, p1}, Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;->onTouchEvent(Landroidx/recyclerview/widget/RecyclerView;Landroid/view/MotionEvent;)V
|
|
|
|
.line 3260
|
|
invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I
|
|
|
|
move-result p1
|
|
|
|
const/4 v0, 0x3
|
|
|
|
const/4 v1, 0x1
|
|
|
|
if-eq p1, v0, :cond_2
|
|
|
|
if-ne p1, v1, :cond_3
|
|
|
|
:cond_2
|
|
const/4 p1, 0x0
|
|
|
|
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptingOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;
|
|
|
|
:cond_3
|
|
return v1
|
|
.end method
|
|
|
|
.method private findInterceptingOnItemTouchListener(Landroid/view/MotionEvent;)Z
|
|
.locals 6
|
|
|
|
.line 3282
|
|
invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I
|
|
|
|
move-result v0
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList;
|
|
|
|
.line 3283
|
|
invoke-virtual {v1}, Ljava/util/ArrayList;->size()I
|
|
|
|
move-result v1
|
|
|
|
const/4 v2, 0x0
|
|
|
|
move v3, v2
|
|
|
|
:goto_0
|
|
if-ge v3, v1, :cond_1
|
|
|
|
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList;
|
|
|
|
.line 3285
|
|
invoke-virtual {v4, v3}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
|
|
|
|
move-result-object v4
|
|
|
|
check-cast v4, Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;
|
|
|
|
.line 3286
|
|
invoke-interface {v4, p0, p1}, Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;->onInterceptTouchEvent(Landroidx/recyclerview/widget/RecyclerView;Landroid/view/MotionEvent;)Z
|
|
|
|
move-result v5
|
|
|
|
if-eqz v5, :cond_0
|
|
|
|
const/4 v5, 0x3
|
|
|
|
if-eq v0, v5, :cond_0
|
|
|
|
iput-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptingOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;
|
|
|
|
const/4 p1, 0x1
|
|
|
|
return p1
|
|
|
|
:cond_0
|
|
add-int/lit8 v3, v3, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_1
|
|
return v2
|
|
.end method
|
|
|
|
.method private findMinMaxChildLayoutPositions([I)V
|
|
.locals 8
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
|
|
|
|
.line 4475
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I
|
|
|
|
move-result v0
|
|
|
|
const/4 v1, 0x1
|
|
|
|
const/4 v2, 0x0
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
const/4 v0, -0x1
|
|
|
|
.line 4477
|
|
aput v0, p1, v2
|
|
|
|
.line 4478
|
|
aput v0, p1, v1
|
|
|
|
return-void
|
|
|
|
:cond_0
|
|
const v3, 0x7fffffff
|
|
|
|
const/high16 v4, -0x80000000
|
|
|
|
move v5, v2
|
|
|
|
:goto_0
|
|
if-ge v5, v0, :cond_4
|
|
|
|
iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
|
|
|
|
.line 4484
|
|
invoke-virtual {v6, v5}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View;
|
|
|
|
move-result-object v6
|
|
|
|
invoke-static {v6}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
|
|
|
|
move-result-object v6
|
|
|
|
.line 4485
|
|
invoke-virtual {v6}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
|
|
|
|
move-result v7
|
|
|
|
if-eqz v7, :cond_1
|
|
|
|
goto :goto_1
|
|
|
|
.line 4488
|
|
:cond_1
|
|
invoke-virtual {v6}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getLayoutPosition()I
|
|
|
|
move-result v6
|
|
|
|
if-ge v6, v3, :cond_2
|
|
|
|
move v3, v6
|
|
|
|
:cond_2
|
|
if-le v6, v4, :cond_3
|
|
|
|
move v4, v6
|
|
|
|
:cond_3
|
|
:goto_1
|
|
add-int/lit8 v5, v5, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
.line 4496
|
|
:cond_4
|
|
aput v3, p1, v2
|
|
|
|
.line 4497
|
|
aput v4, p1, v1
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public static findNestedRecyclerView(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView;
|
|
.locals 4
|
|
.param p0 # Landroid/view/View;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
|
|
.line 6011
|
|
instance-of v0, p0, Landroid/view/ViewGroup;
|
|
|
|
const/4 v1, 0x0
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
return-object v1
|
|
|
|
.line 6014
|
|
:cond_0
|
|
instance-of v0, p0, Landroidx/recyclerview/widget/RecyclerView;
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
.line 6015
|
|
check-cast p0, Landroidx/recyclerview/widget/RecyclerView;
|
|
|
|
return-object p0
|
|
|
|
.line 6017
|
|
:cond_1
|
|
check-cast p0, Landroid/view/ViewGroup;
|
|
|
|
.line 6018
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getChildCount()I
|
|
|
|
move-result v0
|
|
|
|
const/4 v2, 0x0
|
|
|
|
:goto_0
|
|
if-ge v2, v0, :cond_3
|
|
|
|
.line 6020
|
|
invoke-virtual {p0, v2}, Landroid/view/ViewGroup;->getChildAt(I)Landroid/view/View;
|
|
|
|
move-result-object v3
|
|
|
|
.line 6021
|
|
invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->findNestedRecyclerView(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView;
|
|
|
|
move-result-object v3
|
|
|
|
if-eqz v3, :cond_2
|
|
|
|
return-object v3
|
|
|
|
:cond_2
|
|
add-int/lit8 v2, v2, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_3
|
|
return-object v1
|
|
.end method
|
|
|
|
.method private findNextViewToFocus()Landroid/view/View;
|
|
.locals 5
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
.line 4072
|
|
iget v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemPosition:I
|
|
|
|
const/4 v2, -0x1
|
|
|
|
if-eq v1, v2, :cond_0
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
const/4 v1, 0x0
|
|
|
|
.line 4075
|
|
:goto_0
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$State;->getItemCount()I
|
|
|
|
move-result v0
|
|
|
|
move v2, v1
|
|
|
|
:goto_1
|
|
if-ge v2, v0, :cond_3
|
|
|
|
.line 4077
|
|
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->findViewHolderForAdapterPosition(I)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
|
|
|
|
move-result-object v3
|
|
|
|
if-nez v3, :cond_1
|
|
|
|
goto :goto_2
|
|
|
|
.line 4081
|
|
:cond_1
|
|
iget-object v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
|
|
|
|
invoke-virtual {v4}, Landroid/view/View;->hasFocusable()Z
|
|
|
|
move-result v4
|
|
|
|
if-eqz v4, :cond_2
|
|
|
|
.line 4082
|
|
iget-object v0, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
|
|
|
|
return-object v0
|
|
|
|
:cond_2
|
|
add-int/lit8 v2, v2, 0x1
|
|
|
|
goto :goto_1
|
|
|
|
.line 4085
|
|
:cond_3
|
|
:goto_2
|
|
invoke-static {v0, v1}, Ljava/lang/Math;->min(II)I
|
|
|
|
move-result v0
|
|
|
|
add-int/lit8 v0, v0, -0x1
|
|
|
|
:goto_3
|
|
const/4 v1, 0x0
|
|
|
|
if-ltz v0, :cond_6
|
|
|
|
.line 4087
|
|
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->findViewHolderForAdapterPosition(I)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
|
|
|
|
move-result-object v2
|
|
|
|
if-nez v2, :cond_4
|
|
|
|
return-object v1
|
|
|
|
.line 4091
|
|
:cond_4
|
|
iget-object v1, v2, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
|
|
|
|
invoke-virtual {v1}, Landroid/view/View;->hasFocusable()Z
|
|
|
|
move-result v1
|
|
|
|
if-eqz v1, :cond_5
|
|
|
|
.line 4092
|
|
iget-object v0, v2, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
|
|
|
|
return-object v0
|
|
|
|
:cond_5
|
|
add-int/lit8 v0, v0, -0x1
|
|
|
|
goto :goto_3
|
|
|
|
:cond_6
|
|
return-object v1
|
|
.end method
|
|
|
|
.method public static getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
|
|
.locals 0
|
|
|
|
if-nez p0, :cond_0
|
|
|
|
const/4 p0, 0x0
|
|
|
|
return-object p0
|
|
|
|
.line 4989
|
|
:cond_0
|
|
invoke-virtual {p0}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
|
|
|
|
move-result-object p0
|
|
|
|
check-cast p0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
|
|
|
|
iget-object p0, p0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mViewHolder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static getDecoratedBoundsWithMarginsInt(Landroid/view/View;Landroid/graphics/Rect;)V
|
|
.locals 6
|
|
|
|
.line 5270
|
|
invoke-virtual {p0}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
|
|
|
|
move-result-object v0
|
|
|
|
check-cast v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
|
|
|
|
.line 5271
|
|
iget-object v1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mDecorInsets:Landroid/graphics/Rect;
|
|
|
|
.line 5272
|
|
invoke-virtual {p0}, Landroid/view/View;->getLeft()I
|
|
|
|
move-result v2
|
|
|
|
iget v3, v1, Landroid/graphics/Rect;->left:I
|
|
|
|
sub-int/2addr v2, v3
|
|
|
|
iget v3, v0, Landroid/view/ViewGroup$MarginLayoutParams;->leftMargin:I
|
|
|
|
sub-int/2addr v2, v3
|
|
|
|
.line 5273
|
|
invoke-virtual {p0}, Landroid/view/View;->getTop()I
|
|
|
|
move-result v3
|
|
|
|
iget v4, v1, Landroid/graphics/Rect;->top:I
|
|
|
|
sub-int/2addr v3, v4
|
|
|
|
iget v4, v0, Landroid/view/ViewGroup$MarginLayoutParams;->topMargin:I
|
|
|
|
sub-int/2addr v3, v4
|
|
|
|
.line 5274
|
|
invoke-virtual {p0}, Landroid/view/View;->getRight()I
|
|
|
|
move-result v4
|
|
|
|
iget v5, v1, Landroid/graphics/Rect;->right:I
|
|
|
|
add-int/2addr v4, v5
|
|
|
|
iget v5, v0, Landroid/view/ViewGroup$MarginLayoutParams;->rightMargin:I
|
|
|
|
add-int/2addr v4, v5
|
|
|
|
.line 5275
|
|
invoke-virtual {p0}, Landroid/view/View;->getBottom()I
|
|
|
|
move-result p0
|
|
|
|
iget v1, v1, Landroid/graphics/Rect;->bottom:I
|
|
|
|
add-int/2addr p0, v1
|
|
|
|
iget v0, v0, Landroid/view/ViewGroup$MarginLayoutParams;->bottomMargin:I
|
|
|
|
add-int/2addr p0, v0
|
|
|
|
.line 5272
|
|
invoke-virtual {p1, v2, v3, v4, p0}, Landroid/graphics/Rect;->set(IIII)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method private getDeepestFocusedViewWithId(Landroid/view/View;)I
|
|
.locals 3
|
|
|
|
.line 4173
|
|
invoke-virtual {p1}, Landroid/view/View;->getId()I
|
|
|
|
move-result v0
|
|
|
|
.line 4174
|
|
:cond_0
|
|
:goto_0
|
|
invoke-virtual {p1}, Landroid/view/View;->isFocused()Z
|
|
|
|
move-result v1
|
|
|
|
if-nez v1, :cond_1
|
|
|
|
instance-of v1, p1, Landroid/view/ViewGroup;
|
|
|
|
if-eqz v1, :cond_1
|
|
|
|
invoke-virtual {p1}, Landroid/view/View;->hasFocus()Z
|
|
|
|
move-result v1
|
|
|
|
if-eqz v1, :cond_1
|
|
|
|
.line 4175
|
|
check-cast p1, Landroid/view/ViewGroup;
|
|
|
|
invoke-virtual {p1}, Landroid/view/ViewGroup;->getFocusedChild()Landroid/view/View;
|
|
|
|
move-result-object p1
|
|
|
|
.line 4176
|
|
invoke-virtual {p1}, Landroid/view/View;->getId()I
|
|
|
|
move-result v1
|
|
|
|
const/4 v2, -0x1
|
|
|
|
if-eq v1, v2, :cond_0
|
|
|
|
.line 4178
|
|
invoke-virtual {p1}, Landroid/view/View;->getId()I
|
|
|
|
move-result v0
|
|
|
|
goto :goto_0
|
|
|
|
:cond_1
|
|
return v0
|
|
.end method
|
|
|
|
.method private getFullClassName(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
|
|
.locals 2
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 868
|
|
invoke-virtual {p2, v0}, Ljava/lang/String;->charAt(I)C
|
|
|
|
move-result v0
|
|
|
|
const/16 v1, 0x2e
|
|
|
|
if-ne v0, v1, :cond_0
|
|
|
|
.line 869
|
|
new-instance v0, Ljava/lang/StringBuilder;
|
|
|
|
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
|
|
|
|
invoke-virtual {p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
|
|
|
|
move-result-object p1
|
|
|
|
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object p1
|
|
|
|
return-object p1
|
|
|
|
:cond_0
|
|
const-string p1, "."
|
|
|
|
.line 871
|
|
invoke-virtual {p2, p1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
|
|
|
|
move-result p1
|
|
|
|
if-eqz p1, :cond_1
|
|
|
|
return-object p2
|
|
|
|
.line 874
|
|
:cond_1
|
|
new-instance p1, Ljava/lang/StringBuilder;
|
|
|
|
invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V
|
|
|
|
const-class v0, Landroidx/recyclerview/widget/RecyclerView;
|
|
|
|
invoke-virtual {v0}, Ljava/lang/Class;->getPackage()Ljava/lang/Package;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-virtual {v0}, Ljava/lang/Package;->getName()Ljava/lang/String;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object p1
|
|
|
|
return-object p1
|
|
.end method
|
|
|
|
.method private getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
|
|
.locals 1
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollingChildHelper:Landroidx/core/view/NestedScrollingChildHelper;
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
.line 13904
|
|
new-instance v0, Landroidx/core/view/NestedScrollingChildHelper;
|
|
|
|
invoke-direct {v0, p0}, Landroidx/core/view/NestedScrollingChildHelper;-><init>(Landroid/view/View;)V
|
|
|
|
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollingChildHelper:Landroidx/core/view/NestedScrollingChildHelper;
|
|
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollingChildHelper:Landroidx/core/view/NestedScrollingChildHelper;
|
|
|
|
return-object v0
|
|
.end method
|
|
|
|
.method private handleMissingPreInfoForChangeError(JLandroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
|
|
.locals 5
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
|
|
|
|
.line 4429
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I
|
|
|
|
move-result v0
|
|
|
|
const/4 v1, 0x0
|
|
|
|
:goto_0
|
|
if-ge v1, v0, :cond_3
|
|
|
|
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
|
|
|
|
.line 4431
|
|
invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View;
|
|
|
|
move-result-object v2
|
|
|
|
.line 4432
|
|
invoke-static {v2}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
|
|
|
|
move-result-object v2
|
|
|
|
if-ne v2, p3, :cond_0
|
|
|
|
goto :goto_1
|
|
|
|
.line 4436
|
|
:cond_0
|
|
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->getChangedHolderKey(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)J
|
|
|
|
move-result-wide v3
|
|
|
|
cmp-long v3, v3, p1
|
|
|
|
if-nez v3, :cond_2
|
|
|
|
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
|
|
|
const-string p2, " \n View Holder 2:"
|
|
|
|
if-eqz p1, :cond_1
|
|
|
|
.line 4438
|
|
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z
|
|
|
|
move-result p1
|
|
|
|
if-eqz p1, :cond_1
|
|
|
|
.line 4439
|
|
new-instance p1, Ljava/lang/IllegalStateException;
|
|
|
|
new-instance p4, Ljava/lang/StringBuilder;
|
|
|
|
invoke-direct {p4}, Ljava/lang/StringBuilder;-><init>()V
|
|
|
|
const-string v0, "Two different ViewHolders have the same stable ID. Stable IDs in your adapter MUST BE unique and SHOULD NOT change.\n ViewHolder 1:"
|
|
|
|
invoke-virtual {p4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {p4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {p4, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {p4, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
|
|
|
|
.line 4442
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String;
|
|
|
|
move-result-object p2
|
|
|
|
invoke-virtual {p4, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {p4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object p2
|
|
|
|
invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
|
|
|
|
throw p1
|
|
|
|
.line 4444
|
|
:cond_1
|
|
new-instance p1, Ljava/lang/IllegalStateException;
|
|
|
|
new-instance p4, Ljava/lang/StringBuilder;
|
|
|
|
invoke-direct {p4}, Ljava/lang/StringBuilder;-><init>()V
|
|
|
|
const-string v0, "Two different ViewHolders have the same change ID. This might happen due to inconsistent Adapter update events or if the LayoutManager lays out the same View multiple times.\n ViewHolder 1:"
|
|
|
|
invoke-virtual {p4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {p4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {p4, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {p4, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
|
|
|
|
.line 4448
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String;
|
|
|
|
move-result-object p2
|
|
|
|
invoke-virtual {p4, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {p4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object p2
|
|
|
|
invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
|
|
|
|
throw p1
|
|
|
|
:cond_2
|
|
:goto_1
|
|
add-int/lit8 v1, v1, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
.line 4453
|
|
:cond_3
|
|
new-instance p1, Ljava/lang/StringBuilder;
|
|
|
|
invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V
|
|
|
|
const-string p2, "Problem while matching changed view holders with the newones. The pre-layout information for the change holder "
|
|
|
|
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {p1, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
|
|
|
|
const-string p2, " cannot be found but it is necessary for "
|
|
|
|
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {p1, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
|
|
|
|
.line 4455
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String;
|
|
|
|
move-result-object p2
|
|
|
|
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object p1
|
|
|
|
const-string p2, "RecyclerView"
|
|
|
|
.line 4453
|
|
invoke-static {p2, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method private hasUpdatedView()Z
|
|
.locals 5
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
|
|
|
|
.line 2037
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I
|
|
|
|
move-result v0
|
|
|
|
const/4 v1, 0x0
|
|
|
|
move v2, v1
|
|
|
|
:goto_0
|
|
if-ge v2, v0, :cond_2
|
|
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
|
|
|
|
.line 2039
|
|
invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View;
|
|
|
|
move-result-object v3
|
|
|
|
invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
|
|
|
|
move-result-object v3
|
|
|
|
if-eqz v3, :cond_1
|
|
|
|
.line 2040
|
|
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
|
|
|
|
move-result v4
|
|
|
|
if-eqz v4, :cond_0
|
|
|
|
goto :goto_1
|
|
|
|
.line 2043
|
|
:cond_0
|
|
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isUpdated()Z
|
|
|
|
move-result v3
|
|
|
|
if-eqz v3, :cond_1
|
|
|
|
const/4 v0, 0x1
|
|
|
|
return v0
|
|
|
|
:cond_1
|
|
:goto_1
|
|
add-int/lit8 v2, v2, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_2
|
|
return v1
|
|
.end method
|
|
|
|
.method private initAutofill()V
|
|
.locals 1
|
|
.annotation build Landroid/annotation/SuppressLint;
|
|
value = {
|
|
"InlinedApi"
|
|
}
|
|
.end annotation
|
|
|
|
.line 778
|
|
invoke-static {p0}, Landroidx/core/view/ViewCompat;->getImportantForAutofill(Landroid/view/View;)I
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
const/16 v0, 0x8
|
|
|
|
.line 779
|
|
invoke-static {p0, v0}, Landroidx/core/view/ViewCompat;->setImportantForAutofill(Landroid/view/View;I)V
|
|
|
|
:cond_0
|
|
return-void
|
|
.end method
|
|
|
|
.method private initChildrenHelper()V
|
|
.locals 2
|
|
|
|
.line 878
|
|
new-instance v0, Landroidx/recyclerview/widget/ChildHelper;
|
|
|
|
new-instance v1, Landroidx/recyclerview/widget/RecyclerView$5;
|
|
|
|
invoke-direct {v1, p0}, Landroidx/recyclerview/widget/RecyclerView$5;-><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 9
|
|
|
|
const/4 v0, 0x0
|
|
|
|
if-eqz p2, :cond_1a
|
|
|
|
if-eq p2, p0, :cond_1a
|
|
|
|
if-ne p2, p1, :cond_0
|
|
|
|
goto/16 :goto_3
|
|
|
|
.line 2971
|
|
:cond_0
|
|
invoke-virtual {p0, p2}, Landroidx/recyclerview/widget/RecyclerView;->findContainingItemView(Landroid/view/View;)Landroid/view/View;
|
|
|
|
move-result-object v1
|
|
|
|
if-nez v1, :cond_1
|
|
|
|
return v0
|
|
|
|
:cond_1
|
|
const/4 v1, 0x1
|
|
|
|
if-nez p1, :cond_2
|
|
|
|
return v1
|
|
|
|
.line 2978
|
|
:cond_2
|
|
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->findContainingItemView(Landroid/view/View;)Landroid/view/View;
|
|
|
|
move-result-object v2
|
|
|
|
if-nez v2, :cond_3
|
|
|
|
return v1
|
|
|
|
:cond_3
|
|
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
|
|
|
|
.line 2982
|
|
invoke-virtual {p1}, Landroid/view/View;->getWidth()I
|
|
|
|
move-result v3
|
|
|
|
invoke-virtual {p1}, Landroid/view/View;->getHeight()I
|
|
|
|
move-result v4
|
|
|
|
invoke-virtual {v2, v0, v0, v3, v4}, Landroid/graphics/Rect;->set(IIII)V
|
|
|
|
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect;
|
|
|
|
.line 2983
|
|
invoke-virtual {p2}, Landroid/view/View;->getWidth()I
|
|
|
|
move-result v3
|
|
|
|
invoke-virtual {p2}, Landroid/view/View;->getHeight()I
|
|
|
|
move-result v4
|
|
|
|
invoke-virtual {v2, v0, v0, v3, v4}, Landroid/graphics/Rect;->set(IIII)V
|
|
|
|
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
|
|
|
|
.line 2984
|
|
invoke-virtual {p0, p1, v2}, Landroid/view/ViewGroup;->offsetDescendantRectToMyCoords(Landroid/view/View;Landroid/graphics/Rect;)V
|
|
|
|
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect;
|
|
|
|
.line 2985
|
|
invoke-virtual {p0, p2, p1}, Landroid/view/ViewGroup;->offsetDescendantRectToMyCoords(Landroid/view/View;Landroid/graphics/Rect;)V
|
|
|
|
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
.line 2986
|
|
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->getLayoutDirection()I
|
|
|
|
move-result p1
|
|
|
|
const/4 p2, -0x1
|
|
|
|
if-ne p1, v1, :cond_4
|
|
|
|
move p1, p2
|
|
|
|
goto :goto_0
|
|
|
|
:cond_4
|
|
move p1, v1
|
|
|
|
:goto_0
|
|
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
|
|
|
|
.line 2988
|
|
iget v3, v2, Landroid/graphics/Rect;->left:I
|
|
|
|
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect;
|
|
|
|
iget v5, v4, Landroid/graphics/Rect;->left:I
|
|
|
|
if-lt v3, v5, :cond_5
|
|
|
|
iget v6, v2, Landroid/graphics/Rect;->right:I
|
|
|
|
if-gt v6, v5, :cond_6
|
|
|
|
:cond_5
|
|
iget v6, v2, Landroid/graphics/Rect;->right:I
|
|
|
|
iget v7, v4, Landroid/graphics/Rect;->right:I
|
|
|
|
if-ge v6, v7, :cond_6
|
|
|
|
move v3, v1
|
|
|
|
goto :goto_1
|
|
|
|
.line 2992
|
|
:cond_6
|
|
iget v6, v2, Landroid/graphics/Rect;->right:I
|
|
|
|
iget v7, v4, Landroid/graphics/Rect;->right:I
|
|
|
|
if-gt v6, v7, :cond_7
|
|
|
|
if-lt v3, v7, :cond_8
|
|
|
|
:cond_7
|
|
if-le v3, v5, :cond_8
|
|
|
|
move v3, p2
|
|
|
|
goto :goto_1
|
|
|
|
:cond_8
|
|
move v3, v0
|
|
|
|
.line 2998
|
|
:goto_1
|
|
iget v5, v2, Landroid/graphics/Rect;->top:I
|
|
|
|
iget v6, v4, Landroid/graphics/Rect;->top:I
|
|
|
|
if-lt v5, v6, :cond_9
|
|
|
|
iget v7, v2, Landroid/graphics/Rect;->bottom:I
|
|
|
|
if-gt v7, v6, :cond_a
|
|
|
|
:cond_9
|
|
iget v7, v2, Landroid/graphics/Rect;->bottom:I
|
|
|
|
iget v8, v4, Landroid/graphics/Rect;->bottom:I
|
|
|
|
if-ge v7, v8, :cond_a
|
|
|
|
move p2, v1
|
|
|
|
goto :goto_2
|
|
|
|
.line 3002
|
|
:cond_a
|
|
iget v2, v2, Landroid/graphics/Rect;->bottom:I
|
|
|
|
iget v4, v4, Landroid/graphics/Rect;->bottom:I
|
|
|
|
if-gt v2, v4, :cond_b
|
|
|
|
if-lt v5, v4, :cond_c
|
|
|
|
:cond_b
|
|
if-le v5, v6, :cond_c
|
|
|
|
goto :goto_2
|
|
|
|
:cond_c
|
|
move p2, v0
|
|
|
|
:goto_2
|
|
if-eq p3, v1, :cond_18
|
|
|
|
const/4 v2, 0x2
|
|
|
|
if-eq p3, v2, :cond_15
|
|
|
|
const/16 p1, 0x11
|
|
|
|
if-eq p3, p1, :cond_13
|
|
|
|
const/16 p1, 0x21
|
|
|
|
if-eq p3, p1, :cond_11
|
|
|
|
const/16 p1, 0x42
|
|
|
|
if-eq p3, p1, :cond_f
|
|
|
|
const/16 p1, 0x82
|
|
|
|
if-ne p3, p1, :cond_e
|
|
|
|
if-lez p2, :cond_d
|
|
|
|
move v0, v1
|
|
|
|
:cond_d
|
|
return v0
|
|
|
|
.line 3021
|
|
:cond_e
|
|
new-instance p1, Ljava/lang/IllegalArgumentException;
|
|
|
|
new-instance p2, Ljava/lang/StringBuilder;
|
|
|
|
invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
|
|
|
|
const-string v0, "Invalid direction: "
|
|
|
|
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String;
|
|
|
|
move-result-object p3
|
|
|
|
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object p2
|
|
|
|
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
|
|
|
|
throw p1
|
|
|
|
:cond_f
|
|
if-lez v3, :cond_10
|
|
|
|
move v0, v1
|
|
|
|
:cond_10
|
|
return v0
|
|
|
|
:cond_11
|
|
if-gez p2, :cond_12
|
|
|
|
move v0, v1
|
|
|
|
:cond_12
|
|
return v0
|
|
|
|
:cond_13
|
|
if-gez v3, :cond_14
|
|
|
|
move v0, v1
|
|
|
|
:cond_14
|
|
return v0
|
|
|
|
:cond_15
|
|
if-gtz p2, :cond_16
|
|
|
|
if-nez p2, :cond_17
|
|
|
|
mul-int/2addr v3, p1
|
|
|
|
if-lez v3, :cond_17
|
|
|
|
:cond_16
|
|
move v0, v1
|
|
|
|
:cond_17
|
|
return v0
|
|
|
|
:cond_18
|
|
if-ltz p2, :cond_19
|
|
|
|
if-nez p2, :cond_1a
|
|
|
|
mul-int/2addr v3, p1
|
|
|
|
if-gez v3, :cond_1a
|
|
|
|
:cond_19
|
|
move v0, v1
|
|
|
|
:cond_1a
|
|
:goto_3
|
|
return v0
|
|
.end method
|
|
|
|
.method private nestedScrollByInternal(IILandroid/view/MotionEvent;I)V
|
|
.locals 11
|
|
.param p3 # Landroid/view/MotionEvent;
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
.end param
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
const-string p1, "RecyclerView"
|
|
|
|
const-string p2, "Cannot scroll without a LayoutManager set. Call setLayoutManager with a non-null argument."
|
|
|
|
.line 1908
|
|
invoke-static {p1, p2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
|
|
|
|
return-void
|
|
|
|
:cond_0
|
|
iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
|
|
|
|
if-eqz v1, :cond_1
|
|
|
|
return-void
|
|
|
|
:cond_1
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I
|
|
|
|
const/4 v2, 0x0
|
|
|
|
.line 1915
|
|
aput v2, v1, v2
|
|
|
|
const/4 v3, 0x1
|
|
|
|
.line 1916
|
|
aput v2, v1, v3
|
|
|
|
.line 1917
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z
|
|
|
|
move-result v0
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
.line 1918
|
|
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z
|
|
|
|
move-result v1
|
|
|
|
if-eqz v1, :cond_2
|
|
|
|
or-int/lit8 v4, v0, 0x2
|
|
|
|
goto :goto_0
|
|
|
|
:cond_2
|
|
move v4, v0
|
|
|
|
.line 1927
|
|
:goto_0
|
|
invoke-virtual {p0, v4, p4}, Landroidx/recyclerview/widget/RecyclerView;->startNestedScroll(II)Z
|
|
|
|
if-eqz v0, :cond_3
|
|
|
|
move v6, p1
|
|
|
|
goto :goto_1
|
|
|
|
:cond_3
|
|
move v6, v2
|
|
|
|
:goto_1
|
|
if-eqz v1, :cond_4
|
|
|
|
move v7, p2
|
|
|
|
goto :goto_2
|
|
|
|
:cond_4
|
|
move v7, v2
|
|
|
|
:goto_2
|
|
iget-object v8, p0, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I
|
|
|
|
iget-object v9, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I
|
|
|
|
move-object v5, p0
|
|
|
|
move v10, p4
|
|
|
|
.line 1928
|
|
invoke-virtual/range {v5 .. v10}, Landroidx/recyclerview/widget/RecyclerView;->dispatchNestedPreScroll(II[I[II)Z
|
|
|
|
move-result v4
|
|
|
|
if-eqz v4, :cond_5
|
|
|
|
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I
|
|
|
|
.line 1933
|
|
aget v5, v4, v2
|
|
|
|
sub-int/2addr p1, v5
|
|
|
|
.line 1934
|
|
aget v3, v4, v3
|
|
|
|
sub-int/2addr p2, v3
|
|
|
|
:cond_5
|
|
if-eqz v0, :cond_6
|
|
|
|
move v0, p1
|
|
|
|
goto :goto_3
|
|
|
|
:cond_6
|
|
move v0, v2
|
|
|
|
:goto_3
|
|
if-eqz v1, :cond_7
|
|
|
|
move v2, p2
|
|
|
|
.line 1937
|
|
:cond_7
|
|
invoke-virtual {p0, v0, v2, p3, p4}, Landroidx/recyclerview/widget/RecyclerView;->scrollByInternal(IILandroid/view/MotionEvent;I)Z
|
|
|
|
iget-object p3, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/GapWorker;
|
|
|
|
if-eqz p3, :cond_9
|
|
|
|
if-nez p1, :cond_8
|
|
|
|
if-eqz p2, :cond_9
|
|
|
|
.line 1942
|
|
:cond_8
|
|
invoke-virtual {p3, p0, p1, p2}, Landroidx/recyclerview/widget/GapWorker;->postFromTraversal(Landroidx/recyclerview/widget/RecyclerView;II)V
|
|
|
|
.line 1944
|
|
:cond_9
|
|
invoke-virtual {p0, p4}, Landroidx/recyclerview/widget/RecyclerView;->stopNestedScroll(I)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method private onPointerUp(Landroid/view/MotionEvent;)V
|
|
.locals 3
|
|
|
|
.line 3592
|
|
invoke-virtual {p1}, Landroid/view/MotionEvent;->getActionIndex()I
|
|
|
|
move-result v0
|
|
|
|
.line 3593
|
|
invoke-virtual {p1, v0}, Landroid/view/MotionEvent;->getPointerId(I)I
|
|
|
|
move-result v1
|
|
|
|
iget v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
|
|
|
|
if-ne v1, v2, :cond_1
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
const/4 v0, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
const/4 v0, 0x0
|
|
|
|
.line 3596
|
|
:goto_0
|
|
invoke-virtual {p1, v0}, Landroid/view/MotionEvent;->getPointerId(I)I
|
|
|
|
move-result v1
|
|
|
|
iput v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
|
|
|
|
.line 3597
|
|
invoke-virtual {p1, v0}, Landroid/view/MotionEvent;->getX(I)F
|
|
|
|
move-result v1
|
|
|
|
const/high16 v2, 0x3f000000 # 0.5f
|
|
|
|
add-float/2addr v1, v2
|
|
|
|
float-to-int v1, v1
|
|
|
|
iput v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I
|
|
|
|
iput v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchX:I
|
|
|
|
.line 3598
|
|
invoke-virtual {p1, v0}, Landroid/view/MotionEvent;->getY(I)F
|
|
|
|
move-result p1
|
|
|
|
add-float/2addr p1, v2
|
|
|
|
float-to-int p1, p1
|
|
|
|
iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I
|
|
|
|
iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchY:I
|
|
|
|
:cond_1
|
|
return-void
|
|
.end method
|
|
|
|
.method private predictiveItemAnimationsEnabled()Z
|
|
.locals 1
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
.line 3920
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->supportsPredictiveItemAnimations()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
const/4 v0, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
const/4 v0, 0x0
|
|
|
|
:goto_0
|
|
return v0
|
|
.end method
|
|
|
|
.method private processAdapterUpdatesAndSetAnimationFlags()V
|
|
.locals 6
|
|
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
|
|
|
|
.line 3933
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->reset()V
|
|
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchItemsChangedEvent:Z
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
.line 3935
|
|
invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onItemsChanged(Landroidx/recyclerview/widget/RecyclerView;)V
|
|
|
|
.line 3941
|
|
:cond_0
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->predictiveItemAnimationsEnabled()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
|
|
|
|
.line 3942
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->preProcess()V
|
|
|
|
goto :goto_0
|
|
|
|
:cond_1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
|
|
|
|
.line 3944
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->consumeUpdatesInOnePass()V
|
|
|
|
:goto_0
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemsAddedOrRemoved:Z
|
|
|
|
const/4 v1, 0x1
|
|
|
|
const/4 v2, 0x0
|
|
|
|
if-nez v0, :cond_3
|
|
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemsChanged:Z
|
|
|
|
if-eqz v0, :cond_2
|
|
|
|
goto :goto_1
|
|
|
|
:cond_2
|
|
move v0, v2
|
|
|
|
goto :goto_2
|
|
|
|
:cond_3
|
|
:goto_1
|
|
move v0, v1
|
|
|
|
:goto_2
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
iget-boolean v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z
|
|
|
|
if-eqz v4, :cond_6
|
|
|
|
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
|
|
|
|
if-eqz v4, :cond_6
|
|
|
|
iget-boolean v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z
|
|
|
|
if-nez v4, :cond_4
|
|
|
|
if-nez v0, :cond_4
|
|
|
|
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
.line 3947
|
|
iget-boolean v5, v5, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mRequestedSimpleAnimations:Z
|
|
|
|
if-eqz v5, :cond_6
|
|
|
|
:cond_4
|
|
if-eqz v4, :cond_5
|
|
|
|
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
|
|
|
.line 3953
|
|
invoke-virtual {v4}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z
|
|
|
|
move-result v4
|
|
|
|
if-eqz v4, :cond_6
|
|
|
|
:cond_5
|
|
move v4, v1
|
|
|
|
goto :goto_3
|
|
|
|
:cond_6
|
|
move v4, v2
|
|
|
|
:goto_3
|
|
iput-boolean v4, v3, Landroidx/recyclerview/widget/RecyclerView$State;->mRunSimpleAnimations:Z
|
|
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
.line 3954
|
|
iget-boolean v4, v3, Landroidx/recyclerview/widget/RecyclerView$State;->mRunSimpleAnimations:Z
|
|
|
|
if-eqz v4, :cond_7
|
|
|
|
if-eqz v0, :cond_7
|
|
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z
|
|
|
|
if-nez v0, :cond_7
|
|
|
|
.line 3957
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->predictiveItemAnimationsEnabled()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_7
|
|
|
|
goto :goto_4
|
|
|
|
:cond_7
|
|
move v1, v2
|
|
|
|
:goto_4
|
|
iput-boolean v1, v3, Landroidx/recyclerview/widget/RecyclerView$State;->mRunPredictiveAnimations:Z
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method private pullGlows(FFFF)V
|
|
.locals 6
|
|
|
|
const/4 v0, 0x0
|
|
|
|
cmpg-float v1, p2, v0
|
|
|
|
const/4 v2, 0x1
|
|
|
|
const/high16 v3, 0x3f800000 # 1.0f
|
|
|
|
if-gez v1, :cond_0
|
|
|
|
.line 2665
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureLeftGlow()V
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
|
|
|
|
neg-float v4, p2
|
|
|
|
.line 2666
|
|
invoke-virtual {p0}, Landroid/view/View;->getWidth()I
|
|
|
|
move-result v5
|
|
|
|
int-to-float v5, v5
|
|
|
|
div-float/2addr v4, v5
|
|
|
|
invoke-virtual {p0}, Landroid/view/View;->getHeight()I
|
|
|
|
move-result v5
|
|
|
|
int-to-float v5, v5
|
|
|
|
div-float/2addr p3, v5
|
|
|
|
sub-float p3, v3, p3
|
|
|
|
invoke-static {v1, v4, p3}, Landroidx/core/widget/EdgeEffectCompat;->onPull(Landroid/widget/EdgeEffect;FF)V
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
cmpl-float v1, p2, v0
|
|
|
|
if-lez v1, :cond_1
|
|
|
|
.line 2669
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureRightGlow()V
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
|
|
|
|
.line 2670
|
|
invoke-virtual {p0}, Landroid/view/View;->getWidth()I
|
|
|
|
move-result v4
|
|
|
|
int-to-float v4, v4
|
|
|
|
div-float v4, p2, v4
|
|
|
|
invoke-virtual {p0}, Landroid/view/View;->getHeight()I
|
|
|
|
move-result v5
|
|
|
|
int-to-float v5, v5
|
|
|
|
div-float/2addr p3, v5
|
|
|
|
invoke-static {v1, v4, p3}, Landroidx/core/widget/EdgeEffectCompat;->onPull(Landroid/widget/EdgeEffect;FF)V
|
|
|
|
goto :goto_0
|
|
|
|
:cond_1
|
|
const/4 v2, 0x0
|
|
|
|
:goto_0
|
|
cmpg-float p3, p4, v0
|
|
|
|
if-gez p3, :cond_2
|
|
|
|
.line 2675
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureTopGlow()V
|
|
|
|
iget-object p2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
|
|
|
|
neg-float p3, p4
|
|
|
|
.line 2676
|
|
invoke-virtual {p0}, Landroid/view/View;->getHeight()I
|
|
|
|
move-result p4
|
|
|
|
int-to-float p4, p4
|
|
|
|
div-float/2addr p3, p4
|
|
|
|
invoke-virtual {p0}, Landroid/view/View;->getWidth()I
|
|
|
|
move-result p4
|
|
|
|
int-to-float p4, p4
|
|
|
|
div-float/2addr p1, p4
|
|
|
|
invoke-static {p2, p3, p1}, Landroidx/core/widget/EdgeEffectCompat;->onPull(Landroid/widget/EdgeEffect;FF)V
|
|
|
|
goto :goto_1
|
|
|
|
:cond_2
|
|
cmpl-float p3, p4, v0
|
|
|
|
if-lez p3, :cond_3
|
|
|
|
.line 2679
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureBottomGlow()V
|
|
|
|
iget-object p2, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
|
|
|
|
.line 2680
|
|
invoke-virtual {p0}, Landroid/view/View;->getHeight()I
|
|
|
|
move-result p3
|
|
|
|
int-to-float p3, p3
|
|
|
|
div-float/2addr p4, p3
|
|
|
|
invoke-virtual {p0}, Landroid/view/View;->getWidth()I
|
|
|
|
move-result p3
|
|
|
|
int-to-float p3, p3
|
|
|
|
div-float/2addr p1, p3
|
|
|
|
sub-float/2addr v3, p1
|
|
|
|
invoke-static {p2, p4, v3}, Landroidx/core/widget/EdgeEffectCompat;->onPull(Landroid/widget/EdgeEffect;FF)V
|
|
|
|
goto :goto_1
|
|
|
|
:cond_3
|
|
if-nez v2, :cond_4
|
|
|
|
cmpl-float p1, p2, v0
|
|
|
|
if-nez p1, :cond_4
|
|
|
|
cmpl-float p1, p4, v0
|
|
|
|
if-eqz p1, :cond_5
|
|
|
|
.line 2685
|
|
:cond_4
|
|
:goto_1
|
|
invoke-static {p0}, Landroidx/core/view/ViewCompat;->postInvalidateOnAnimation(Landroid/view/View;)V
|
|
|
|
:cond_5
|
|
return-void
|
|
.end method
|
|
|
|
.method private recoverFocusFromState()V
|
|
.locals 6
|
|
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPreserveFocusAfterLayout:Z
|
|
|
|
if-eqz v0, :cond_9
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
|
|
|
if-eqz v0, :cond_9
|
|
|
|
.line 4099
|
|
invoke-virtual {p0}, Landroid/view/View;->hasFocus()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_9
|
|
|
|
.line 4100
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getDescendantFocusability()I
|
|
|
|
move-result v0
|
|
|
|
const/high16 v1, 0x60000
|
|
|
|
if-eq v0, v1, :cond_9
|
|
|
|
.line 4101
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getDescendantFocusability()I
|
|
|
|
move-result v0
|
|
|
|
const/high16 v1, 0x20000
|
|
|
|
if-ne v0, v1, :cond_0
|
|
|
|
invoke-virtual {p0}, Landroid/view/View;->isFocused()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
goto/16 :goto_3
|
|
|
|
.line 4109
|
|
:cond_0
|
|
invoke-virtual {p0}, Landroid/view/View;->isFocused()Z
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_3
|
|
|
|
.line 4110
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getFocusedChild()Landroid/view/View;
|
|
|
|
move-result-object v0
|
|
|
|
sget-boolean v1, Landroidx/recyclerview/widget/RecyclerView;->IGNORE_DETACHED_FOCUSED_CHILD:Z
|
|
|
|
if-eqz v1, :cond_2
|
|
|
|
.line 4112
|
|
invoke-virtual {v0}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
|
|
|
|
move-result-object v1
|
|
|
|
if-eqz v1, :cond_1
|
|
|
|
invoke-virtual {v0}, Landroid/view/View;->hasFocus()Z
|
|
|
|
move-result v1
|
|
|
|
if-nez v1, :cond_2
|
|
|
|
:cond_1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
|
|
|
|
.line 4124
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_3
|
|
|
|
.line 4127
|
|
invoke-virtual {p0}, Landroid/view/View;->requestFocus()Z
|
|
|
|
return-void
|
|
|
|
:cond_2
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
|
|
|
|
.line 4130
|
|
invoke-virtual {v1, v0}, Landroidx/recyclerview/widget/ChildHelper;->isHidden(Landroid/view/View;)Z
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_3
|
|
|
|
return-void
|
|
|
|
:cond_3
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
.line 4140
|
|
iget-wide v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemId:J
|
|
|
|
const-wide/16 v2, -0x1
|
|
|
|
cmp-long v0, v0, v2
|
|
|
|
const/4 v1, 0x0
|
|
|
|
if-eqz v0, :cond_4
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_4
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
.line 4141
|
|
iget-wide v4, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemId:J
|
|
|
|
invoke-virtual {p0, v4, v5}, Landroidx/recyclerview/widget/RecyclerView;->findViewHolderForItemId(J)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
|
|
|
|
move-result-object v0
|
|
|
|
goto :goto_0
|
|
|
|
:cond_4
|
|
move-object v0, v1
|
|
|
|
:goto_0
|
|
if-eqz v0, :cond_6
|
|
|
|
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
|
|
|
|
.line 4144
|
|
iget-object v5, v0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
|
|
|
|
invoke-virtual {v4, v5}, Landroidx/recyclerview/widget/ChildHelper;->isHidden(Landroid/view/View;)Z
|
|
|
|
move-result v4
|
|
|
|
if-nez v4, :cond_6
|
|
|
|
iget-object v4, v0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
|
|
|
|
.line 4145
|
|
invoke-virtual {v4}, Landroid/view/View;->hasFocusable()Z
|
|
|
|
move-result v4
|
|
|
|
if-nez v4, :cond_5
|
|
|
|
goto :goto_1
|
|
|
|
.line 4158
|
|
:cond_5
|
|
iget-object v1, v0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
|
|
|
|
goto :goto_2
|
|
|
|
:cond_6
|
|
:goto_1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
|
|
|
|
.line 4146
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I
|
|
|
|
move-result v0
|
|
|
|
if-lez v0, :cond_7
|
|
|
|
.line 4153
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->findNextViewToFocus()Landroid/view/View;
|
|
|
|
move-result-object v1
|
|
|
|
:cond_7
|
|
:goto_2
|
|
if-eqz v1, :cond_9
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
.line 4162
|
|
iget v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedSubChildId:I
|
|
|
|
int-to-long v4, v0
|
|
|
|
cmp-long v2, v4, v2
|
|
|
|
if-eqz v2, :cond_8
|
|
|
|
.line 4163
|
|
invoke-virtual {v1, v0}, Landroid/view/View;->findViewById(I)Landroid/view/View;
|
|
|
|
move-result-object v0
|
|
|
|
if-eqz v0, :cond_8
|
|
|
|
.line 4164
|
|
invoke-virtual {v0}, Landroid/view/View;->isFocusable()Z
|
|
|
|
move-result v2
|
|
|
|
if-eqz v2, :cond_8
|
|
|
|
move-object v1, v0
|
|
|
|
.line 4168
|
|
:cond_8
|
|
invoke-virtual {v1}, Landroid/view/View;->requestFocus()Z
|
|
|
|
:cond_9
|
|
:goto_3
|
|
return-void
|
|
.end method
|
|
|
|
.method private releaseGlows()V
|
|
.locals 2
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 2692
|
|
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->onRelease()V
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
|
|
|
|
.line 2693
|
|
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z
|
|
|
|
move-result v0
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
const/4 v0, 0x0
|
|
|
|
:goto_0
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
|
|
|
|
if-eqz v1, :cond_1
|
|
|
|
.line 2696
|
|
invoke-virtual {v1}, Landroid/widget/EdgeEffect;->onRelease()V
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
|
|
|
|
.line 2697
|
|
invoke-virtual {v1}, Landroid/widget/EdgeEffect;->isFinished()Z
|
|
|
|
move-result v1
|
|
|
|
or-int/2addr v0, v1
|
|
|
|
:cond_1
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
|
|
|
|
if-eqz v1, :cond_2
|
|
|
|
.line 2700
|
|
invoke-virtual {v1}, Landroid/widget/EdgeEffect;->onRelease()V
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
|
|
|
|
.line 2701
|
|
invoke-virtual {v1}, Landroid/widget/EdgeEffect;->isFinished()Z
|
|
|
|
move-result v1
|
|
|
|
or-int/2addr v0, v1
|
|
|
|
:cond_2
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
|
|
|
|
if-eqz v1, :cond_3
|
|
|
|
.line 2704
|
|
invoke-virtual {v1}, Landroid/widget/EdgeEffect;->onRelease()V
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
|
|
|
|
.line 2705
|
|
invoke-virtual {v1}, Landroid/widget/EdgeEffect;->isFinished()Z
|
|
|
|
move-result v1
|
|
|
|
or-int/2addr v0, v1
|
|
|
|
:cond_3
|
|
if-eqz v0, :cond_4
|
|
|
|
.line 2708
|
|
invoke-static {p0}, Landroidx/core/view/ViewCompat;->postInvalidateOnAnimation(Landroid/view/View;)V
|
|
|
|
:cond_4
|
|
return-void
|
|
.end method
|
|
|
|
.method private requestChildOnScreen(Landroid/view/View;Landroid/view/View;)V
|
|
.locals 11
|
|
.param p1 # Landroid/view/View;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
.param p2 # Landroid/view/View;
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
.end param
|
|
|
|
if-eqz p2, :cond_0
|
|
|
|
move-object v0, p2
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
move-object v0, p1
|
|
|
|
:goto_0
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
|
|
|
|
.line 3044
|
|
invoke-virtual {v0}, Landroid/view/View;->getWidth()I
|
|
|
|
move-result v2
|
|
|
|
invoke-virtual {v0}, Landroid/view/View;->getHeight()I
|
|
|
|
move-result v3
|
|
|
|
const/4 v4, 0x0
|
|
|
|
invoke-virtual {v1, v4, v4, v2, v3}, Landroid/graphics/Rect;->set(IIII)V
|
|
|
|
.line 3049
|
|
invoke-virtual {v0}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
|
|
|
|
move-result-object v0
|
|
|
|
.line 3050
|
|
instance-of v1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
|
|
|
|
if-eqz v1, :cond_1
|
|
|
|
.line 3052
|
|
check-cast v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
|
|
|
|
.line 3053
|
|
iget-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mInsetsDirty:Z
|
|
|
|
if-nez v1, :cond_1
|
|
|
|
.line 3054
|
|
iget-object v0, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mDecorInsets:Landroid/graphics/Rect;
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
|
|
|
|
.line 3055
|
|
iget v2, v1, Landroid/graphics/Rect;->left:I
|
|
|
|
iget v3, v0, Landroid/graphics/Rect;->left:I
|
|
|
|
sub-int/2addr v2, v3
|
|
|
|
iput v2, v1, Landroid/graphics/Rect;->left:I
|
|
|
|
.line 3056
|
|
iget v2, v1, Landroid/graphics/Rect;->right:I
|
|
|
|
iget v3, v0, Landroid/graphics/Rect;->right:I
|
|
|
|
add-int/2addr v2, v3
|
|
|
|
iput v2, v1, Landroid/graphics/Rect;->right:I
|
|
|
|
.line 3057
|
|
iget v2, v1, Landroid/graphics/Rect;->top:I
|
|
|
|
iget v3, v0, Landroid/graphics/Rect;->top:I
|
|
|
|
sub-int/2addr v2, v3
|
|
|
|
iput v2, v1, Landroid/graphics/Rect;->top:I
|
|
|
|
.line 3058
|
|
iget v2, v1, Landroid/graphics/Rect;->bottom:I
|
|
|
|
iget v0, v0, Landroid/graphics/Rect;->bottom:I
|
|
|
|
add-int/2addr v2, v0
|
|
|
|
iput v2, v1, Landroid/graphics/Rect;->bottom:I
|
|
|
|
:cond_1
|
|
if-eqz p2, :cond_2
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
|
|
|
|
.line 3063
|
|
invoke-virtual {p0, p2, v0}, Landroid/view/ViewGroup;->offsetDescendantRectToMyCoords(Landroid/view/View;Landroid/graphics/Rect;)V
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
|
|
|
|
.line 3064
|
|
invoke-virtual {p0, p1, v0}, Landroid/view/ViewGroup;->offsetRectIntoDescendantCoords(Landroid/view/View;Landroid/graphics/Rect;)V
|
|
|
|
:cond_2
|
|
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
iget-object v8, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
|
|
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z
|
|
|
|
const/4 v1, 0x1
|
|
|
|
xor-int/lit8 v9, v0, 0x1
|
|
|
|
if-nez p2, :cond_3
|
|
|
|
move v10, v1
|
|
|
|
goto :goto_1
|
|
|
|
:cond_3
|
|
move v10, v4
|
|
|
|
:goto_1
|
|
move-object v6, p0
|
|
|
|
move-object v7, p1
|
|
|
|
.line 3066
|
|
invoke-virtual/range {v5 .. v10}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->requestChildRectangleOnScreen(Landroidx/recyclerview/widget/RecyclerView;Landroid/view/View;Landroid/graphics/Rect;ZZ)Z
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method private resetFocusInfo()V
|
|
.locals 3
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
const-wide/16 v1, -0x1
|
|
|
|
.line 4056
|
|
iput-wide v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemId:J
|
|
|
|
const/4 v1, -0x1
|
|
|
|
.line 4057
|
|
iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemPosition:I
|
|
|
|
.line 4058
|
|
iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedSubChildId:I
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method private resetScroll()V
|
|
.locals 1
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 3580
|
|
invoke-virtual {v0}, Landroid/view/VelocityTracker;->clear()V
|
|
|
|
:cond_0
|
|
const/4 v0, 0x0
|
|
|
|
.line 3582
|
|
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->stopNestedScroll(I)V
|
|
|
|
.line 3583
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->releaseGlows()V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method private saveFocusInfo()V
|
|
.locals 4
|
|
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPreserveFocusAfterLayout:Z
|
|
|
|
const/4 v1, 0x0
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 4036
|
|
invoke-virtual {p0}, Landroid/view/View;->hasFocus()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 4037
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getFocusedChild()Landroid/view/View;
|
|
|
|
move-result-object v0
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
move-object v0, v1
|
|
|
|
:goto_0
|
|
if-nez v0, :cond_1
|
|
|
|
goto :goto_1
|
|
|
|
.line 4040
|
|
:cond_1
|
|
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->findContainingViewHolder(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
|
|
|
|
move-result-object v1
|
|
|
|
:goto_1
|
|
if-nez v1, :cond_2
|
|
|
|
.line 4042
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->resetFocusInfo()V
|
|
|
|
goto :goto_4
|
|
|
|
:cond_2
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
|
|
|
.line 4044
|
|
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z
|
|
|
|
move-result v2
|
|
|
|
if-eqz v2, :cond_3
|
|
|
|
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getItemId()J
|
|
|
|
move-result-wide v2
|
|
|
|
goto :goto_2
|
|
|
|
:cond_3
|
|
const-wide/16 v2, -0x1
|
|
|
|
:goto_2
|
|
iput-wide v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemId:J
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
iget-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z
|
|
|
|
if-eqz v2, :cond_4
|
|
|
|
const/4 v2, -0x1
|
|
|
|
goto :goto_3
|
|
|
|
.line 4049
|
|
:cond_4
|
|
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isRemoved()Z
|
|
|
|
move-result v2
|
|
|
|
if-eqz v2, :cond_5
|
|
|
|
iget v2, v1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mOldPosition:I
|
|
|
|
goto :goto_3
|
|
|
|
.line 4050
|
|
:cond_5
|
|
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getAbsoluteAdapterPosition()I
|
|
|
|
move-result v2
|
|
|
|
:goto_3
|
|
iput v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedItemPosition:I
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
.line 4051
|
|
iget-object v1, v1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
|
|
|
|
invoke-direct {p0, v1}, Landroidx/recyclerview/widget/RecyclerView;->getDeepestFocusedViewWithId(Landroid/view/View;)I
|
|
|
|
move-result v1
|
|
|
|
iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mFocusedSubChildId:I
|
|
|
|
:goto_4
|
|
return-void
|
|
.end method
|
|
|
|
.method private setAdapterInternal(Landroidx/recyclerview/widget/RecyclerView$Adapter;ZZ)V
|
|
.locals 2
|
|
.param p1 # Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
.end param
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mObserver:Landroidx/recyclerview/widget/RecyclerView$RecyclerViewDataObserver;
|
|
|
|
.line 1232
|
|
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->unregisterAdapterDataObserver(Landroidx/recyclerview/widget/RecyclerView$AdapterDataObserver;)V
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
|
|
|
.line 1233
|
|
invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->onDetachedFromRecyclerView(Landroidx/recyclerview/widget/RecyclerView;)V
|
|
|
|
:cond_0
|
|
if-eqz p2, :cond_1
|
|
|
|
if-eqz p3, :cond_2
|
|
|
|
.line 1236
|
|
:cond_1
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->removeAndRecycleViews()V
|
|
|
|
:cond_2
|
|
iget-object p3, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
|
|
|
|
.line 1238
|
|
invoke-virtual {p3}, Landroidx/recyclerview/widget/AdapterHelper;->reset()V
|
|
|
|
iget-object p3, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
|
|
|
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
|
|
|
if-eqz p1, :cond_3
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mObserver:Landroidx/recyclerview/widget/RecyclerView$RecyclerViewDataObserver;
|
|
|
|
.line 1242
|
|
invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->registerAdapterDataObserver(Landroidx/recyclerview/widget/RecyclerView$AdapterDataObserver;)V
|
|
|
|
.line 1243
|
|
invoke-virtual {p1, p0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->onAttachedToRecyclerView(Landroidx/recyclerview/widget/RecyclerView;)V
|
|
|
|
:cond_3
|
|
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
if-eqz p1, :cond_4
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
|
|
|
.line 1246
|
|
invoke-virtual {p1, p3, v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onAdapterChanged(Landroidx/recyclerview/widget/RecyclerView$Adapter;Landroidx/recyclerview/widget/RecyclerView$Adapter;)V
|
|
|
|
:cond_4
|
|
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
|
|
|
.line 1248
|
|
invoke-virtual {p1, p3, v0, p2}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->onAdapterChanged(Landroidx/recyclerview/widget/RecyclerView$Adapter;Landroidx/recyclerview/widget/RecyclerView$Adapter;Z)V
|
|
|
|
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
const/4 p2, 0x1
|
|
|
|
.line 1249
|
|
iput-boolean p2, p1, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method private stopScrollersInternal()V
|
|
.locals 1
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;
|
|
|
|
.line 2634
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;->stop()V
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 2636
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->stopSmoothScroller()V
|
|
|
|
:cond_0
|
|
return-void
|
|
.end method
|
|
|
|
|
|
# virtual methods
|
|
.method public absorbGlows(II)V
|
|
.locals 2
|
|
|
|
if-gez p1, :cond_0
|
|
|
|
.line 2737
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureLeftGlow()V
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
|
|
|
|
.line 2738
|
|
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
|
|
|
|
neg-int v1, p1
|
|
|
|
.line 2739
|
|
invoke-virtual {v0, v1}, Landroid/widget/EdgeEffect;->onAbsorb(I)V
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
if-lez p1, :cond_1
|
|
|
|
.line 2742
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureRightGlow()V
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
|
|
|
|
.line 2743
|
|
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
|
|
|
|
.line 2744
|
|
invoke-virtual {v0, p1}, Landroid/widget/EdgeEffect;->onAbsorb(I)V
|
|
|
|
:cond_1
|
|
:goto_0
|
|
if-gez p2, :cond_2
|
|
|
|
.line 2749
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureTopGlow()V
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
|
|
|
|
.line 2750
|
|
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_3
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
|
|
|
|
neg-int v1, p2
|
|
|
|
.line 2751
|
|
invoke-virtual {v0, v1}, Landroid/widget/EdgeEffect;->onAbsorb(I)V
|
|
|
|
goto :goto_1
|
|
|
|
:cond_2
|
|
if-lez p2, :cond_3
|
|
|
|
.line 2754
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureBottomGlow()V
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
|
|
|
|
.line 2755
|
|
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_3
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
|
|
|
|
.line 2756
|
|
invoke-virtual {v0, p2}, Landroid/widget/EdgeEffect;->onAbsorb(I)V
|
|
|
|
:cond_3
|
|
:goto_1
|
|
if-nez p1, :cond_4
|
|
|
|
if-eqz p2, :cond_5
|
|
|
|
.line 2761
|
|
:cond_4
|
|
invoke-static {p0}, Landroidx/core/view/ViewCompat;->postInvalidateOnAnimation(Landroid/view/View;)V
|
|
|
|
:cond_5
|
|
return-void
|
|
.end method
|
|
|
|
.method public addFocusables(Ljava/util/ArrayList;II)V
|
|
.locals 1
|
|
.annotation system Ldalvik/annotation/Signature;
|
|
value = {
|
|
"(",
|
|
"Ljava/util/ArrayList<",
|
|
"Landroid/view/View;",
|
|
">;II)V"
|
|
}
|
|
.end annotation
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 3077
|
|
invoke-virtual {v0, p0, p1, p2, p3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onAddFocusables(Landroidx/recyclerview/widget/RecyclerView;Ljava/util/ArrayList;II)Z
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_1
|
|
|
|
.line 3078
|
|
:cond_0
|
|
invoke-super {p0, p1, p2, p3}, Landroid/view/ViewGroup;->addFocusables(Ljava/util/ArrayList;II)V
|
|
|
|
:cond_1
|
|
return-void
|
|
.end method
|
|
|
|
.method public addItemDecoration(Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;)V
|
|
.locals 1
|
|
.param p1 # Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
|
|
const/4 v0, -0x1
|
|
|
|
.line 1665
|
|
invoke-virtual {p0, p1, v0}, Landroidx/recyclerview/widget/RecyclerView;->addItemDecoration(Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;I)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public addItemDecoration(Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;I)V
|
|
.locals 2
|
|
.param p1 # Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
const-string v1, "Cannot add item decoration during a scroll or layout"
|
|
|
|
.line 1637
|
|
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->assertNotInLayoutOrScroll(Ljava/lang/String;)V
|
|
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
|
|
|
|
.line 1640
|
|
invoke-virtual {v0}, Ljava/util/ArrayList;->isEmpty()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 1641
|
|
invoke-virtual {p0, v0}, Landroid/view/View;->setWillNotDraw(Z)V
|
|
|
|
:cond_1
|
|
if-gez p2, :cond_2
|
|
|
|
iget-object p2, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
|
|
|
|
.line 1644
|
|
invoke-virtual {p2, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
|
|
|
|
goto :goto_0
|
|
|
|
:cond_2
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
|
|
|
|
.line 1646
|
|
invoke-virtual {v0, p2, p1}, Ljava/util/ArrayList;->add(ILjava/lang/Object;)V
|
|
|
|
.line 1648
|
|
:goto_0
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->markItemDecorInsetsDirty()V
|
|
|
|
.line 1649
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public addOnChildAttachStateChangeListener(Landroidx/recyclerview/widget/RecyclerView$OnChildAttachStateChangeListener;)V
|
|
.locals 1
|
|
.param p1 # Landroidx/recyclerview/widget/RecyclerView$OnChildAttachStateChangeListener;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List;
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
.line 1336
|
|
new-instance v0, Ljava/util/ArrayList;
|
|
|
|
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
|
|
|
|
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List;
|
|
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List;
|
|
|
|
.line 1338
|
|
invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public addOnItemTouchListener(Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;)V
|
|
.locals 1
|
|
.param p1 # Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList;
|
|
|
|
.line 3213
|
|
invoke-virtual {v0, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public addOnScrollListener(Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;)V
|
|
.locals 1
|
|
.param p1 # Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List;
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
.line 1774
|
|
new-instance v0, Ljava/util/ArrayList;
|
|
|
|
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
|
|
|
|
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List;
|
|
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List;
|
|
|
|
.line 1776
|
|
invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public addRecyclerListener(Landroidx/recyclerview/widget/RecyclerView$RecyclerListener;)V
|
|
.locals 2
|
|
.param p1 # Landroidx/recyclerview/widget/RecyclerView$RecyclerListener;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
|
|
if-eqz p1, :cond_0
|
|
|
|
const/4 v0, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
const/4 v0, 0x0
|
|
|
|
:goto_0
|
|
const-string v1, "\'listener\' arg cannot be null."
|
|
|
|
.line 1291
|
|
invoke-static {v0, v1}, Landroidx/core/util/Preconditions;->checkArgument(ZLjava/lang/Object;)V
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecyclerListeners:Ljava/util/List;
|
|
|
|
.line 1293
|
|
invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public animateAppearance(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V
|
|
.locals 1
|
|
.param p1 # Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
.param p2 # Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
.end param
|
|
.param p3 # Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 4537
|
|
invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->setIsRecyclable(Z)V
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
|
|
|
|
.line 4538
|
|
invoke-virtual {v0, p1, p2, p3}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->animateAppearance(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)Z
|
|
|
|
move-result p1
|
|
|
|
if-eqz p1, :cond_0
|
|
|
|
.line 4539
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->postAnimationRunner()V
|
|
|
|
:cond_0
|
|
return-void
|
|
.end method
|
|
|
|
.method public animateDisappearance(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V
|
|
.locals 1
|
|
.param p1 # Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
.param p2 # Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
.param p3 # Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
.end param
|
|
|
|
.line 4545
|
|
invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->addAnimatingView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 4546
|
|
invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->setIsRecyclable(Z)V
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
|
|
|
|
.line 4547
|
|
invoke-virtual {v0, p1, p2, p3}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->animateDisappearance(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)Z
|
|
|
|
move-result p1
|
|
|
|
if-eqz p1, :cond_0
|
|
|
|
.line 4548
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->postAnimationRunner()V
|
|
|
|
:cond_0
|
|
return-void
|
|
.end method
|
|
|
|
.method public assertInLayoutOrScroll(Ljava/lang/String;)V
|
|
.locals 2
|
|
|
|
.line 3164
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isComputingLayout()Z
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_1
|
|
|
|
if-nez p1, :cond_0
|
|
|
|
.line 3166
|
|
new-instance p1, Ljava/lang/IllegalStateException;
|
|
|
|
new-instance v0, Ljava/lang/StringBuilder;
|
|
|
|
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
|
|
|
|
const-string v1, "Cannot call this method unless RecyclerView is computing a layout or scrolling"
|
|
|
|
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
.line 3167
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String;
|
|
|
|
move-result-object v1
|
|
|
|
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
|
|
|
|
throw p1
|
|
|
|
.line 3169
|
|
:cond_0
|
|
new-instance v0, Ljava/lang/IllegalStateException;
|
|
|
|
new-instance v1, Ljava/lang/StringBuilder;
|
|
|
|
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
|
|
|
|
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String;
|
|
|
|
move-result-object p1
|
|
|
|
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object p1
|
|
|
|
invoke-direct {v0, p1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
|
|
|
|
throw v0
|
|
|
|
:cond_1
|
|
return-void
|
|
.end method
|
|
|
|
.method public assertNotInLayoutOrScroll(Ljava/lang/String;)V
|
|
.locals 2
|
|
|
|
.line 3182
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isComputingLayout()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
if-nez p1, :cond_0
|
|
|
|
.line 3184
|
|
new-instance p1, Ljava/lang/IllegalStateException;
|
|
|
|
new-instance v0, Ljava/lang/StringBuilder;
|
|
|
|
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
|
|
|
|
const-string v1, "Cannot call this method while RecyclerView is computing a layout or scrolling"
|
|
|
|
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
.line 3185
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String;
|
|
|
|
move-result-object v1
|
|
|
|
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
|
|
|
|
throw p1
|
|
|
|
.line 3187
|
|
:cond_0
|
|
new-instance v0, Ljava/lang/IllegalStateException;
|
|
|
|
invoke-direct {v0, p1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
|
|
|
|
throw v0
|
|
|
|
:cond_1
|
|
iget p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchScrollCounter:I
|
|
|
|
if-lez p1, :cond_2
|
|
|
|
.line 3190
|
|
new-instance p1, Ljava/lang/IllegalStateException;
|
|
|
|
new-instance v0, Ljava/lang/StringBuilder;
|
|
|
|
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
|
|
|
|
const-string v1, ""
|
|
|
|
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
.line 3195
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String;
|
|
|
|
move-result-object v1
|
|
|
|
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
|
|
|
|
const-string v0, "RecyclerView"
|
|
|
|
const-string v1, "Cannot call this method in a scroll callback. Scroll callbacks mightbe run during a measure & layout pass where you cannot change theRecyclerView data. Any method call that might change the structureof the RecyclerView or the adapter contents should be postponed tothe next frame."
|
|
|
|
.line 3190
|
|
invoke-static {v0, v1, p1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
|
|
|
|
:cond_2
|
|
return-void
|
|
.end method
|
|
|
|
.method public canReuseUpdatedViewHolder(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Z
|
|
.locals 2
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
.line 4849
|
|
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getUnmodifiedPayloads()Ljava/util/List;
|
|
|
|
move-result-object v1
|
|
|
|
.line 4848
|
|
invoke-virtual {v0, p1, v1}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->canReuseUpdatedViewHolder(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Ljava/util/List;)Z
|
|
|
|
move-result p1
|
|
|
|
if-eqz p1, :cond_0
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
const/4 p1, 0x0
|
|
|
|
goto :goto_1
|
|
|
|
:cond_1
|
|
:goto_0
|
|
const/4 p1, 0x1
|
|
|
|
:goto_1
|
|
return p1
|
|
.end method
|
|
|
|
.method public checkLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Z
|
|
.locals 1
|
|
|
|
.line 4674
|
|
instance-of v0, p1, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
check-cast p1, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
|
|
|
|
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->checkLayoutParams(Landroidx/recyclerview/widget/RecyclerView$LayoutParams;)Z
|
|
|
|
move-result p1
|
|
|
|
if-eqz p1, :cond_0
|
|
|
|
const/4 p1, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
const/4 p1, 0x0
|
|
|
|
:goto_0
|
|
return p1
|
|
.end method
|
|
|
|
.method public clearOldPositions()V
|
|
.locals 4
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
|
|
|
|
.line 4728
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I
|
|
|
|
move-result v0
|
|
|
|
const/4 v1, 0x0
|
|
|
|
:goto_0
|
|
if-ge v1, v0, :cond_1
|
|
|
|
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
|
|
|
|
.line 4730
|
|
invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View;
|
|
|
|
move-result-object v2
|
|
|
|
invoke-static {v2}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
|
|
|
|
move-result-object v2
|
|
|
|
.line 4731
|
|
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
|
|
|
|
move-result v3
|
|
|
|
if-nez v3, :cond_0
|
|
|
|
.line 4732
|
|
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->clearOldPosition()V
|
|
|
|
:cond_0
|
|
add-int/lit8 v1, v1, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
|
|
|
|
.line 4735
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->clearOldPositions()V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public clearOnChildAttachStateChangeListeners()V
|
|
.locals 1
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 1360
|
|
invoke-interface {v0}, Ljava/util/List;->clear()V
|
|
|
|
:cond_0
|
|
return-void
|
|
.end method
|
|
|
|
.method public clearOnScrollListeners()V
|
|
.locals 1
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 1795
|
|
invoke-interface {v0}, Ljava/util/List;->clear()V
|
|
|
|
:cond_0
|
|
return-void
|
|
.end method
|
|
|
|
.method public computeHorizontalScrollExtent()I
|
|
.locals 2
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
const/4 v1, 0x0
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
return v1
|
|
|
|
.line 2158
|
|
:cond_0
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->computeHorizontalScrollExtent(Landroidx/recyclerview/widget/RecyclerView$State;)I
|
|
|
|
move-result v1
|
|
|
|
:cond_1
|
|
return v1
|
|
.end method
|
|
|
|
.method public computeHorizontalScrollOffset()I
|
|
.locals 2
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
const/4 v1, 0x0
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
return v1
|
|
|
|
.line 2133
|
|
:cond_0
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->computeHorizontalScrollOffset(Landroidx/recyclerview/widget/RecyclerView$State;)I
|
|
|
|
move-result v1
|
|
|
|
:cond_1
|
|
return v1
|
|
.end method
|
|
|
|
.method public computeHorizontalScrollRange()I
|
|
.locals 2
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
const/4 v1, 0x0
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
return v1
|
|
|
|
.line 2181
|
|
:cond_0
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->computeHorizontalScrollRange(Landroidx/recyclerview/widget/RecyclerView$State;)I
|
|
|
|
move-result v1
|
|
|
|
:cond_1
|
|
return v1
|
|
.end method
|
|
|
|
.method public computeVerticalScrollExtent()I
|
|
.locals 2
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
const/4 v1, 0x0
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
return v1
|
|
|
|
.line 2230
|
|
:cond_0
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->computeVerticalScrollExtent(Landroidx/recyclerview/widget/RecyclerView$State;)I
|
|
|
|
move-result v1
|
|
|
|
:cond_1
|
|
return v1
|
|
.end method
|
|
|
|
.method public computeVerticalScrollOffset()I
|
|
.locals 2
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
const/4 v1, 0x0
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
return v1
|
|
|
|
.line 2206
|
|
:cond_0
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->computeVerticalScrollOffset(Landroidx/recyclerview/widget/RecyclerView$State;)I
|
|
|
|
move-result v1
|
|
|
|
:cond_1
|
|
return v1
|
|
.end method
|
|
|
|
.method public computeVerticalScrollRange()I
|
|
.locals 2
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
const/4 v1, 0x0
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
return v1
|
|
|
|
.line 2253
|
|
:cond_0
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->computeVerticalScrollRange(Landroidx/recyclerview/widget/RecyclerView$State;)I
|
|
|
|
move-result v1
|
|
|
|
:cond_1
|
|
return v1
|
|
.end method
|
|
|
|
.method public considerReleasingGlowsOnScroll(II)V
|
|
.locals 2
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 2714
|
|
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
if-lez p1, :cond_0
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
|
|
|
|
.line 2715
|
|
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->onRelease()V
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
|
|
|
|
.line 2716
|
|
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z
|
|
|
|
move-result v0
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
const/4 v0, 0x0
|
|
|
|
:goto_0
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
|
|
|
|
if-eqz v1, :cond_1
|
|
|
|
.line 2718
|
|
invoke-virtual {v1}, Landroid/widget/EdgeEffect;->isFinished()Z
|
|
|
|
move-result v1
|
|
|
|
if-nez v1, :cond_1
|
|
|
|
if-gez p1, :cond_1
|
|
|
|
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
|
|
|
|
.line 2719
|
|
invoke-virtual {p1}, Landroid/widget/EdgeEffect;->onRelease()V
|
|
|
|
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
|
|
|
|
.line 2720
|
|
invoke-virtual {p1}, Landroid/widget/EdgeEffect;->isFinished()Z
|
|
|
|
move-result p1
|
|
|
|
or-int/2addr v0, p1
|
|
|
|
:cond_1
|
|
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
|
|
|
|
if-eqz p1, :cond_2
|
|
|
|
.line 2722
|
|
invoke-virtual {p1}, Landroid/widget/EdgeEffect;->isFinished()Z
|
|
|
|
move-result p1
|
|
|
|
if-nez p1, :cond_2
|
|
|
|
if-lez p2, :cond_2
|
|
|
|
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
|
|
|
|
.line 2723
|
|
invoke-virtual {p1}, Landroid/widget/EdgeEffect;->onRelease()V
|
|
|
|
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
|
|
|
|
.line 2724
|
|
invoke-virtual {p1}, Landroid/widget/EdgeEffect;->isFinished()Z
|
|
|
|
move-result p1
|
|
|
|
or-int/2addr v0, p1
|
|
|
|
:cond_2
|
|
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
|
|
|
|
if-eqz p1, :cond_3
|
|
|
|
.line 2726
|
|
invoke-virtual {p1}, Landroid/widget/EdgeEffect;->isFinished()Z
|
|
|
|
move-result p1
|
|
|
|
if-nez p1, :cond_3
|
|
|
|
if-gez p2, :cond_3
|
|
|
|
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
|
|
|
|
.line 2727
|
|
invoke-virtual {p1}, Landroid/widget/EdgeEffect;->onRelease()V
|
|
|
|
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
|
|
|
|
.line 2728
|
|
invoke-virtual {p1}, Landroid/widget/EdgeEffect;->isFinished()Z
|
|
|
|
move-result p1
|
|
|
|
or-int/2addr v0, p1
|
|
|
|
:cond_3
|
|
if-eqz v0, :cond_4
|
|
|
|
.line 2731
|
|
invoke-static {p0}, Landroidx/core/view/ViewCompat;->postInvalidateOnAnimation(Landroid/view/View;)V
|
|
|
|
:cond_4
|
|
return-void
|
|
.end method
|
|
|
|
.method public consumePendingUpdateOperations()V
|
|
.locals 3
|
|
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z
|
|
|
|
const-string v1, "RV FullInvalidate"
|
|
|
|
if-eqz v0, :cond_6
|
|
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
goto :goto_2
|
|
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
|
|
|
|
.line 2002
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->hasPendingUpdates()Z
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_1
|
|
|
|
return-void
|
|
|
|
:cond_1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
|
|
|
|
const/4 v2, 0x4
|
|
|
|
.line 2008
|
|
invoke-virtual {v0, v2}, Landroidx/recyclerview/widget/AdapterHelper;->hasAnyUpdateTypes(I)Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_4
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
|
|
|
|
const/16 v2, 0xb
|
|
|
|
.line 2009
|
|
invoke-virtual {v0, v2}, Landroidx/recyclerview/widget/AdapterHelper;->hasAnyUpdateTypes(I)Z
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_4
|
|
|
|
const-string v0, "RV PartialInvalidate"
|
|
|
|
.line 2011
|
|
invoke-static {v0}, Landroidx/core/os/TraceCompat;->beginSection(Ljava/lang/String;)V
|
|
|
|
.line 2012
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
|
|
|
|
.line 2013
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
|
|
|
|
.line 2014
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->preProcess()V
|
|
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z
|
|
|
|
if-nez v0, :cond_3
|
|
|
|
.line 2016
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->hasUpdatedView()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_2
|
|
|
|
.line 2017
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayout()V
|
|
|
|
goto :goto_0
|
|
|
|
:cond_2
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
|
|
|
|
.line 2020
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->consumePostponedUpdates()V
|
|
|
|
:cond_3
|
|
:goto_0
|
|
const/4 v0, 0x1
|
|
|
|
.line 2023
|
|
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
|
|
|
|
.line 2024
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V
|
|
|
|
.line 2025
|
|
invoke-static {}, Landroidx/core/os/TraceCompat;->endSection()V
|
|
|
|
goto :goto_1
|
|
|
|
:cond_4
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
|
|
|
|
.line 2026
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->hasPendingUpdates()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_5
|
|
|
|
.line 2027
|
|
invoke-static {v1}, Landroidx/core/os/TraceCompat;->beginSection(Ljava/lang/String;)V
|
|
|
|
.line 2028
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayout()V
|
|
|
|
.line 2029
|
|
invoke-static {}, Landroidx/core/os/TraceCompat;->endSection()V
|
|
|
|
:cond_5
|
|
:goto_1
|
|
return-void
|
|
|
|
.line 1997
|
|
:cond_6
|
|
:goto_2
|
|
invoke-static {v1}, Landroidx/core/os/TraceCompat;->beginSection(Ljava/lang/String;)V
|
|
|
|
.line 1998
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayout()V
|
|
|
|
.line 1999
|
|
invoke-static {}, Landroidx/core/os/TraceCompat;->endSection()V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public defaultOnMeasure(II)V
|
|
.locals 2
|
|
|
|
.line 3756
|
|
invoke-virtual {p0}, Landroid/view/View;->getPaddingLeft()I
|
|
|
|
move-result v0
|
|
|
|
invoke-virtual {p0}, Landroid/view/View;->getPaddingRight()I
|
|
|
|
move-result v1
|
|
|
|
add-int/2addr v0, v1
|
|
|
|
.line 3757
|
|
invoke-static {p0}, Landroidx/core/view/ViewCompat;->getMinimumWidth(Landroid/view/View;)I
|
|
|
|
move-result v1
|
|
|
|
.line 3755
|
|
invoke-static {p1, v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->chooseSize(III)I
|
|
|
|
move-result p1
|
|
|
|
.line 3759
|
|
invoke-virtual {p0}, Landroid/view/View;->getPaddingTop()I
|
|
|
|
move-result v0
|
|
|
|
invoke-virtual {p0}, Landroid/view/View;->getPaddingBottom()I
|
|
|
|
move-result v1
|
|
|
|
add-int/2addr v0, v1
|
|
|
|
.line 3760
|
|
invoke-static {p0}, Landroidx/core/view/ViewCompat;->getMinimumHeight(Landroid/view/View;)I
|
|
|
|
move-result v1
|
|
|
|
.line 3758
|
|
invoke-static {p2, v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->chooseSize(III)I
|
|
|
|
move-result p2
|
|
|
|
.line 3762
|
|
invoke-virtual {p0, p1, p2}, Landroid/view/View;->setMeasuredDimension(II)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public dispatchChildAttached(Landroid/view/View;)V
|
|
.locals 2
|
|
|
|
.line 7864
|
|
invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
|
|
|
|
move-result-object v0
|
|
|
|
.line 7865
|
|
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->onChildAttachedToWindow(Landroid/view/View;)V
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
|
|
|
if-eqz v1, :cond_0
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 7867
|
|
invoke-virtual {v1, v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->onViewAttachedToWindow(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
|
|
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List;
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
.line 7870
|
|
invoke-interface {v0}, Ljava/util/List;->size()I
|
|
|
|
move-result v0
|
|
|
|
add-int/lit8 v0, v0, -0x1
|
|
|
|
:goto_0
|
|
if-ltz v0, :cond_1
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List;
|
|
|
|
.line 7872
|
|
invoke-interface {v1, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
|
|
|
|
move-result-object v1
|
|
|
|
check-cast v1, Landroidx/recyclerview/widget/RecyclerView$OnChildAttachStateChangeListener;
|
|
|
|
invoke-interface {v1, p1}, Landroidx/recyclerview/widget/RecyclerView$OnChildAttachStateChangeListener;->onChildViewAttachedToWindow(Landroid/view/View;)V
|
|
|
|
add-int/lit8 v0, v0, -0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_1
|
|
return-void
|
|
.end method
|
|
|
|
.method public dispatchChildDetached(Landroid/view/View;)V
|
|
.locals 2
|
|
|
|
.line 7849
|
|
invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
|
|
|
|
move-result-object v0
|
|
|
|
.line 7850
|
|
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->onChildDetachedFromWindow(Landroid/view/View;)V
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
|
|
|
if-eqz v1, :cond_0
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 7852
|
|
invoke-virtual {v1, v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->onViewDetachedFromWindow(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
|
|
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List;
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
.line 7855
|
|
invoke-interface {v0}, Ljava/util/List;->size()I
|
|
|
|
move-result v0
|
|
|
|
add-int/lit8 v0, v0, -0x1
|
|
|
|
:goto_0
|
|
if-ltz v0, :cond_1
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List;
|
|
|
|
.line 7857
|
|
invoke-interface {v1, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
|
|
|
|
move-result-object v1
|
|
|
|
check-cast v1, Landroidx/recyclerview/widget/RecyclerView$OnChildAttachStateChangeListener;
|
|
|
|
invoke-interface {v1, p1}, Landroidx/recyclerview/widget/RecyclerView$OnChildAttachStateChangeListener;->onChildViewDetachedFromWindow(Landroid/view/View;)V
|
|
|
|
add-int/lit8 v0, v0, -0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_1
|
|
return-void
|
|
.end method
|
|
|
|
.method public dispatchLayout()V
|
|
.locals 4
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
|
|
|
const-string v1, "RecyclerView"
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
const-string v0, "No adapter attached; skipping layout"
|
|
|
|
.line 3987
|
|
invoke-static {v1, v0}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
|
|
|
|
return-void
|
|
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
if-nez v0, :cond_1
|
|
|
|
const-string v0, "No layout manager attached; skipping layout"
|
|
|
|
.line 3992
|
|
invoke-static {v1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
|
|
|
|
return-void
|
|
|
|
:cond_1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
const/4 v1, 0x0
|
|
|
|
.line 3996
|
|
iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mIsMeasuring:Z
|
|
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureSkippedDueToExact:Z
|
|
|
|
const/4 v2, 0x1
|
|
|
|
if-eqz v0, :cond_3
|
|
|
|
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureNonExactMeasuredWidth:I
|
|
|
|
.line 4003
|
|
invoke-virtual {p0}, Landroid/view/View;->getWidth()I
|
|
|
|
move-result v3
|
|
|
|
if-ne v0, v3, :cond_2
|
|
|
|
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureNonExactMeasuredHeight:I
|
|
|
|
.line 4004
|
|
invoke-virtual {p0}, Landroid/view/View;->getHeight()I
|
|
|
|
move-result v3
|
|
|
|
if-eq v0, v3, :cond_3
|
|
|
|
:cond_2
|
|
move v0, v2
|
|
|
|
goto :goto_0
|
|
|
|
:cond_3
|
|
move v0, v1
|
|
|
|
:goto_0
|
|
iput v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureNonExactMeasuredWidth:I
|
|
|
|
iput v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureNonExactMeasuredHeight:I
|
|
|
|
iput-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureSkippedDueToExact:Z
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
.line 4009
|
|
iget v1, v1, Landroidx/recyclerview/widget/RecyclerView$State;->mLayoutStep:I
|
|
|
|
if-ne v1, v2, :cond_4
|
|
|
|
.line 4010
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep1()V
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
.line 4011
|
|
invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setExactMeasureSpecsFrom(Landroidx/recyclerview/widget/RecyclerView;)V
|
|
|
|
.line 4012
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep2()V
|
|
|
|
goto :goto_2
|
|
|
|
:cond_4
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
|
|
|
|
.line 4013
|
|
invoke-virtual {v1}, Landroidx/recyclerview/widget/AdapterHelper;->hasUpdates()Z
|
|
|
|
move-result v1
|
|
|
|
if-nez v1, :cond_6
|
|
|
|
if-nez v0, :cond_6
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
.line 4015
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->getWidth()I
|
|
|
|
move-result v0
|
|
|
|
invoke-virtual {p0}, Landroid/view/View;->getWidth()I
|
|
|
|
move-result v1
|
|
|
|
if-ne v0, v1, :cond_6
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
.line 4016
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->getHeight()I
|
|
|
|
move-result v0
|
|
|
|
invoke-virtual {p0}, Landroid/view/View;->getHeight()I
|
|
|
|
move-result v1
|
|
|
|
if-eq v0, v1, :cond_5
|
|
|
|
goto :goto_1
|
|
|
|
:cond_5
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
.line 4029
|
|
invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setExactMeasureSpecsFrom(Landroidx/recyclerview/widget/RecyclerView;)V
|
|
|
|
goto :goto_2
|
|
|
|
:cond_6
|
|
:goto_1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
.line 4025
|
|
invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setExactMeasureSpecsFrom(Landroidx/recyclerview/widget/RecyclerView;)V
|
|
|
|
.line 4026
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep2()V
|
|
|
|
.line 4031
|
|
:goto_2
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep3()V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public dispatchNestedFling(FFZ)Z
|
|
.locals 1
|
|
|
|
.line 11960
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-virtual {v0, p1, p2, p3}, Landroidx/core/view/NestedScrollingChildHelper;->dispatchNestedFling(FFZ)Z
|
|
|
|
move-result p1
|
|
|
|
return p1
|
|
.end method
|
|
|
|
.method public dispatchNestedPreFling(FF)Z
|
|
.locals 1
|
|
|
|
.line 11965
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-virtual {v0, p1, p2}, Landroidx/core/view/NestedScrollingChildHelper;->dispatchNestedPreFling(FF)Z
|
|
|
|
move-result p1
|
|
|
|
return p1
|
|
.end method
|
|
|
|
.method public dispatchNestedPreScroll(II[I[I)Z
|
|
.locals 1
|
|
|
|
.line 11948
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-virtual {v0, p1, p2, p3, p4}, Landroidx/core/view/NestedScrollingChildHelper;->dispatchNestedPreScroll(II[I[I)Z
|
|
|
|
move-result p1
|
|
|
|
return p1
|
|
.end method
|
|
|
|
.method public dispatchNestedPreScroll(II[I[II)Z
|
|
.locals 6
|
|
|
|
.line 11954
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
|
|
|
|
move-result-object v0
|
|
|
|
move v1, p1
|
|
|
|
move v2, p2
|
|
|
|
move-object v3, p3
|
|
|
|
move-object v4, p4
|
|
|
|
move v5, p5
|
|
|
|
invoke-virtual/range {v0 .. v5}, Landroidx/core/view/NestedScrollingChildHelper;->dispatchNestedPreScroll(II[I[II)Z
|
|
|
|
move-result p1
|
|
|
|
return p1
|
|
.end method
|
|
|
|
.method public final dispatchNestedScroll(IIII[II[I)V
|
|
.locals 8
|
|
.param p7 # [I
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
|
|
.line 11942
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
|
|
|
|
move-result-object v0
|
|
|
|
move v1, p1
|
|
|
|
move v2, p2
|
|
|
|
move v3, p3
|
|
|
|
move v4, p4
|
|
|
|
move-object v5, p5
|
|
|
|
move v6, p6
|
|
|
|
move-object v7, p7
|
|
|
|
invoke-virtual/range {v0 .. v7}, Landroidx/core/view/NestedScrollingChildHelper;->dispatchNestedScroll(IIII[II[I)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public dispatchNestedScroll(IIII[I)Z
|
|
.locals 6
|
|
|
|
.line 11928
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
|
|
|
|
move-result-object v0
|
|
|
|
move v1, p1
|
|
|
|
move v2, p2
|
|
|
|
move v3, p3
|
|
|
|
move v4, p4
|
|
|
|
move-object v5, p5
|
|
|
|
invoke-virtual/range {v0 .. v5}, Landroidx/core/view/NestedScrollingChildHelper;->dispatchNestedScroll(IIII[I)Z
|
|
|
|
move-result p1
|
|
|
|
return p1
|
|
.end method
|
|
|
|
.method public dispatchNestedScroll(IIII[II)Z
|
|
.locals 7
|
|
|
|
.line 11935
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
|
|
|
|
move-result-object v0
|
|
|
|
move v1, p1
|
|
|
|
move v2, p2
|
|
|
|
move v3, p3
|
|
|
|
move v4, p4
|
|
|
|
move-object v5, p5
|
|
|
|
move v6, p6
|
|
|
|
invoke-virtual/range {v0 .. v6}, Landroidx/core/view/NestedScrollingChildHelper;->dispatchNestedScroll(IIII[II)Z
|
|
|
|
move-result p1
|
|
|
|
return p1
|
|
.end method
|
|
|
|
.method public dispatchOnScrollStateChanged(I)V
|
|
.locals 2
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 5371
|
|
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onScrollStateChanged(I)V
|
|
|
|
.line 5376
|
|
:cond_0
|
|
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->onScrollStateChanged(I)V
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListener:Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
.line 5380
|
|
invoke-virtual {v0, p0, p1}, Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;->onScrollStateChanged(Landroidx/recyclerview/widget/RecyclerView;I)V
|
|
|
|
:cond_1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List;
|
|
|
|
if-eqz v0, :cond_2
|
|
|
|
.line 5383
|
|
invoke-interface {v0}, Ljava/util/List;->size()I
|
|
|
|
move-result v0
|
|
|
|
add-int/lit8 v0, v0, -0x1
|
|
|
|
:goto_0
|
|
if-ltz v0, :cond_2
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List;
|
|
|
|
.line 5384
|
|
invoke-interface {v1, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
|
|
|
|
move-result-object v1
|
|
|
|
check-cast v1, Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;
|
|
|
|
invoke-virtual {v1, p0, p1}, Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;->onScrollStateChanged(Landroidx/recyclerview/widget/RecyclerView;I)V
|
|
|
|
add-int/lit8 v0, v0, -0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_2
|
|
return-void
|
|
.end method
|
|
|
|
.method public dispatchOnScrolled(II)V
|
|
.locals 4
|
|
|
|
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchScrollCounter:I
|
|
|
|
add-int/lit8 v0, v0, 0x1
|
|
|
|
iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchScrollCounter:I
|
|
|
|
.line 5333
|
|
invoke-virtual {p0}, Landroid/view/View;->getScrollX()I
|
|
|
|
move-result v0
|
|
|
|
.line 5334
|
|
invoke-virtual {p0}, Landroid/view/View;->getScrollY()I
|
|
|
|
move-result v1
|
|
|
|
sub-int v2, v0, p1
|
|
|
|
sub-int v3, v1, p2
|
|
|
|
.line 5335
|
|
invoke-virtual {p0, v0, v1, v2, v3}, Landroid/view/View;->onScrollChanged(IIII)V
|
|
|
|
.line 5338
|
|
invoke-virtual {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->onScrolled(II)V
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListener:Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 5343
|
|
invoke-virtual {v0, p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;->onScrolled(Landroidx/recyclerview/widget/RecyclerView;II)V
|
|
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List;
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
.line 5346
|
|
invoke-interface {v0}, Ljava/util/List;->size()I
|
|
|
|
move-result v0
|
|
|
|
add-int/lit8 v0, v0, -0x1
|
|
|
|
:goto_0
|
|
if-ltz v0, :cond_1
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List;
|
|
|
|
.line 5347
|
|
invoke-interface {v1, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
|
|
|
|
move-result-object v1
|
|
|
|
check-cast v1, Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;
|
|
|
|
invoke-virtual {v1, p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;->onScrolled(Landroidx/recyclerview/widget/RecyclerView;II)V
|
|
|
|
add-int/lit8 v0, v0, -0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_1
|
|
iget p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchScrollCounter:I
|
|
|
|
add-int/lit8 p1, p1, -0x1
|
|
|
|
iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchScrollCounter:I
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public dispatchPendingImportantForAccessibilityChanges()V
|
|
.locals 5
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingAccessibilityImportanceChange:Ljava/util/List;
|
|
|
|
.line 11839
|
|
invoke-interface {v0}, Ljava/util/List;->size()I
|
|
|
|
move-result v0
|
|
|
|
add-int/lit8 v0, v0, -0x1
|
|
|
|
:goto_0
|
|
if-ltz v0, :cond_2
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingAccessibilityImportanceChange:Ljava/util/List;
|
|
|
|
.line 11840
|
|
invoke-interface {v1, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
|
|
|
|
move-result-object v1
|
|
|
|
check-cast v1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
|
|
|
|
.line 11841
|
|
iget-object v2, v1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
|
|
|
|
invoke-virtual {v2}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
|
|
|
|
move-result-object v2
|
|
|
|
if-ne v2, p0, :cond_1
|
|
|
|
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
|
|
|
|
move-result v2
|
|
|
|
if-eqz v2, :cond_0
|
|
|
|
goto :goto_1
|
|
|
|
.line 11844
|
|
:cond_0
|
|
iget v2, v1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPendingAccessibilityState:I
|
|
|
|
const/4 v3, -0x1
|
|
|
|
if-eq v2, v3, :cond_1
|
|
|
|
.line 11847
|
|
iget-object v4, v1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
|
|
|
|
invoke-static {v4, v2}, Landroidx/core/view/ViewCompat;->setImportantForAccessibility(Landroid/view/View;I)V
|
|
|
|
.line 11848
|
|
iput v3, v1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPendingAccessibilityState:I
|
|
|
|
:cond_1
|
|
:goto_1
|
|
add-int/lit8 v0, v0, -0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_2
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingAccessibilityImportanceChange:Ljava/util/List;
|
|
|
|
.line 11852
|
|
invoke-interface {v0}, Ljava/util/List;->clear()V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public dispatchPopulateAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)Z
|
|
.locals 0
|
|
|
|
.line 3890
|
|
invoke-virtual {p0, p1}, Landroid/view/View;->onPopulateAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)V
|
|
|
|
const/4 p1, 0x1
|
|
|
|
return p1
|
|
.end method
|
|
|
|
.method public dispatchRestoreInstanceState(Landroid/util/SparseArray;)V
|
|
.locals 0
|
|
.annotation system Ldalvik/annotation/Signature;
|
|
value = {
|
|
"(",
|
|
"Landroid/util/SparseArray<",
|
|
"Landroid/os/Parcelable;",
|
|
">;)V"
|
|
}
|
|
.end annotation
|
|
|
|
.line 1486
|
|
invoke-virtual {p0, p1}, Landroid/view/ViewGroup;->dispatchThawSelfOnly(Landroid/util/SparseArray;)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public dispatchSaveInstanceState(Landroid/util/SparseArray;)V
|
|
.locals 0
|
|
.annotation system Ldalvik/annotation/Signature;
|
|
value = {
|
|
"(",
|
|
"Landroid/util/SparseArray<",
|
|
"Landroid/os/Parcelable;",
|
|
">;)V"
|
|
}
|
|
.end annotation
|
|
|
|
.line 1478
|
|
invoke-virtual {p0, p1}, Landroid/view/ViewGroup;->dispatchFreezeSelfOnly(Landroid/util/SparseArray;)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public draw(Landroid/graphics/Canvas;)V
|
|
.locals 7
|
|
|
|
.line 4603
|
|
invoke-super {p0, p1}, Landroid/view/View;->draw(Landroid/graphics/Canvas;)V
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
|
|
|
|
.line 4605
|
|
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
|
|
|
|
move-result v0
|
|
|
|
const/4 v1, 0x0
|
|
|
|
move v2, v1
|
|
|
|
:goto_0
|
|
if-ge v2, v0, :cond_0
|
|
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
|
|
|
|
.line 4607
|
|
invoke-virtual {v3, v2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
|
|
|
|
move-result-object v3
|
|
|
|
check-cast v3, Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;
|
|
|
|
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
invoke-virtual {v3, p1, p0, v4}, Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;->onDrawOver(Landroid/graphics/Canvas;Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$State;)V
|
|
|
|
add-int/lit8 v2, v2, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
|
|
|
|
const/4 v2, 0x1
|
|
|
|
if-eqz v0, :cond_3
|
|
|
|
.line 4612
|
|
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_3
|
|
|
|
.line 4613
|
|
invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I
|
|
|
|
move-result v0
|
|
|
|
iget-boolean v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
|
|
|
|
if-eqz v3, :cond_1
|
|
|
|
.line 4614
|
|
invoke-virtual {p0}, Landroid/view/View;->getPaddingBottom()I
|
|
|
|
move-result v3
|
|
|
|
goto :goto_1
|
|
|
|
:cond_1
|
|
move v3, v1
|
|
|
|
:goto_1
|
|
const/high16 v4, 0x43870000 # 270.0f
|
|
|
|
.line 4615
|
|
invoke-virtual {p1, v4}, Landroid/graphics/Canvas;->rotate(F)V
|
|
|
|
.line 4616
|
|
invoke-virtual {p0}, Landroid/view/View;->getHeight()I
|
|
|
|
move-result v4
|
|
|
|
neg-int v4, v4
|
|
|
|
add-int/2addr v4, v3
|
|
|
|
int-to-float v3, v4
|
|
|
|
const/4 v4, 0x0
|
|
|
|
invoke-virtual {p1, v3, v4}, Landroid/graphics/Canvas;->translate(FF)V
|
|
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
|
|
|
|
if-eqz v3, :cond_2
|
|
|
|
.line 4617
|
|
invoke-virtual {v3, p1}, Landroid/widget/EdgeEffect;->draw(Landroid/graphics/Canvas;)Z
|
|
|
|
move-result v3
|
|
|
|
if-eqz v3, :cond_2
|
|
|
|
move v3, v2
|
|
|
|
goto :goto_2
|
|
|
|
:cond_2
|
|
move v3, v1
|
|
|
|
.line 4618
|
|
:goto_2
|
|
invoke-virtual {p1, v0}, Landroid/graphics/Canvas;->restoreToCount(I)V
|
|
|
|
goto :goto_3
|
|
|
|
:cond_3
|
|
move v3, v1
|
|
|
|
:goto_3
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
|
|
|
|
if-eqz v0, :cond_6
|
|
|
|
.line 4620
|
|
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_6
|
|
|
|
.line 4621
|
|
invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I
|
|
|
|
move-result v0
|
|
|
|
iget-boolean v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
|
|
|
|
if-eqz v4, :cond_4
|
|
|
|
.line 4623
|
|
invoke-virtual {p0}, Landroid/view/View;->getPaddingLeft()I
|
|
|
|
move-result v4
|
|
|
|
int-to-float v4, v4
|
|
|
|
invoke-virtual {p0}, Landroid/view/View;->getPaddingTop()I
|
|
|
|
move-result v5
|
|
|
|
int-to-float v5, v5
|
|
|
|
invoke-virtual {p1, v4, v5}, Landroid/graphics/Canvas;->translate(FF)V
|
|
|
|
:cond_4
|
|
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
|
|
|
|
if-eqz v4, :cond_5
|
|
|
|
.line 4625
|
|
invoke-virtual {v4, p1}, Landroid/widget/EdgeEffect;->draw(Landroid/graphics/Canvas;)Z
|
|
|
|
move-result v4
|
|
|
|
if-eqz v4, :cond_5
|
|
|
|
move v4, v2
|
|
|
|
goto :goto_4
|
|
|
|
:cond_5
|
|
move v4, v1
|
|
|
|
:goto_4
|
|
or-int/2addr v3, v4
|
|
|
|
.line 4626
|
|
invoke-virtual {p1, v0}, Landroid/graphics/Canvas;->restoreToCount(I)V
|
|
|
|
:cond_6
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
|
|
|
|
if-eqz v0, :cond_9
|
|
|
|
.line 4628
|
|
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_9
|
|
|
|
.line 4629
|
|
invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I
|
|
|
|
move-result v0
|
|
|
|
.line 4630
|
|
invoke-virtual {p0}, Landroid/view/View;->getWidth()I
|
|
|
|
move-result v4
|
|
|
|
iget-boolean v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
|
|
|
|
if-eqz v5, :cond_7
|
|
|
|
.line 4631
|
|
invoke-virtual {p0}, Landroid/view/View;->getPaddingTop()I
|
|
|
|
move-result v5
|
|
|
|
goto :goto_5
|
|
|
|
:cond_7
|
|
move v5, v1
|
|
|
|
:goto_5
|
|
const/high16 v6, 0x42b40000 # 90.0f
|
|
|
|
.line 4632
|
|
invoke-virtual {p1, v6}, Landroid/graphics/Canvas;->rotate(F)V
|
|
|
|
int-to-float v5, v5
|
|
|
|
neg-int v4, v4
|
|
|
|
int-to-float v4, v4
|
|
|
|
.line 4633
|
|
invoke-virtual {p1, v5, v4}, Landroid/graphics/Canvas;->translate(FF)V
|
|
|
|
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
|
|
|
|
if-eqz v4, :cond_8
|
|
|
|
.line 4634
|
|
invoke-virtual {v4, p1}, Landroid/widget/EdgeEffect;->draw(Landroid/graphics/Canvas;)Z
|
|
|
|
move-result v4
|
|
|
|
if-eqz v4, :cond_8
|
|
|
|
move v4, v2
|
|
|
|
goto :goto_6
|
|
|
|
:cond_8
|
|
move v4, v1
|
|
|
|
:goto_6
|
|
or-int/2addr v3, v4
|
|
|
|
.line 4635
|
|
invoke-virtual {p1, v0}, Landroid/graphics/Canvas;->restoreToCount(I)V
|
|
|
|
:cond_9
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
|
|
|
|
if-eqz v0, :cond_c
|
|
|
|
.line 4637
|
|
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_c
|
|
|
|
.line 4638
|
|
invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I
|
|
|
|
move-result v0
|
|
|
|
const/high16 v4, 0x43340000 # 180.0f
|
|
|
|
.line 4639
|
|
invoke-virtual {p1, v4}, Landroid/graphics/Canvas;->rotate(F)V
|
|
|
|
iget-boolean v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
|
|
|
|
if-eqz v4, :cond_a
|
|
|
|
.line 4641
|
|
invoke-virtual {p0}, Landroid/view/View;->getWidth()I
|
|
|
|
move-result v4
|
|
|
|
neg-int v4, v4
|
|
|
|
invoke-virtual {p0}, Landroid/view/View;->getPaddingRight()I
|
|
|
|
move-result v5
|
|
|
|
add-int/2addr v4, v5
|
|
|
|
int-to-float v4, v4
|
|
|
|
invoke-virtual {p0}, Landroid/view/View;->getHeight()I
|
|
|
|
move-result v5
|
|
|
|
neg-int v5, v5
|
|
|
|
invoke-virtual {p0}, Landroid/view/View;->getPaddingBottom()I
|
|
|
|
move-result v6
|
|
|
|
add-int/2addr v5, v6
|
|
|
|
int-to-float v5, v5
|
|
|
|
invoke-virtual {p1, v4, v5}, Landroid/graphics/Canvas;->translate(FF)V
|
|
|
|
goto :goto_7
|
|
|
|
.line 4643
|
|
:cond_a
|
|
invoke-virtual {p0}, Landroid/view/View;->getWidth()I
|
|
|
|
move-result v4
|
|
|
|
neg-int v4, v4
|
|
|
|
int-to-float v4, v4
|
|
|
|
invoke-virtual {p0}, Landroid/view/View;->getHeight()I
|
|
|
|
move-result v5
|
|
|
|
neg-int v5, v5
|
|
|
|
int-to-float v5, v5
|
|
|
|
invoke-virtual {p1, v4, v5}, Landroid/graphics/Canvas;->translate(FF)V
|
|
|
|
:goto_7
|
|
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
|
|
|
|
if-eqz v4, :cond_b
|
|
|
|
.line 4645
|
|
invoke-virtual {v4, p1}, Landroid/widget/EdgeEffect;->draw(Landroid/graphics/Canvas;)Z
|
|
|
|
move-result v4
|
|
|
|
if-eqz v4, :cond_b
|
|
|
|
move v1, v2
|
|
|
|
:cond_b
|
|
or-int/2addr v3, v1
|
|
|
|
.line 4646
|
|
invoke-virtual {p1, v0}, Landroid/graphics/Canvas;->restoreToCount(I)V
|
|
|
|
:cond_c
|
|
if-nez v3, :cond_d
|
|
|
|
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
|
|
|
|
if-eqz p1, :cond_d
|
|
|
|
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
|
|
|
|
.line 4652
|
|
invoke-virtual {p1}, Ljava/util/ArrayList;->size()I
|
|
|
|
move-result p1
|
|
|
|
if-lez p1, :cond_d
|
|
|
|
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
|
|
|
|
.line 4653
|
|
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->isRunning()Z
|
|
|
|
move-result p1
|
|
|
|
if-eqz p1, :cond_d
|
|
|
|
goto :goto_8
|
|
|
|
:cond_d
|
|
if-eqz v3, :cond_e
|
|
|
|
.line 4658
|
|
:goto_8
|
|
invoke-static {p0}, Landroidx/core/view/ViewCompat;->postInvalidateOnAnimation(Landroid/view/View;)V
|
|
|
|
:cond_e
|
|
return-void
|
|
.end method
|
|
|
|
.method public drawChild(Landroid/graphics/Canvas;Landroid/view/View;J)Z
|
|
.locals 0
|
|
|
|
.line 5204
|
|
invoke-super {p0, p1, p2, p3, p4}, Landroid/view/ViewGroup;->drawChild(Landroid/graphics/Canvas;Landroid/view/View;J)Z
|
|
|
|
move-result p1
|
|
|
|
return p1
|
|
.end method
|
|
|
|
.method public ensureBottomGlow()V
|
|
.locals 4
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
return-void
|
|
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;
|
|
|
|
const/4 v1, 0x3
|
|
|
|
.line 2809
|
|
invoke-virtual {v0, p0, v1}, Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;->createEdgeEffect(Landroidx/recyclerview/widget/RecyclerView;I)Landroid/widget/EdgeEffect;
|
|
|
|
move-result-object v0
|
|
|
|
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
|
|
|
|
iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
|
|
|
|
if-eqz v1, :cond_1
|
|
|
|
.line 2811
|
|
invoke-virtual {p0}, Landroid/view/View;->getMeasuredWidth()I
|
|
|
|
move-result v1
|
|
|
|
invoke-virtual {p0}, Landroid/view/View;->getPaddingLeft()I
|
|
|
|
move-result v2
|
|
|
|
sub-int/2addr v1, v2
|
|
|
|
invoke-virtual {p0}, Landroid/view/View;->getPaddingRight()I
|
|
|
|
move-result v2
|
|
|
|
sub-int/2addr v1, v2
|
|
|
|
.line 2812
|
|
invoke-virtual {p0}, Landroid/view/View;->getMeasuredHeight()I
|
|
|
|
move-result v2
|
|
|
|
invoke-virtual {p0}, Landroid/view/View;->getPaddingTop()I
|
|
|
|
move-result v3
|
|
|
|
sub-int/2addr v2, v3
|
|
|
|
invoke-virtual {p0}, Landroid/view/View;->getPaddingBottom()I
|
|
|
|
move-result v3
|
|
|
|
sub-int/2addr v2, v3
|
|
|
|
.line 2811
|
|
invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V
|
|
|
|
goto :goto_0
|
|
|
|
.line 2814
|
|
:cond_1
|
|
invoke-virtual {p0}, Landroid/view/View;->getMeasuredWidth()I
|
|
|
|
move-result v1
|
|
|
|
invoke-virtual {p0}, Landroid/view/View;->getMeasuredHeight()I
|
|
|
|
move-result v2
|
|
|
|
invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V
|
|
|
|
:goto_0
|
|
return-void
|
|
.end method
|
|
|
|
.method public ensureLeftGlow()V
|
|
.locals 4
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
return-void
|
|
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;
|
|
|
|
const/4 v1, 0x0
|
|
|
|
.line 2769
|
|
invoke-virtual {v0, p0, v1}, Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;->createEdgeEffect(Landroidx/recyclerview/widget/RecyclerView;I)Landroid/widget/EdgeEffect;
|
|
|
|
move-result-object v0
|
|
|
|
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
|
|
|
|
iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
|
|
|
|
if-eqz v1, :cond_1
|
|
|
|
.line 2771
|
|
invoke-virtual {p0}, Landroid/view/View;->getMeasuredHeight()I
|
|
|
|
move-result v1
|
|
|
|
invoke-virtual {p0}, Landroid/view/View;->getPaddingTop()I
|
|
|
|
move-result v2
|
|
|
|
sub-int/2addr v1, v2
|
|
|
|
invoke-virtual {p0}, Landroid/view/View;->getPaddingBottom()I
|
|
|
|
move-result v2
|
|
|
|
sub-int/2addr v1, v2
|
|
|
|
.line 2772
|
|
invoke-virtual {p0}, Landroid/view/View;->getMeasuredWidth()I
|
|
|
|
move-result v2
|
|
|
|
invoke-virtual {p0}, Landroid/view/View;->getPaddingLeft()I
|
|
|
|
move-result v3
|
|
|
|
sub-int/2addr v2, v3
|
|
|
|
invoke-virtual {p0}, Landroid/view/View;->getPaddingRight()I
|
|
|
|
move-result v3
|
|
|
|
sub-int/2addr v2, v3
|
|
|
|
.line 2771
|
|
invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V
|
|
|
|
goto :goto_0
|
|
|
|
.line 2774
|
|
:cond_1
|
|
invoke-virtual {p0}, Landroid/view/View;->getMeasuredHeight()I
|
|
|
|
move-result v1
|
|
|
|
invoke-virtual {p0}, Landroid/view/View;->getMeasuredWidth()I
|
|
|
|
move-result v2
|
|
|
|
invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V
|
|
|
|
:goto_0
|
|
return-void
|
|
.end method
|
|
|
|
.method public ensureRightGlow()V
|
|
.locals 4
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
return-void
|
|
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;
|
|
|
|
const/4 v1, 0x2
|
|
|
|
.line 2782
|
|
invoke-virtual {v0, p0, v1}, Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;->createEdgeEffect(Landroidx/recyclerview/widget/RecyclerView;I)Landroid/widget/EdgeEffect;
|
|
|
|
move-result-object v0
|
|
|
|
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
|
|
|
|
iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
|
|
|
|
if-eqz v1, :cond_1
|
|
|
|
.line 2784
|
|
invoke-virtual {p0}, Landroid/view/View;->getMeasuredHeight()I
|
|
|
|
move-result v1
|
|
|
|
invoke-virtual {p0}, Landroid/view/View;->getPaddingTop()I
|
|
|
|
move-result v2
|
|
|
|
sub-int/2addr v1, v2
|
|
|
|
invoke-virtual {p0}, Landroid/view/View;->getPaddingBottom()I
|
|
|
|
move-result v2
|
|
|
|
sub-int/2addr v1, v2
|
|
|
|
.line 2785
|
|
invoke-virtual {p0}, Landroid/view/View;->getMeasuredWidth()I
|
|
|
|
move-result v2
|
|
|
|
invoke-virtual {p0}, Landroid/view/View;->getPaddingLeft()I
|
|
|
|
move-result v3
|
|
|
|
sub-int/2addr v2, v3
|
|
|
|
invoke-virtual {p0}, Landroid/view/View;->getPaddingRight()I
|
|
|
|
move-result v3
|
|
|
|
sub-int/2addr v2, v3
|
|
|
|
.line 2784
|
|
invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V
|
|
|
|
goto :goto_0
|
|
|
|
.line 2787
|
|
:cond_1
|
|
invoke-virtual {p0}, Landroid/view/View;->getMeasuredHeight()I
|
|
|
|
move-result v1
|
|
|
|
invoke-virtual {p0}, Landroid/view/View;->getMeasuredWidth()I
|
|
|
|
move-result v2
|
|
|
|
invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V
|
|
|
|
:goto_0
|
|
return-void
|
|
.end method
|
|
|
|
.method public ensureTopGlow()V
|
|
.locals 4
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
return-void
|
|
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;
|
|
|
|
const/4 v1, 0x1
|
|
|
|
.line 2795
|
|
invoke-virtual {v0, p0, v1}, Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;->createEdgeEffect(Landroidx/recyclerview/widget/RecyclerView;I)Landroid/widget/EdgeEffect;
|
|
|
|
move-result-object v0
|
|
|
|
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
|
|
|
|
iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
|
|
|
|
if-eqz v1, :cond_1
|
|
|
|
.line 2797
|
|
invoke-virtual {p0}, Landroid/view/View;->getMeasuredWidth()I
|
|
|
|
move-result v1
|
|
|
|
invoke-virtual {p0}, Landroid/view/View;->getPaddingLeft()I
|
|
|
|
move-result v2
|
|
|
|
sub-int/2addr v1, v2
|
|
|
|
invoke-virtual {p0}, Landroid/view/View;->getPaddingRight()I
|
|
|
|
move-result v2
|
|
|
|
sub-int/2addr v1, v2
|
|
|
|
.line 2798
|
|
invoke-virtual {p0}, Landroid/view/View;->getMeasuredHeight()I
|
|
|
|
move-result v2
|
|
|
|
invoke-virtual {p0}, Landroid/view/View;->getPaddingTop()I
|
|
|
|
move-result v3
|
|
|
|
sub-int/2addr v2, v3
|
|
|
|
invoke-virtual {p0}, Landroid/view/View;->getPaddingBottom()I
|
|
|
|
move-result v3
|
|
|
|
sub-int/2addr v2, v3
|
|
|
|
.line 2797
|
|
invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V
|
|
|
|
goto :goto_0
|
|
|
|
.line 2800
|
|
:cond_1
|
|
invoke-virtual {p0}, Landroid/view/View;->getMeasuredWidth()I
|
|
|
|
move-result v1
|
|
|
|
invoke-virtual {p0}, Landroid/view/View;->getMeasuredHeight()I
|
|
|
|
move-result v2
|
|
|
|
invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V
|
|
|
|
:goto_0
|
|
return-void
|
|
.end method
|
|
|
|
.method public exceptionLabel()Ljava/lang/String;
|
|
.locals 2
|
|
|
|
.line 764
|
|
new-instance v0, Ljava/lang/StringBuilder;
|
|
|
|
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
|
|
|
|
const-string v1, " "
|
|
|
|
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-super {p0}, Ljava/lang/Object;->toString()Ljava/lang/String;
|
|
|
|
move-result-object v1
|
|
|
|
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
const-string v1, ", adapter:"
|
|
|
|
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
|
|
|
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
|
|
|
|
const-string v1, ", layout:"
|
|
|
|
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
|
|
|
|
const-string v1, ", context:"
|
|
|
|
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
.line 767
|
|
invoke-virtual {p0}, Landroid/view/View;->getContext()Landroid/content/Context;
|
|
|
|
move-result-object v1
|
|
|
|
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object v0
|
|
|
|
return-object v0
|
|
.end method
|
|
|
|
.method public final fillRemainingScrollValues(Landroidx/recyclerview/widget/RecyclerView$State;)V
|
|
.locals 3
|
|
|
|
.line 4185
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollState()I
|
|
|
|
move-result v0
|
|
|
|
const/4 v1, 0x2
|
|
|
|
if-ne v0, v1, :cond_0
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;
|
|
|
|
.line 4186
|
|
iget-object v0, v0, Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;->mOverScroller:Landroid/widget/OverScroller;
|
|
|
|
.line 4187
|
|
invoke-virtual {v0}, Landroid/widget/OverScroller;->getFinalX()I
|
|
|
|
move-result v1
|
|
|
|
invoke-virtual {v0}, Landroid/widget/OverScroller;->getCurrX()I
|
|
|
|
move-result v2
|
|
|
|
sub-int/2addr v1, v2
|
|
|
|
iput v1, p1, Landroidx/recyclerview/widget/RecyclerView$State;->mRemainingScrollHorizontal:I
|
|
|
|
.line 4188
|
|
invoke-virtual {v0}, Landroid/widget/OverScroller;->getFinalY()I
|
|
|
|
move-result v1
|
|
|
|
invoke-virtual {v0}, Landroid/widget/OverScroller;->getCurrY()I
|
|
|
|
move-result v0
|
|
|
|
sub-int/2addr v1, v0
|
|
|
|
iput v1, p1, Landroidx/recyclerview/widget/RecyclerView$State;->mRemainingScrollVertical:I
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
const/4 v0, 0x0
|
|
|
|
.line 4190
|
|
iput v0, p1, Landroidx/recyclerview/widget/RecyclerView$State;->mRemainingScrollHorizontal:I
|
|
|
|
.line 4191
|
|
iput v0, p1, Landroidx/recyclerview/widget/RecyclerView$State;->mRemainingScrollVertical:I
|
|
|
|
:goto_0
|
|
return-void
|
|
.end method
|
|
|
|
.method public findChildViewUnder(FF)Landroid/view/View;
|
|
.locals 5
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
|
|
|
|
.line 5187
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I
|
|
|
|
move-result v0
|
|
|
|
add-int/lit8 v0, v0, -0x1
|
|
|
|
:goto_0
|
|
if-ltz v0, :cond_1
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
|
|
|
|
.line 5189
|
|
invoke-virtual {v1, v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View;
|
|
|
|
move-result-object v1
|
|
|
|
.line 5190
|
|
invoke-virtual {v1}, Landroid/view/View;->getTranslationX()F
|
|
|
|
move-result v2
|
|
|
|
.line 5191
|
|
invoke-virtual {v1}, Landroid/view/View;->getTranslationY()F
|
|
|
|
move-result v3
|
|
|
|
.line 5192
|
|
invoke-virtual {v1}, Landroid/view/View;->getLeft()I
|
|
|
|
move-result v4
|
|
|
|
int-to-float v4, v4
|
|
|
|
add-float/2addr v4, v2
|
|
|
|
cmpl-float v4, p1, v4
|
|
|
|
if-ltz v4, :cond_0
|
|
|
|
.line 5193
|
|
invoke-virtual {v1}, Landroid/view/View;->getRight()I
|
|
|
|
move-result v4
|
|
|
|
int-to-float v4, v4
|
|
|
|
add-float/2addr v4, v2
|
|
|
|
cmpg-float v2, p1, v4
|
|
|
|
if-gtz v2, :cond_0
|
|
|
|
.line 5194
|
|
invoke-virtual {v1}, Landroid/view/View;->getTop()I
|
|
|
|
move-result v2
|
|
|
|
int-to-float v2, v2
|
|
|
|
add-float/2addr v2, v3
|
|
|
|
cmpl-float v2, p2, v2
|
|
|
|
if-ltz v2, :cond_0
|
|
|
|
.line 5195
|
|
invoke-virtual {v1}, Landroid/view/View;->getBottom()I
|
|
|
|
move-result v2
|
|
|
|
int-to-float v2, v2
|
|
|
|
add-float/2addr v2, v3
|
|
|
|
cmpg-float v2, p2, v2
|
|
|
|
if-gtz v2, :cond_0
|
|
|
|
return-object v1
|
|
|
|
:cond_0
|
|
add-int/lit8 v0, v0, -0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_1
|
|
const/4 p1, 0x0
|
|
|
|
return-object p1
|
|
.end method
|
|
|
|
.method public findContainingItemView(Landroid/view/View;)Landroid/view/View;
|
|
.locals 2
|
|
.param p1 # Landroid/view/View;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
|
|
.line 4963
|
|
invoke-virtual {p1}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
|
|
|
|
move-result-object v0
|
|
|
|
:goto_0
|
|
if-eqz v0, :cond_0
|
|
|
|
if-eq v0, p0, :cond_0
|
|
|
|
.line 4964
|
|
instance-of v1, v0, Landroid/view/View;
|
|
|
|
if-eqz v1, :cond_0
|
|
|
|
.line 4965
|
|
move-object p1, v0
|
|
|
|
check-cast p1, Landroid/view/View;
|
|
|
|
.line 4966
|
|
invoke-virtual {p1}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
|
|
|
|
move-result-object v0
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
if-ne v0, p0, :cond_1
|
|
|
|
goto :goto_1
|
|
|
|
:cond_1
|
|
const/4 p1, 0x0
|
|
|
|
:goto_1
|
|
return-object p1
|
|
.end method
|
|
|
|
.method public findContainingViewHolder(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
|
|
.locals 0
|
|
.param p1 # Landroid/view/View;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
|
|
.line 4980
|
|
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->findContainingItemView(Landroid/view/View;)Landroid/view/View;
|
|
|
|
move-result-object p1
|
|
|
|
if-nez p1, :cond_0
|
|
|
|
const/4 p1, 0x0
|
|
|
|
goto :goto_0
|
|
|
|
.line 4981
|
|
:cond_0
|
|
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolder(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
|
|
|
|
move-result-object p1
|
|
|
|
:goto_0
|
|
return-object p1
|
|
.end method
|
|
|
|
.method public findViewHolderForAdapterPosition(I)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
|
|
.locals 5
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z
|
|
|
|
const/4 v1, 0x0
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
return-object v1
|
|
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
|
|
|
|
.line 5101
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I
|
|
|
|
move-result v0
|
|
|
|
const/4 v2, 0x0
|
|
|
|
:goto_0
|
|
if-ge v2, v0, :cond_3
|
|
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
|
|
|
|
.line 5105
|
|
invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View;
|
|
|
|
move-result-object v3
|
|
|
|
invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
|
|
|
|
move-result-object v3
|
|
|
|
if-eqz v3, :cond_2
|
|
|
|
.line 5106
|
|
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isRemoved()Z
|
|
|
|
move-result v4
|
|
|
|
if-nez v4, :cond_2
|
|
|
|
.line 5107
|
|
invoke-virtual {p0, v3}, Landroidx/recyclerview/widget/RecyclerView;->getAdapterPositionInRecyclerView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)I
|
|
|
|
move-result v4
|
|
|
|
if-ne v4, p1, :cond_2
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
|
|
|
|
.line 5108
|
|
iget-object v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
|
|
|
|
invoke-virtual {v1, v4}, Landroidx/recyclerview/widget/ChildHelper;->isHidden(Landroid/view/View;)Z
|
|
|
|
move-result v1
|
|
|
|
if-eqz v1, :cond_1
|
|
|
|
move-object v1, v3
|
|
|
|
goto :goto_1
|
|
|
|
:cond_1
|
|
return-object v3
|
|
|
|
:cond_2
|
|
:goto_1
|
|
add-int/lit8 v2, v2, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_3
|
|
return-object v1
|
|
.end method
|
|
|
|
.method public findViewHolderForItemId(J)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
|
|
.locals 6
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
|
|
|
const/4 v1, 0x0
|
|
|
|
if-eqz v0, :cond_3
|
|
|
|
.line 5160
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
goto :goto_2
|
|
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
|
|
|
|
.line 5163
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I
|
|
|
|
move-result v0
|
|
|
|
const/4 v2, 0x0
|
|
|
|
:goto_0
|
|
if-ge v2, v0, :cond_3
|
|
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
|
|
|
|
.line 5166
|
|
invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View;
|
|
|
|
move-result-object v3
|
|
|
|
invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
|
|
|
|
move-result-object v3
|
|
|
|
if-eqz v3, :cond_2
|
|
|
|
.line 5167
|
|
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isRemoved()Z
|
|
|
|
move-result v4
|
|
|
|
if-nez v4, :cond_2
|
|
|
|
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getItemId()J
|
|
|
|
move-result-wide v4
|
|
|
|
cmp-long v4, v4, p1
|
|
|
|
if-nez v4, :cond_2
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
|
|
|
|
.line 5168
|
|
iget-object v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
|
|
|
|
invoke-virtual {v1, v4}, Landroidx/recyclerview/widget/ChildHelper;->isHidden(Landroid/view/View;)Z
|
|
|
|
move-result v1
|
|
|
|
if-eqz v1, :cond_1
|
|
|
|
move-object v1, v3
|
|
|
|
goto :goto_1
|
|
|
|
:cond_1
|
|
return-object v3
|
|
|
|
:cond_2
|
|
:goto_1
|
|
add-int/lit8 v2, v2, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_3
|
|
:goto_2
|
|
return-object v1
|
|
.end method
|
|
|
|
.method public findViewHolderForLayoutPosition(I)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
|
|
.locals 1
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 5076
|
|
invoke-virtual {p0, p1, v0}, Landroidx/recyclerview/widget/RecyclerView;->findViewHolderForPosition(IZ)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
|
|
|
|
move-result-object p1
|
|
|
|
return-object p1
|
|
.end method
|
|
|
|
.method public findViewHolderForPosition(I)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
|
|
.locals 1
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
|
|
.annotation runtime Ljava/lang/Deprecated;
|
|
.end annotation
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 5048
|
|
invoke-virtual {p0, p1, v0}, Landroidx/recyclerview/widget/RecyclerView;->findViewHolderForPosition(IZ)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
|
|
|
|
move-result-object p1
|
|
|
|
return-object p1
|
|
.end method
|
|
|
|
.method public findViewHolderForPosition(IZ)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
|
|
.locals 5
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
|
|
|
|
.line 5120
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I
|
|
|
|
move-result v0
|
|
|
|
const/4 v1, 0x0
|
|
|
|
const/4 v2, 0x0
|
|
|
|
:goto_0
|
|
if-ge v2, v0, :cond_4
|
|
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
|
|
|
|
.line 5123
|
|
invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View;
|
|
|
|
move-result-object v3
|
|
|
|
invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
|
|
|
|
move-result-object v3
|
|
|
|
if-eqz v3, :cond_3
|
|
|
|
.line 5124
|
|
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isRemoved()Z
|
|
|
|
move-result v4
|
|
|
|
if-nez v4, :cond_3
|
|
|
|
if-eqz p2, :cond_0
|
|
|
|
.line 5126
|
|
iget v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I
|
|
|
|
if-eq v4, p1, :cond_1
|
|
|
|
goto :goto_1
|
|
|
|
.line 5129
|
|
:cond_0
|
|
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getLayoutPosition()I
|
|
|
|
move-result v4
|
|
|
|
if-eq v4, p1, :cond_1
|
|
|
|
goto :goto_1
|
|
|
|
:cond_1
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
|
|
|
|
.line 5132
|
|
iget-object v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
|
|
|
|
invoke-virtual {v1, v4}, Landroidx/recyclerview/widget/ChildHelper;->isHidden(Landroid/view/View;)Z
|
|
|
|
move-result v1
|
|
|
|
if-eqz v1, :cond_2
|
|
|
|
move-object v1, v3
|
|
|
|
goto :goto_1
|
|
|
|
:cond_2
|
|
return-object v3
|
|
|
|
:cond_3
|
|
:goto_1
|
|
add-int/lit8 v2, v2, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_4
|
|
return-object v1
|
|
.end method
|
|
|
|
.method public fling(II)Z
|
|
.locals 7
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
const/4 v1, 0x0
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
const-string p1, "RecyclerView"
|
|
|
|
const-string p2, "Cannot fling without a LayoutManager set. Call setLayoutManager with a non-null argument."
|
|
|
|
.line 2572
|
|
invoke-static {p1, p2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
|
|
|
|
return v1
|
|
|
|
:cond_0
|
|
iget-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
|
|
|
|
if-eqz v2, :cond_1
|
|
|
|
return v1
|
|
|
|
.line 2580
|
|
:cond_1
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z
|
|
|
|
move-result v0
|
|
|
|
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
.line 2581
|
|
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z
|
|
|
|
move-result v2
|
|
|
|
if-eqz v0, :cond_2
|
|
|
|
.line 2583
|
|
invoke-static {p1}, Ljava/lang/Math;->abs(I)I
|
|
|
|
move-result v3
|
|
|
|
iget v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinFlingVelocity:I
|
|
|
|
if-ge v3, v4, :cond_3
|
|
|
|
:cond_2
|
|
move p1, v1
|
|
|
|
:cond_3
|
|
if-eqz v2, :cond_4
|
|
|
|
.line 2586
|
|
invoke-static {p2}, Ljava/lang/Math;->abs(I)I
|
|
|
|
move-result v3
|
|
|
|
iget v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinFlingVelocity:I
|
|
|
|
if-ge v3, v4, :cond_5
|
|
|
|
:cond_4
|
|
move p2, v1
|
|
|
|
:cond_5
|
|
if-nez p1, :cond_6
|
|
|
|
if-nez p2, :cond_6
|
|
|
|
return v1
|
|
|
|
:cond_6
|
|
int-to-float v3, p1
|
|
|
|
int-to-float v4, p2
|
|
|
|
.line 2594
|
|
invoke-virtual {p0, v3, v4}, Landroidx/recyclerview/widget/RecyclerView;->dispatchNestedPreFling(FF)Z
|
|
|
|
move-result v5
|
|
|
|
if-nez v5, :cond_b
|
|
|
|
const/4 v5, 0x1
|
|
|
|
if-nez v0, :cond_8
|
|
|
|
if-eqz v2, :cond_7
|
|
|
|
goto :goto_0
|
|
|
|
:cond_7
|
|
move v6, v1
|
|
|
|
goto :goto_1
|
|
|
|
:cond_8
|
|
:goto_0
|
|
move v6, v5
|
|
|
|
.line 2596
|
|
:goto_1
|
|
invoke-virtual {p0, v3, v4, v6}, Landroidx/recyclerview/widget/RecyclerView;->dispatchNestedFling(FFZ)Z
|
|
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnFlingListener:Landroidx/recyclerview/widget/RecyclerView$OnFlingListener;
|
|
|
|
if-eqz v3, :cond_9
|
|
|
|
.line 2598
|
|
invoke-virtual {v3, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$OnFlingListener;->onFling(II)Z
|
|
|
|
move-result v3
|
|
|
|
if-eqz v3, :cond_9
|
|
|
|
return v5
|
|
|
|
:cond_9
|
|
if-eqz v6, :cond_b
|
|
|
|
if-eqz v2, :cond_a
|
|
|
|
or-int/lit8 v0, v0, 0x2
|
|
|
|
.line 2610
|
|
:cond_a
|
|
invoke-virtual {p0, v0, v5}, Landroidx/recyclerview/widget/RecyclerView;->startNestedScroll(II)Z
|
|
|
|
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMaxFlingVelocity:I
|
|
|
|
neg-int v1, v0
|
|
|
|
.line 2612
|
|
invoke-static {p1, v0}, Ljava/lang/Math;->min(II)I
|
|
|
|
move-result p1
|
|
|
|
invoke-static {v1, p1}, Ljava/lang/Math;->max(II)I
|
|
|
|
move-result p1
|
|
|
|
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMaxFlingVelocity:I
|
|
|
|
neg-int v1, v0
|
|
|
|
.line 2613
|
|
invoke-static {p2, v0}, Ljava/lang/Math;->min(II)I
|
|
|
|
move-result p2
|
|
|
|
invoke-static {v1, p2}, Ljava/lang/Math;->max(II)I
|
|
|
|
move-result p2
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;
|
|
|
|
.line 2614
|
|
invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;->fling(II)V
|
|
|
|
return v5
|
|
|
|
:cond_b
|
|
return v1
|
|
.end method
|
|
|
|
.method public focusSearch(Landroid/view/View;I)Landroid/view/View;
|
|
.locals 8
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
.line 2881
|
|
invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onInterceptFocusSearch(Landroid/view/View;I)Landroid/view/View;
|
|
|
|
move-result-object v0
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
return-object v0
|
|
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
|
|
|
const/4 v1, 0x1
|
|
|
|
const/4 v2, 0x0
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
.line 2886
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isComputingLayout()Z
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_1
|
|
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
|
|
|
|
if-nez v0, :cond_1
|
|
|
|
move v0, v1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_1
|
|
move v0, v2
|
|
|
|
.line 2888
|
|
:goto_0
|
|
invoke-static {}, Landroid/view/FocusFinder;->getInstance()Landroid/view/FocusFinder;
|
|
|
|
move-result-object v3
|
|
|
|
const/4 v4, 0x0
|
|
|
|
if-eqz v0, :cond_f
|
|
|
|
const/4 v5, 0x2
|
|
|
|
if-eq p2, v5, :cond_2
|
|
|
|
if-ne p2, v1, :cond_f
|
|
|
|
:cond_2
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
.line 2894
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_5
|
|
|
|
if-ne p2, v5, :cond_3
|
|
|
|
const/16 v0, 0x82
|
|
|
|
goto :goto_1
|
|
|
|
:cond_3
|
|
const/16 v0, 0x21
|
|
|
|
.line 2897
|
|
:goto_1
|
|
invoke-virtual {v3, p0, p1, v0}, Landroid/view/FocusFinder;->findNextFocus(Landroid/view/ViewGroup;Landroid/view/View;I)Landroid/view/View;
|
|
|
|
move-result-object v6
|
|
|
|
if-nez v6, :cond_4
|
|
|
|
move v6, v1
|
|
|
|
goto :goto_2
|
|
|
|
:cond_4
|
|
move v6, v2
|
|
|
|
:goto_2
|
|
sget-boolean v7, Landroidx/recyclerview/widget/RecyclerView;->FORCE_ABS_FOCUS_SEARCH_DIRECTION:Z
|
|
|
|
if-eqz v7, :cond_6
|
|
|
|
move p2, v0
|
|
|
|
goto :goto_3
|
|
|
|
:cond_5
|
|
move v6, v2
|
|
|
|
:cond_6
|
|
:goto_3
|
|
if-nez v6, :cond_c
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
.line 2904
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_c
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
.line 2905
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->getLayoutDirection()I
|
|
|
|
move-result v0
|
|
|
|
if-ne v0, v1, :cond_7
|
|
|
|
move v0, v1
|
|
|
|
goto :goto_4
|
|
|
|
:cond_7
|
|
move v0, v2
|
|
|
|
:goto_4
|
|
if-ne p2, v5, :cond_8
|
|
|
|
move v5, v1
|
|
|
|
goto :goto_5
|
|
|
|
:cond_8
|
|
move v5, v2
|
|
|
|
:goto_5
|
|
xor-int/2addr v0, v5
|
|
|
|
if-eqz v0, :cond_9
|
|
|
|
const/16 v0, 0x42
|
|
|
|
goto :goto_6
|
|
|
|
:cond_9
|
|
const/16 v0, 0x11
|
|
|
|
.line 2908
|
|
:goto_6
|
|
invoke-virtual {v3, p0, p1, v0}, Landroid/view/FocusFinder;->findNextFocus(Landroid/view/ViewGroup;Landroid/view/View;I)Landroid/view/View;
|
|
|
|
move-result-object v5
|
|
|
|
if-nez v5, :cond_a
|
|
|
|
goto :goto_7
|
|
|
|
:cond_a
|
|
move v1, v2
|
|
|
|
:goto_7
|
|
sget-boolean v5, Landroidx/recyclerview/widget/RecyclerView;->FORCE_ABS_FOCUS_SEARCH_DIRECTION:Z
|
|
|
|
if-eqz v5, :cond_b
|
|
|
|
move p2, v0
|
|
|
|
:cond_b
|
|
move v6, v1
|
|
|
|
:cond_c
|
|
if-eqz v6, :cond_e
|
|
|
|
.line 2916
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->consumePendingUpdateOperations()V
|
|
|
|
.line 2917
|
|
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->findContainingItemView(Landroid/view/View;)Landroid/view/View;
|
|
|
|
move-result-object v0
|
|
|
|
if-nez v0, :cond_d
|
|
|
|
return-object v4
|
|
|
|
.line 2922
|
|
:cond_d
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
|
|
|
|
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
.line 2923
|
|
invoke-virtual {v0, p1, p2, v1, v5}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onFocusSearchFailed(Landroid/view/View;ILandroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)Landroid/view/View;
|
|
|
|
.line 2924
|
|
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
|
|
|
|
.line 2926
|
|
:cond_e
|
|
invoke-virtual {v3, p0, p1, p2}, Landroid/view/FocusFinder;->findNextFocus(Landroid/view/ViewGroup;Landroid/view/View;I)Landroid/view/View;
|
|
|
|
move-result-object v0
|
|
|
|
goto :goto_8
|
|
|
|
.line 2928
|
|
:cond_f
|
|
invoke-virtual {v3, p0, p1, p2}, Landroid/view/FocusFinder;->findNextFocus(Landroid/view/ViewGroup;Landroid/view/View;I)Landroid/view/View;
|
|
|
|
move-result-object v1
|
|
|
|
if-nez v1, :cond_11
|
|
|
|
if-eqz v0, :cond_11
|
|
|
|
.line 2930
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->consumePendingUpdateOperations()V
|
|
|
|
.line 2931
|
|
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->findContainingItemView(Landroid/view/View;)Landroid/view/View;
|
|
|
|
move-result-object v0
|
|
|
|
if-nez v0, :cond_10
|
|
|
|
return-object v4
|
|
|
|
.line 2936
|
|
:cond_10
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
|
|
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
.line 2937
|
|
invoke-virtual {v0, p1, p2, v1, v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onFocusSearchFailed(Landroid/view/View;ILandroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)Landroid/view/View;
|
|
|
|
move-result-object v0
|
|
|
|
.line 2938
|
|
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
|
|
|
|
goto :goto_8
|
|
|
|
:cond_11
|
|
move-object v0, v1
|
|
|
|
:goto_8
|
|
if-eqz v0, :cond_13
|
|
|
|
.line 2941
|
|
invoke-virtual {v0}, Landroid/view/View;->hasFocusable()Z
|
|
|
|
move-result v1
|
|
|
|
if-nez v1, :cond_13
|
|
|
|
.line 2942
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getFocusedChild()Landroid/view/View;
|
|
|
|
move-result-object v1
|
|
|
|
if-nez v1, :cond_12
|
|
|
|
.line 2945
|
|
invoke-super {p0, p1, p2}, Landroid/view/ViewGroup;->focusSearch(Landroid/view/View;I)Landroid/view/View;
|
|
|
|
move-result-object p1
|
|
|
|
return-object p1
|
|
|
|
.line 2951
|
|
:cond_12
|
|
invoke-direct {p0, v0, v4}, Landroidx/recyclerview/widget/RecyclerView;->requestChildOnScreen(Landroid/view/View;Landroid/view/View;)V
|
|
|
|
return-object p1
|
|
|
|
.line 2954
|
|
:cond_13
|
|
invoke-direct {p0, p1, v0, p2}, Landroidx/recyclerview/widget/RecyclerView;->isPreferredNextFocus(Landroid/view/View;Landroid/view/View;I)Z
|
|
|
|
move-result v1
|
|
|
|
if-eqz v1, :cond_14
|
|
|
|
goto :goto_9
|
|
|
|
.line 2955
|
|
:cond_14
|
|
invoke-super {p0, p1, p2}, Landroid/view/ViewGroup;->focusSearch(Landroid/view/View;I)Landroid/view/View;
|
|
|
|
move-result-object v0
|
|
|
|
:goto_9
|
|
return-object v0
|
|
.end method
|
|
|
|
.method public generateDefaultLayoutParams()Landroid/view/ViewGroup$LayoutParams;
|
|
.locals 3
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 4682
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->generateDefaultLayoutParams()Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
|
|
|
|
move-result-object v0
|
|
|
|
return-object v0
|
|
|
|
.line 4680
|
|
:cond_0
|
|
new-instance v0, Ljava/lang/IllegalStateException;
|
|
|
|
new-instance v1, Ljava/lang/StringBuilder;
|
|
|
|
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
|
|
|
|
const-string v2, "RecyclerView has no LayoutManager"
|
|
|
|
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String;
|
|
|
|
move-result-object v2
|
|
|
|
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object v1
|
|
|
|
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><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 4690
|
|
invoke-virtual {p0}, Landroid/view/View;->getContext()Landroid/content/Context;
|
|
|
|
move-result-object v1
|
|
|
|
invoke-virtual {v0, v1, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->generateLayoutParams(Landroid/content/Context;Landroid/util/AttributeSet;)Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
|
|
|
|
move-result-object p1
|
|
|
|
return-object p1
|
|
|
|
.line 4688
|
|
:cond_0
|
|
new-instance p1, Ljava/lang/IllegalStateException;
|
|
|
|
new-instance v0, Ljava/lang/StringBuilder;
|
|
|
|
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
|
|
|
|
const-string v1, "RecyclerView has no LayoutManager"
|
|
|
|
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String;
|
|
|
|
move-result-object v1
|
|
|
|
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
|
|
|
|
throw p1
|
|
.end method
|
|
|
|
.method public generateLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Landroid/view/ViewGroup$LayoutParams;
|
|
.locals 2
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 4698
|
|
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->generateLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
|
|
|
|
move-result-object p1
|
|
|
|
return-object p1
|
|
|
|
.line 4696
|
|
:cond_0
|
|
new-instance p1, Ljava/lang/IllegalStateException;
|
|
|
|
new-instance v0, Ljava/lang/StringBuilder;
|
|
|
|
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
|
|
|
|
const-string v1, "RecyclerView has no LayoutManager"
|
|
|
|
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String;
|
|
|
|
move-result-object v1
|
|
|
|
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
|
|
|
|
throw p1
|
|
.end method
|
|
|
|
.method public getAccessibilityClassName()Ljava/lang/CharSequence;
|
|
.locals 1
|
|
|
|
const-string v0, "androidx.recyclerview.widget.RecyclerView"
|
|
|
|
return-object v0
|
|
.end method
|
|
|
|
.method public getAdapter()Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
|
.locals 1
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
|
|
|
return-object v0
|
|
.end method
|
|
|
|
.method public getAdapterPositionInRecyclerView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)I
|
|
.locals 1
|
|
|
|
const/16 v0, 0x20c
|
|
|
|
.line 11856
|
|
invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->hasAnyOfTheFlags(I)Z
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_1
|
|
|
|
.line 11858
|
|
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isBound()Z
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
|
|
|
|
.line 11861
|
|
iget p1, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I
|
|
|
|
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/AdapterHelper;->applyPendingUpdatesToPosition(I)I
|
|
|
|
move-result p1
|
|
|
|
return p1
|
|
|
|
:cond_1
|
|
:goto_0
|
|
const/4 p1, -0x1
|
|
|
|
return p1
|
|
.end method
|
|
|
|
.method public getBaseline()I
|
|
.locals 1
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 1316
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->getBaseline()I
|
|
|
|
move-result v0
|
|
|
|
return v0
|
|
|
|
.line 1318
|
|
:cond_0
|
|
invoke-super {p0}, Landroid/view/View;->getBaseline()I
|
|
|
|
move-result v0
|
|
|
|
return v0
|
|
.end method
|
|
|
|
.method public getChangedHolderKey(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)J
|
|
.locals 2
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
|
|
|
.line 4532
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getItemId()J
|
|
|
|
move-result-wide v0
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
iget p1, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I
|
|
|
|
int-to-long v0, p1
|
|
|
|
:goto_0
|
|
return-wide v0
|
|
.end method
|
|
|
|
.method public getChildAdapterPosition(Landroid/view/View;)I
|
|
.locals 0
|
|
.param p1 # Landroid/view/View;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
|
|
.line 5008
|
|
invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
|
|
|
|
move-result-object p1
|
|
|
|
if-eqz p1, :cond_0
|
|
|
|
.line 5009
|
|
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getAbsoluteAdapterPosition()I
|
|
|
|
move-result p1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
const/4 p1, -0x1
|
|
|
|
:goto_0
|
|
return p1
|
|
.end method
|
|
|
|
.method public getChildDrawingOrder(II)I
|
|
.locals 1
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildDrawingOrderCallback:Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback;
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
.line 13875
|
|
invoke-super {p0, p1, p2}, Landroid/view/ViewGroup;->getChildDrawingOrder(II)I
|
|
|
|
move-result p1
|
|
|
|
return p1
|
|
|
|
.line 13877
|
|
:cond_0
|
|
invoke-interface {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback;->onGetChildDrawingOrder(II)I
|
|
|
|
move-result p1
|
|
|
|
return p1
|
|
.end method
|
|
|
|
.method public getChildItemId(Landroid/view/View;)J
|
|
.locals 3
|
|
.param p1 # Landroid/view/View;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
|
|
|
const-wide/16 v1, -0x1
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
.line 5034
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
goto :goto_0
|
|
|
|
.line 5037
|
|
:cond_0
|
|
invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
|
|
|
|
move-result-object p1
|
|
|
|
if-eqz p1, :cond_1
|
|
|
|
.line 5038
|
|
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getItemId()J
|
|
|
|
move-result-wide v1
|
|
|
|
:cond_1
|
|
:goto_0
|
|
return-wide v1
|
|
.end method
|
|
|
|
.method public getChildLayoutPosition(Landroid/view/View;)I
|
|
.locals 0
|
|
.param p1 # Landroid/view/View;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
|
|
.line 5023
|
|
invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
|
|
|
|
move-result-object p1
|
|
|
|
if-eqz p1, :cond_0
|
|
|
|
.line 5024
|
|
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getLayoutPosition()I
|
|
|
|
move-result p1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
const/4 p1, -0x1
|
|
|
|
:goto_0
|
|
return p1
|
|
.end method
|
|
|
|
.method public getChildPosition(Landroid/view/View;)I
|
|
.locals 0
|
|
.param p1 # Landroid/view/View;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
.annotation runtime Ljava/lang/Deprecated;
|
|
.end annotation
|
|
|
|
.line 4998
|
|
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildAdapterPosition(Landroid/view/View;)I
|
|
|
|
move-result p1
|
|
|
|
return p1
|
|
.end method
|
|
|
|
.method public getChildViewHolder(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
|
|
.locals 3
|
|
.param p1 # Landroid/view/View;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
|
|
.line 4942
|
|
invoke-virtual {p1}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
|
|
|
|
move-result-object v0
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
if-ne v0, p0, :cond_0
|
|
|
|
goto :goto_0
|
|
|
|
.line 4944
|
|
:cond_0
|
|
new-instance v0, Ljava/lang/IllegalArgumentException;
|
|
|
|
new-instance v1, Ljava/lang/StringBuilder;
|
|
|
|
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
|
|
|
|
const-string v2, "View "
|
|
|
|
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
|
|
|
|
const-string p1, " is not a direct child of "
|
|
|
|
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object p1
|
|
|
|
invoke-direct {v0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
|
|
|
|
throw v0
|
|
|
|
.line 4947
|
|
:cond_1
|
|
:goto_0
|
|
invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
|
|
|
|
move-result-object p1
|
|
|
|
return-object p1
|
|
.end method
|
|
|
|
.method public getClipToPadding()Z
|
|
.locals 1
|
|
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
|
|
|
|
return v0
|
|
.end method
|
|
|
|
.method public getCompatAccessibilityDelegate()Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate;
|
|
.locals 1
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAccessibilityDelegate:Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate;
|
|
|
|
return-object v0
|
|
.end method
|
|
|
|
.method public getDecoratedBoundsWithMargins(Landroid/view/View;Landroid/graphics/Rect;)V
|
|
.locals 0
|
|
.param p1 # Landroid/view/View;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
.param p2 # Landroid/graphics/Rect;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
|
|
.line 5266
|
|
invoke-static {p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->getDecoratedBoundsWithMarginsInt(Landroid/view/View;Landroid/graphics/Rect;)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public getEdgeEffectFactory()Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;
|
|
.locals 1
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;
|
|
|
|
return-object v0
|
|
.end method
|
|
|
|
.method public getItemAnimator()Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
|
|
.locals 1
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
|
|
|
|
return-object v0
|
|
.end method
|
|
|
|
.method public getItemDecorInsetsForChild(Landroid/view/View;)Landroid/graphics/Rect;
|
|
.locals 8
|
|
|
|
.line 5279
|
|
invoke-virtual {p1}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
|
|
|
|
move-result-object v0
|
|
|
|
check-cast v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
|
|
|
|
.line 5280
|
|
iget-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mInsetsDirty:Z
|
|
|
|
if-nez v1, :cond_0
|
|
|
|
.line 5281
|
|
iget-object p1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mDecorInsets:Landroid/graphics/Rect;
|
|
|
|
return-object p1
|
|
|
|
:cond_0
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
.line 5284
|
|
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$State;->isPreLayout()Z
|
|
|
|
move-result v1
|
|
|
|
if-eqz v1, :cond_2
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->isItemChanged()Z
|
|
|
|
move-result v1
|
|
|
|
if-nez v1, :cond_1
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->isViewInvalid()Z
|
|
|
|
move-result v1
|
|
|
|
if-eqz v1, :cond_2
|
|
|
|
.line 5286
|
|
:cond_1
|
|
iget-object p1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mDecorInsets:Landroid/graphics/Rect;
|
|
|
|
return-object p1
|
|
|
|
.line 5288
|
|
:cond_2
|
|
iget-object v1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mDecorInsets:Landroid/graphics/Rect;
|
|
|
|
const/4 v2, 0x0
|
|
|
|
.line 5289
|
|
invoke-virtual {v1, v2, v2, v2, v2}, Landroid/graphics/Rect;->set(IIII)V
|
|
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
|
|
|
|
.line 5290
|
|
invoke-virtual {v3}, Ljava/util/ArrayList;->size()I
|
|
|
|
move-result v3
|
|
|
|
move v4, v2
|
|
|
|
:goto_0
|
|
if-ge v4, v3, :cond_3
|
|
|
|
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
|
|
|
|
.line 5292
|
|
invoke-virtual {v5, v2, v2, v2, v2}, Landroid/graphics/Rect;->set(IIII)V
|
|
|
|
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
|
|
|
|
.line 5293
|
|
invoke-virtual {v5, v4}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
|
|
|
|
move-result-object v5
|
|
|
|
check-cast v5, Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;
|
|
|
|
iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
|
|
|
|
iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
invoke-virtual {v5, v6, p1, p0, v7}, Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;->getItemOffsets(Landroid/graphics/Rect;Landroid/view/View;Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$State;)V
|
|
|
|
.line 5294
|
|
iget v5, v1, Landroid/graphics/Rect;->left:I
|
|
|
|
iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
|
|
|
|
iget v7, v6, Landroid/graphics/Rect;->left:I
|
|
|
|
add-int/2addr v5, v7
|
|
|
|
iput v5, v1, Landroid/graphics/Rect;->left:I
|
|
|
|
.line 5295
|
|
iget v5, v1, Landroid/graphics/Rect;->top:I
|
|
|
|
iget v7, v6, Landroid/graphics/Rect;->top:I
|
|
|
|
add-int/2addr v5, v7
|
|
|
|
iput v5, v1, Landroid/graphics/Rect;->top:I
|
|
|
|
.line 5296
|
|
iget v5, v1, Landroid/graphics/Rect;->right:I
|
|
|
|
iget v7, v6, Landroid/graphics/Rect;->right:I
|
|
|
|
add-int/2addr v5, v7
|
|
|
|
iput v5, v1, Landroid/graphics/Rect;->right:I
|
|
|
|
.line 5297
|
|
iget v5, v1, Landroid/graphics/Rect;->bottom:I
|
|
|
|
iget v6, v6, Landroid/graphics/Rect;->bottom:I
|
|
|
|
add-int/2addr v5, v6
|
|
|
|
iput v5, v1, Landroid/graphics/Rect;->bottom:I
|
|
|
|
add-int/lit8 v4, v4, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
.line 5299
|
|
:cond_3
|
|
iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mInsetsDirty:Z
|
|
|
|
return-object v1
|
|
.end method
|
|
|
|
.method public getItemDecorationAt(I)Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;
|
|
.locals 3
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
|
|
.line 1677
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getItemDecorationCount()I
|
|
|
|
move-result v0
|
|
|
|
if-ltz p1, :cond_0
|
|
|
|
if-ge p1, v0, :cond_0
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
|
|
|
|
.line 1682
|
|
invoke-virtual {v0, p1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
|
|
|
|
move-result-object p1
|
|
|
|
check-cast p1, Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;
|
|
|
|
return-object p1
|
|
|
|
.line 1679
|
|
:cond_0
|
|
new-instance v1, Ljava/lang/IndexOutOfBoundsException;
|
|
|
|
new-instance v2, Ljava/lang/StringBuilder;
|
|
|
|
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
|
|
|
|
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
|
|
|
|
const-string p1, " is an invalid index for size "
|
|
|
|
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object p1
|
|
|
|
invoke-direct {v1, p1}, Ljava/lang/IndexOutOfBoundsException;-><init>(Ljava/lang/String;)V
|
|
|
|
throw v1
|
|
.end method
|
|
|
|
.method public getItemDecorationCount()I
|
|
.locals 1
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
|
|
|
|
.line 1691
|
|
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
|
|
|
|
move-result v0
|
|
|
|
return v0
|
|
.end method
|
|
|
|
.method public getLayoutManager()Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
.locals 1
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
return-object v0
|
|
.end method
|
|
|
|
.method public getMaxFlingVelocity()I
|
|
.locals 1
|
|
|
|
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMaxFlingVelocity:I
|
|
|
|
return v0
|
|
.end method
|
|
|
|
.method public getMinFlingVelocity()I
|
|
.locals 1
|
|
|
|
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinFlingVelocity:I
|
|
|
|
return v0
|
|
.end method
|
|
|
|
.method public getNanoTime()J
|
|
.locals 2
|
|
|
|
sget-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->ALLOW_THREAD_GAP_WORK:Z
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 6059
|
|
invoke-static {}, Ljava/lang/System;->nanoTime()J
|
|
|
|
move-result-wide v0
|
|
|
|
return-wide v0
|
|
|
|
:cond_0
|
|
const-wide/16 v0, 0x0
|
|
|
|
return-wide v0
|
|
.end method
|
|
|
|
.method public getOnFlingListener()Landroidx/recyclerview/widget/RecyclerView$OnFlingListener;
|
|
.locals 1
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnFlingListener:Landroidx/recyclerview/widget/RecyclerView$OnFlingListener;
|
|
|
|
return-object v0
|
|
.end method
|
|
|
|
.method public getPreserveFocusAfterLayout()Z
|
|
.locals 1
|
|
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPreserveFocusAfterLayout:Z
|
|
|
|
return v0
|
|
.end method
|
|
|
|
.method public getRecycledViewPool()Landroidx/recyclerview/widget/RecyclerView$RecycledViewPool;
|
|
.locals 1
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
|
|
|
|
.line 1556
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->getRecycledViewPool()Landroidx/recyclerview/widget/RecyclerView$RecycledViewPool;
|
|
|
|
move-result-object v0
|
|
|
|
return-object v0
|
|
.end method
|
|
|
|
.method public getScrollState()I
|
|
.locals 1
|
|
|
|
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I
|
|
|
|
return v0
|
|
.end method
|
|
|
|
.method public hasFixedSize()Z
|
|
.locals 1
|
|
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mHasFixedSize:Z
|
|
|
|
return v0
|
|
.end method
|
|
|
|
.method public hasNestedScrollingParent()Z
|
|
.locals 1
|
|
|
|
.line 11917
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-virtual {v0}, Landroidx/core/view/NestedScrollingChildHelper;->hasNestedScrollingParent()Z
|
|
|
|
move-result v0
|
|
|
|
return v0
|
|
.end method
|
|
|
|
.method public hasNestedScrollingParent(I)Z
|
|
.locals 1
|
|
|
|
.line 11922
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-virtual {v0, p1}, Landroidx/core/view/NestedScrollingChildHelper;->hasNestedScrollingParent(I)Z
|
|
|
|
move-result p1
|
|
|
|
return p1
|
|
.end method
|
|
|
|
.method public hasPendingAdapterUpdates()Z
|
|
.locals 1
|
|
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z
|
|
|
|
if-nez v0, :cond_1
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
|
|
|
|
.line 5404
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->hasPendingUpdates()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
const/4 v0, 0x0
|
|
|
|
goto :goto_1
|
|
|
|
:cond_1
|
|
:goto_0
|
|
const/4 v0, 0x1
|
|
|
|
:goto_1
|
|
return v0
|
|
.end method
|
|
|
|
.method public initAdapterManager()V
|
|
.locals 2
|
|
|
|
.line 1001
|
|
new-instance v0, Landroidx/recyclerview/widget/AdapterHelper;
|
|
|
|
new-instance v1, Landroidx/recyclerview/widget/RecyclerView$6;
|
|
|
|
invoke-direct {v1, p0}, Landroidx/recyclerview/widget/RecyclerView$6;-><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 public initFastScroller(Landroid/graphics/drawable/StateListDrawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/StateListDrawable;Landroid/graphics/drawable/Drawable;)V
|
|
.locals 10
|
|
.annotation build Landroidx/annotation/VisibleForTesting;
|
|
.end annotation
|
|
|
|
if-eqz p1, :cond_0
|
|
|
|
if-eqz p2, :cond_0
|
|
|
|
if-eqz p3, :cond_0
|
|
|
|
if-eqz p4, :cond_0
|
|
|
|
.line 11875
|
|
invoke-virtual {p0}, Landroid/view/View;->getContext()Landroid/content/Context;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
|
|
|
|
move-result-object v0
|
|
|
|
.line 11876
|
|
new-instance v1, Landroidx/recyclerview/widget/FastScroller;
|
|
|
|
sget v2, Landroidx/recyclerview/R$dimen;->fastscroll_default_thickness:I
|
|
|
|
.line 11878
|
|
invoke-virtual {v0, v2}, Landroid/content/res/Resources;->getDimensionPixelSize(I)I
|
|
|
|
move-result v7
|
|
|
|
sget v2, Landroidx/recyclerview/R$dimen;->fastscroll_minimum_range:I
|
|
|
|
.line 11879
|
|
invoke-virtual {v0, v2}, Landroid/content/res/Resources;->getDimensionPixelSize(I)I
|
|
|
|
move-result v8
|
|
|
|
sget v2, Landroidx/recyclerview/R$dimen;->fastscroll_margin:I
|
|
|
|
.line 11880
|
|
invoke-virtual {v0, v2}, Landroid/content/res/Resources;->getDimensionPixelOffset(I)I
|
|
|
|
move-result v9
|
|
|
|
move-object v2, p0
|
|
|
|
move-object v3, p1
|
|
|
|
move-object v4, p2
|
|
|
|
move-object v5, p3
|
|
|
|
move-object v6, p4
|
|
|
|
invoke-direct/range {v1 .. v9}, Landroidx/recyclerview/widget/FastScroller;-><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 11870
|
|
:cond_0
|
|
new-instance p1, Ljava/lang/IllegalArgumentException;
|
|
|
|
new-instance p2, Ljava/lang/StringBuilder;
|
|
|
|
invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
|
|
|
|
const-string p3, "Trying to set fast scroller without both required drawables."
|
|
|
|
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
.line 11872
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String;
|
|
|
|
move-result-object p3
|
|
|
|
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object p2
|
|
|
|
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
|
|
|
|
throw p1
|
|
.end method
|
|
|
|
.method public invalidateGlows()V
|
|
.locals 1
|
|
|
|
const/4 v0, 0x0
|
|
|
|
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
|
|
|
|
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
|
|
|
|
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
|
|
|
|
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public invalidateItemDecorations()V
|
|
.locals 2
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
|
|
|
|
.line 4893
|
|
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
return-void
|
|
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
const-string v1, "Cannot invalidate item decorations during a scroll or layout"
|
|
|
|
.line 4897
|
|
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->assertNotInLayoutOrScroll(Ljava/lang/String;)V
|
|
|
|
.line 4900
|
|
:cond_1
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->markItemDecorInsetsDirty()V
|
|
|
|
.line 4901
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public isAccessibilityEnabled()Z
|
|
.locals 1
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAccessibilityManager:Landroid/view/accessibility/AccessibilityManager;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 3820
|
|
invoke-virtual {v0}, Landroid/view/accessibility/AccessibilityManager;->isEnabled()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
const/4 v0, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
const/4 v0, 0x0
|
|
|
|
:goto_0
|
|
return v0
|
|
.end method
|
|
|
|
.method public isAnimating()Z
|
|
.locals 1
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 4710
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->isRunning()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
const/4 v0, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
const/4 v0, 0x0
|
|
|
|
:goto_0
|
|
return v0
|
|
.end method
|
|
|
|
.method public isAttachedToWindow()Z
|
|
.locals 1
|
|
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mIsAttached:Z
|
|
|
|
return v0
|
|
.end method
|
|
|
|
.method public isComputingLayout()Z
|
|
.locals 1
|
|
|
|
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I
|
|
|
|
if-lez v0, :cond_0
|
|
|
|
const/4 v0, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
const/4 v0, 0x0
|
|
|
|
:goto_0
|
|
return v0
|
|
.end method
|
|
|
|
.method public isLayoutFrozen()Z
|
|
.locals 1
|
|
.annotation runtime Ljava/lang/Deprecated;
|
|
.end annotation
|
|
|
|
.line 2410
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isLayoutSuppressed()Z
|
|
|
|
move-result v0
|
|
|
|
return v0
|
|
.end method
|
|
|
|
.method public final isLayoutSuppressed()Z
|
|
.locals 1
|
|
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
|
|
|
|
return v0
|
|
.end method
|
|
|
|
.method public isNestedScrollingEnabled()Z
|
|
.locals 1
|
|
|
|
.line 11892
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-virtual {v0}, Landroidx/core/view/NestedScrollingChildHelper;->isNestedScrollingEnabled()Z
|
|
|
|
move-result v0
|
|
|
|
return v0
|
|
.end method
|
|
|
|
.method public jumpToPositionForSmoothScroller(I)V
|
|
.locals 1
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
return-void
|
|
|
|
:cond_0
|
|
const/4 v0, 0x2
|
|
|
|
.line 1829
|
|
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
.line 1830
|
|
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->scrollToPosition(I)V
|
|
|
|
.line 1831
|
|
invoke-virtual {p0}, Landroid/view/View;->awakenScrollBars()Z
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public markItemDecorInsetsDirty()V
|
|
.locals 4
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
|
|
|
|
.line 4593
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I
|
|
|
|
move-result v0
|
|
|
|
const/4 v1, 0x0
|
|
|
|
:goto_0
|
|
if-ge v1, v0, :cond_0
|
|
|
|
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
|
|
|
|
.line 4595
|
|
invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View;
|
|
|
|
move-result-object v2
|
|
|
|
.line 4596
|
|
invoke-virtual {v2}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
|
|
|
|
move-result-object v2
|
|
|
|
check-cast v2, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
|
|
|
|
const/4 v3, 0x1
|
|
|
|
iput-boolean v3, v2, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mInsetsDirty:Z
|
|
|
|
add-int/lit8 v1, v1, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
|
|
|
|
.line 4598
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->markItemDecorInsetsDirty()V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public markKnownViewsInvalid()V
|
|
.locals 4
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
|
|
|
|
.line 4877
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I
|
|
|
|
move-result v0
|
|
|
|
const/4 v1, 0x0
|
|
|
|
:goto_0
|
|
if-ge v1, v0, :cond_1
|
|
|
|
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
|
|
|
|
.line 4879
|
|
invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View;
|
|
|
|
move-result-object v2
|
|
|
|
invoke-static {v2}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
|
|
|
|
move-result-object v2
|
|
|
|
if-eqz v2, :cond_0
|
|
|
|
.line 4880
|
|
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
|
|
|
|
move-result v3
|
|
|
|
if-nez v3, :cond_0
|
|
|
|
const/4 v3, 0x6
|
|
|
|
.line 4881
|
|
invoke-virtual {v2, v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->addFlags(I)V
|
|
|
|
:cond_0
|
|
add-int/lit8 v1, v1, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
.line 4884
|
|
:cond_1
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->markItemDecorInsetsDirty()V
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
|
|
|
|
.line 4885
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->markKnownViewsInvalid()V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public nestedScrollBy(II)V
|
|
.locals 2
|
|
|
|
const/4 v0, 0x0
|
|
|
|
const/4 v1, 0x1
|
|
|
|
.line 1892
|
|
invoke-direct {p0, p1, p2, v0, v1}, Landroidx/recyclerview/widget/RecyclerView;->nestedScrollByInternal(IILandroid/view/MotionEvent;I)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public offsetChildrenHorizontal(I)V
|
|
.locals 3
|
|
.param p1 # I
|
|
.annotation build Landroidx/annotation/Px;
|
|
.end annotation
|
|
.end param
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
|
|
|
|
.line 5252
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I
|
|
|
|
move-result v0
|
|
|
|
const/4 v1, 0x0
|
|
|
|
:goto_0
|
|
if-ge v1, v0, :cond_0
|
|
|
|
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
|
|
|
|
.line 5254
|
|
invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View;
|
|
|
|
move-result-object v2
|
|
|
|
invoke-virtual {v2, p1}, Landroid/view/View;->offsetLeftAndRight(I)V
|
|
|
|
add-int/lit8 v1, v1, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
return-void
|
|
.end method
|
|
|
|
.method public offsetChildrenVertical(I)V
|
|
.locals 3
|
|
.param p1 # I
|
|
.annotation build Landroidx/annotation/Px;
|
|
.end annotation
|
|
.end param
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
|
|
|
|
.line 5214
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I
|
|
|
|
move-result v0
|
|
|
|
const/4 v1, 0x0
|
|
|
|
:goto_0
|
|
if-ge v1, v0, :cond_0
|
|
|
|
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
|
|
|
|
.line 5216
|
|
invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View;
|
|
|
|
move-result-object v2
|
|
|
|
invoke-virtual {v2, p1}, Landroid/view/View;->offsetTopAndBottom(I)V
|
|
|
|
add-int/lit8 v1, v1, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
return-void
|
|
.end method
|
|
|
|
.method public offsetPositionRecordsForInsert(II)V
|
|
.locals 5
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
|
|
|
|
.line 4773
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I
|
|
|
|
move-result v0
|
|
|
|
const/4 v1, 0x0
|
|
|
|
move v2, v1
|
|
|
|
:goto_0
|
|
if-ge v2, v0, :cond_1
|
|
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
|
|
|
|
.line 4775
|
|
invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View;
|
|
|
|
move-result-object v3
|
|
|
|
invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
|
|
|
|
move-result-object v3
|
|
|
|
if-eqz v3, :cond_0
|
|
|
|
.line 4776
|
|
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
|
|
|
|
move-result v4
|
|
|
|
if-nez v4, :cond_0
|
|
|
|
iget v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I
|
|
|
|
if-lt v4, p1, :cond_0
|
|
|
|
.line 4781
|
|
invoke-virtual {v3, p2, v1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->offsetPosition(IZ)V
|
|
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
const/4 v4, 0x1
|
|
|
|
.line 4782
|
|
iput-boolean v4, v3, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z
|
|
|
|
:cond_0
|
|
add-int/lit8 v2, v2, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
|
|
|
|
.line 4785
|
|
invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->offsetPositionRecordsForInsert(II)V
|
|
|
|
.line 4786
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public offsetPositionRecordsForMove(II)V
|
|
.locals 9
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
|
|
|
|
.line 4739
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I
|
|
|
|
move-result v0
|
|
|
|
const/4 v1, 0x1
|
|
|
|
if-ge p1, p2, :cond_0
|
|
|
|
const/4 v2, -0x1
|
|
|
|
move v3, p1
|
|
|
|
move v4, p2
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
move v4, p1
|
|
|
|
move v3, p2
|
|
|
|
move v2, v1
|
|
|
|
:goto_0
|
|
const/4 v5, 0x0
|
|
|
|
move v6, v5
|
|
|
|
:goto_1
|
|
if-ge v6, v0, :cond_4
|
|
|
|
iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
|
|
|
|
.line 4752
|
|
invoke-virtual {v7, v6}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View;
|
|
|
|
move-result-object v7
|
|
|
|
invoke-static {v7}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
|
|
|
|
move-result-object v7
|
|
|
|
if-eqz v7, :cond_3
|
|
|
|
.line 4753
|
|
iget v8, v7, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I
|
|
|
|
if-lt v8, v3, :cond_3
|
|
|
|
if-le v8, v4, :cond_1
|
|
|
|
goto :goto_3
|
|
|
|
:cond_1
|
|
if-ne v8, p1, :cond_2
|
|
|
|
sub-int v8, p2, p1
|
|
|
|
.line 4761
|
|
invoke-virtual {v7, v8, v5}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->offsetPosition(IZ)V
|
|
|
|
goto :goto_2
|
|
|
|
.line 4763
|
|
:cond_2
|
|
invoke-virtual {v7, v2, v5}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->offsetPosition(IZ)V
|
|
|
|
:goto_2
|
|
iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
.line 4766
|
|
iput-boolean v1, v7, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z
|
|
|
|
:cond_3
|
|
:goto_3
|
|
add-int/lit8 v6, v6, 0x1
|
|
|
|
goto :goto_1
|
|
|
|
:cond_4
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
|
|
|
|
.line 4768
|
|
invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->offsetPositionRecordsForMove(II)V
|
|
|
|
.line 4769
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public offsetPositionRecordsForRemove(IIZ)V
|
|
.locals 7
|
|
|
|
add-int v0, p1, p2
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
|
|
|
|
.line 4792
|
|
invoke-virtual {v1}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I
|
|
|
|
move-result v1
|
|
|
|
const/4 v2, 0x0
|
|
|
|
:goto_0
|
|
if-ge v2, v1, :cond_2
|
|
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
|
|
|
|
.line 4794
|
|
invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View;
|
|
|
|
move-result-object v3
|
|
|
|
invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
|
|
|
|
move-result-object v3
|
|
|
|
if-eqz v3, :cond_1
|
|
|
|
.line 4795
|
|
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
|
|
|
|
move-result v4
|
|
|
|
if-nez v4, :cond_1
|
|
|
|
.line 4796
|
|
iget v4, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I
|
|
|
|
const/4 v5, 0x1
|
|
|
|
if-lt v4, v0, :cond_0
|
|
|
|
neg-int v4, p2
|
|
|
|
.line 4802
|
|
invoke-virtual {v3, v4, p3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->offsetPosition(IZ)V
|
|
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
.line 4803
|
|
iput-boolean v5, v3, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z
|
|
|
|
goto :goto_1
|
|
|
|
:cond_0
|
|
if-lt v4, p1, :cond_1
|
|
|
|
add-int/lit8 v4, p1, -0x1
|
|
|
|
neg-int v6, p2
|
|
|
|
.line 4809
|
|
invoke-virtual {v3, v4, v6, p3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->flagRemovedAndOffsetPosition(IIZ)V
|
|
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
.line 4811
|
|
iput-boolean v5, v3, Landroidx/recyclerview/widget/RecyclerView$State;->mStructureChanged:Z
|
|
|
|
:cond_1
|
|
:goto_1
|
|
add-int/lit8 v2, v2, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_2
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
|
|
|
|
.line 4815
|
|
invoke-virtual {v0, p1, p2, p3}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->offsetPositionRecordsForRemove(IIZ)V
|
|
|
|
.line 4816
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public onAttachedToWindow()V
|
|
.locals 5
|
|
|
|
.line 3094
|
|
invoke-super {p0}, Landroid/view/ViewGroup;->onAttachedToWindow()V
|
|
|
|
const/4 v0, 0x0
|
|
|
|
iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I
|
|
|
|
const/4 v1, 0x1
|
|
|
|
iput-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mIsAttached:Z
|
|
|
|
iget-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z
|
|
|
|
if-eqz v2, :cond_0
|
|
|
|
.line 3097
|
|
invoke-virtual {p0}, Landroid/view/View;->isLayoutRequested()Z
|
|
|
|
move-result v2
|
|
|
|
if-nez v2, :cond_0
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
move v1, v0
|
|
|
|
:goto_0
|
|
iput-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
if-eqz v1, :cond_1
|
|
|
|
.line 3099
|
|
invoke-virtual {v1, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->dispatchAttachedToWindow(Landroidx/recyclerview/widget/RecyclerView;)V
|
|
|
|
:cond_1
|
|
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPostedAnimatorRunner:Z
|
|
|
|
sget-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->ALLOW_THREAD_GAP_WORK:Z
|
|
|
|
if-eqz v0, :cond_4
|
|
|
|
.line 3105
|
|
sget-object v0, Landroidx/recyclerview/widget/GapWorker;->sGapWorker:Ljava/lang/ThreadLocal;
|
|
|
|
invoke-virtual {v0}, Ljava/lang/ThreadLocal;->get()Ljava/lang/Object;
|
|
|
|
move-result-object v1
|
|
|
|
check-cast v1, Landroidx/recyclerview/widget/GapWorker;
|
|
|
|
iput-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/GapWorker;
|
|
|
|
if-nez v1, :cond_3
|
|
|
|
.line 3107
|
|
new-instance v1, Landroidx/recyclerview/widget/GapWorker;
|
|
|
|
invoke-direct {v1}, Landroidx/recyclerview/widget/GapWorker;-><init>()V
|
|
|
|
iput-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/GapWorker;
|
|
|
|
.line 3111
|
|
invoke-static {p0}, Landroidx/core/view/ViewCompat;->getDisplay(Landroid/view/View;)Landroid/view/Display;
|
|
|
|
move-result-object v1
|
|
|
|
.line 3113
|
|
invoke-virtual {p0}, Landroid/view/View;->isInEditMode()Z
|
|
|
|
move-result v2
|
|
|
|
if-nez v2, :cond_2
|
|
|
|
if-eqz v1, :cond_2
|
|
|
|
.line 3114
|
|
invoke-virtual {v1}, Landroid/view/Display;->getRefreshRate()F
|
|
|
|
move-result v1
|
|
|
|
const/high16 v2, 0x41f00000 # 30.0f
|
|
|
|
cmpl-float v2, v1, v2
|
|
|
|
if-ltz v2, :cond_2
|
|
|
|
goto :goto_1
|
|
|
|
:cond_2
|
|
const/high16 v1, 0x42700000 # 60.0f
|
|
|
|
:goto_1
|
|
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/GapWorker;
|
|
|
|
const v3, 0x4e6e6b28 # 1.0E9f
|
|
|
|
div-float/2addr v3, v1
|
|
|
|
float-to-long v3, v3
|
|
|
|
.line 3119
|
|
iput-wide v3, v2, Landroidx/recyclerview/widget/GapWorker;->mFrameIntervalNs:J
|
|
|
|
.line 3120
|
|
invoke-virtual {v0, v2}, Ljava/lang/ThreadLocal;->set(Ljava/lang/Object;)V
|
|
|
|
:cond_3
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/GapWorker;
|
|
|
|
.line 3122
|
|
invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/GapWorker;->add(Landroidx/recyclerview/widget/RecyclerView;)V
|
|
|
|
:cond_4
|
|
return-void
|
|
.end method
|
|
|
|
.method public onChildAttachedToWindow(Landroid/view/View;)V
|
|
.locals 0
|
|
.param p1 # Landroid/view/View;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public onChildDetachedFromWindow(Landroid/view/View;)V
|
|
.locals 0
|
|
.param p1 # Landroid/view/View;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public onDetachedFromWindow()V
|
|
.locals 2
|
|
|
|
.line 3128
|
|
invoke-super {p0}, Landroid/view/ViewGroup;->onDetachedFromWindow()V
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 3130
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->endAnimations()V
|
|
|
|
.line 3132
|
|
:cond_0
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->stopScroll()V
|
|
|
|
const/4 v0, 0x0
|
|
|
|
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mIsAttached:Z
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
|
|
|
|
.line 3135
|
|
invoke-virtual {v0, p0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->dispatchDetachedFromWindow(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$Recycler;)V
|
|
|
|
:cond_1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingAccessibilityImportanceChange:Ljava/util/List;
|
|
|
|
.line 3137
|
|
invoke-interface {v0}, Ljava/util/List;->clear()V
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimatorRunner:Ljava/lang/Runnable;
|
|
|
|
.line 3138
|
|
invoke-virtual {p0, v0}, Landroid/view/View;->removeCallbacks(Ljava/lang/Runnable;)Z
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
|
|
|
|
.line 3139
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/ViewInfoStore;->onDetach()V
|
|
|
|
sget-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->ALLOW_THREAD_GAP_WORK:Z
|
|
|
|
if-eqz v0, :cond_2
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/GapWorker;
|
|
|
|
if-eqz v0, :cond_2
|
|
|
|
.line 3143
|
|
invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/GapWorker;->remove(Landroidx/recyclerview/widget/RecyclerView;)V
|
|
|
|
const/4 v0, 0x0
|
|
|
|
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/GapWorker;
|
|
|
|
:cond_2
|
|
return-void
|
|
.end method
|
|
|
|
.method public onDraw(Landroid/graphics/Canvas;)V
|
|
.locals 4
|
|
|
|
.line 4664
|
|
invoke-super {p0, p1}, Landroid/view/View;->onDraw(Landroid/graphics/Canvas;)V
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
|
|
|
|
.line 4666
|
|
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
|
|
|
|
move-result v0
|
|
|
|
const/4 v1, 0x0
|
|
|
|
:goto_0
|
|
if-ge v1, v0, :cond_0
|
|
|
|
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
|
|
|
|
.line 4668
|
|
invoke-virtual {v2, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
|
|
|
|
move-result-object v2
|
|
|
|
check-cast v2, Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;
|
|
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
invoke-virtual {v2, p1, p0, v3}, Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;->onDraw(Landroid/graphics/Canvas;Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$State;)V
|
|
|
|
add-int/lit8 v1, v1, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
return-void
|
|
.end method
|
|
|
|
.method public onEnterLayoutOrScroll()V
|
|
.locals 1
|
|
|
|
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I
|
|
|
|
add-int/lit8 v0, v0, 0x1
|
|
|
|
iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public onExitLayoutOrScroll()V
|
|
.locals 1
|
|
|
|
const/4 v0, 0x1
|
|
|
|
.line 3801
|
|
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll(Z)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public onExitLayoutOrScroll(Z)V
|
|
.locals 2
|
|
|
|
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I
|
|
|
|
const/4 v1, 0x1
|
|
|
|
sub-int/2addr v0, v1
|
|
|
|
iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I
|
|
|
|
if-ge v0, v1, :cond_0
|
|
|
|
const/4 v0, 0x0
|
|
|
|
iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I
|
|
|
|
if-eqz p1, :cond_0
|
|
|
|
.line 3813
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchContentChangedIfNecessary()V
|
|
|
|
.line 3814
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchPendingImportantForAccessibilityChanges()V
|
|
|
|
:cond_0
|
|
return-void
|
|
.end method
|
|
|
|
.method public onGenericMotionEvent(Landroid/view/MotionEvent;)Z
|
|
.locals 5
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
const/4 v1, 0x0
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
return v1
|
|
|
|
:cond_0
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
return v1
|
|
|
|
.line 3610
|
|
:cond_1
|
|
invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I
|
|
|
|
move-result v0
|
|
|
|
const/16 v2, 0x8
|
|
|
|
if-ne v0, v2, :cond_8
|
|
|
|
.line 3612
|
|
invoke-virtual {p1}, Landroid/view/MotionEvent;->getSource()I
|
|
|
|
move-result v0
|
|
|
|
and-int/lit8 v0, v0, 0x2
|
|
|
|
const/4 v2, 0x0
|
|
|
|
if-eqz v0, :cond_4
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
.line 3613
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_2
|
|
|
|
const/16 v0, 0x9
|
|
|
|
.line 3616
|
|
invoke-virtual {p1, v0}, Landroid/view/MotionEvent;->getAxisValue(I)F
|
|
|
|
move-result v0
|
|
|
|
neg-float v0, v0
|
|
|
|
goto :goto_0
|
|
|
|
:cond_2
|
|
move v0, v2
|
|
|
|
:goto_0
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
.line 3620
|
|
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z
|
|
|
|
move-result v3
|
|
|
|
if-eqz v3, :cond_3
|
|
|
|
const/16 v3, 0xa
|
|
|
|
.line 3621
|
|
invoke-virtual {p1, v3}, Landroid/view/MotionEvent;->getAxisValue(I)F
|
|
|
|
move-result v3
|
|
|
|
goto :goto_2
|
|
|
|
:cond_3
|
|
:goto_1
|
|
move v3, v2
|
|
|
|
goto :goto_2
|
|
|
|
.line 3625
|
|
:cond_4
|
|
invoke-virtual {p1}, Landroid/view/MotionEvent;->getSource()I
|
|
|
|
move-result v0
|
|
|
|
const/high16 v3, 0x400000
|
|
|
|
and-int/2addr v0, v3
|
|
|
|
if-eqz v0, :cond_6
|
|
|
|
const/16 v0, 0x1a
|
|
|
|
.line 3626
|
|
invoke-virtual {p1, v0}, Landroid/view/MotionEvent;->getAxisValue(I)F
|
|
|
|
move-result v0
|
|
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
.line 3627
|
|
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z
|
|
|
|
move-result v3
|
|
|
|
if-eqz v3, :cond_5
|
|
|
|
neg-float v0, v0
|
|
|
|
goto :goto_1
|
|
|
|
:cond_5
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
.line 3632
|
|
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z
|
|
|
|
move-result v3
|
|
|
|
if-eqz v3, :cond_6
|
|
|
|
move v3, v0
|
|
|
|
move v0, v2
|
|
|
|
goto :goto_2
|
|
|
|
:cond_6
|
|
move v0, v2
|
|
|
|
move v3, v0
|
|
|
|
:goto_2
|
|
cmpl-float v4, v0, v2
|
|
|
|
if-nez v4, :cond_7
|
|
|
|
cmpl-float v2, v3, v2
|
|
|
|
if-eqz v2, :cond_8
|
|
|
|
:cond_7
|
|
iget v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mScaledHorizontalScrollFactor:F
|
|
|
|
mul-float/2addr v3, v2
|
|
|
|
float-to-int v2, v3
|
|
|
|
iget v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mScaledVerticalScrollFactor:F
|
|
|
|
mul-float/2addr v0, v3
|
|
|
|
float-to-int v0, v0
|
|
|
|
const/4 v3, 0x1
|
|
|
|
.line 3645
|
|
invoke-direct {p0, v2, v0, p1, v3}, Landroidx/recyclerview/widget/RecyclerView;->nestedScrollByInternal(IILandroid/view/MotionEvent;I)V
|
|
|
|
:cond_8
|
|
return v1
|
|
.end method
|
|
|
|
.method public onInterceptTouchEvent(Landroid/view/MotionEvent;)Z
|
|
.locals 8
|
|
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
|
|
|
|
const/4 v1, 0x0
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
return v1
|
|
|
|
:cond_0
|
|
const/4 v0, 0x0
|
|
|
|
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptingOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;
|
|
|
|
.line 3305
|
|
invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->findInterceptingOnItemTouchListener(Landroid/view/MotionEvent;)Z
|
|
|
|
move-result v0
|
|
|
|
const/4 v2, 0x1
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
.line 3306
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->cancelScroll()V
|
|
|
|
return v2
|
|
|
|
:cond_1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
if-nez v0, :cond_2
|
|
|
|
return v1
|
|
|
|
.line 3314
|
|
:cond_2
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z
|
|
|
|
move-result v0
|
|
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
.line 3315
|
|
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z
|
|
|
|
move-result v3
|
|
|
|
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
|
|
|
|
if-nez v4, :cond_3
|
|
|
|
.line 3318
|
|
invoke-static {}, Landroid/view/VelocityTracker;->obtain()Landroid/view/VelocityTracker;
|
|
|
|
move-result-object v4
|
|
|
|
iput-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
|
|
|
|
:cond_3
|
|
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
|
|
|
|
.line 3320
|
|
invoke-virtual {v4, p1}, Landroid/view/VelocityTracker;->addMovement(Landroid/view/MotionEvent;)V
|
|
|
|
.line 3322
|
|
invoke-virtual {p1}, Landroid/view/MotionEvent;->getActionMasked()I
|
|
|
|
move-result v4
|
|
|
|
.line 3323
|
|
invoke-virtual {p1}, Landroid/view/MotionEvent;->getActionIndex()I
|
|
|
|
move-result v5
|
|
|
|
const/4 v6, 0x2
|
|
|
|
const/high16 v7, 0x3f000000 # 0.5f
|
|
|
|
if-eqz v4, :cond_c
|
|
|
|
if-eq v4, v2, :cond_b
|
|
|
|
if-eq v4, v6, :cond_7
|
|
|
|
const/4 v0, 0x3
|
|
|
|
if-eq v4, v0, :cond_6
|
|
|
|
const/4 v0, 0x5
|
|
|
|
if-eq v4, v0, :cond_5
|
|
|
|
const/4 v0, 0x6
|
|
|
|
if-eq v4, v0, :cond_4
|
|
|
|
goto/16 :goto_2
|
|
|
|
.line 3389
|
|
:cond_4
|
|
invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->onPointerUp(Landroid/view/MotionEvent;)V
|
|
|
|
goto/16 :goto_2
|
|
|
|
.line 3354
|
|
:cond_5
|
|
invoke-virtual {p1, v5}, Landroid/view/MotionEvent;->getPointerId(I)I
|
|
|
|
move-result v0
|
|
|
|
iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
|
|
|
|
.line 3355
|
|
invoke-virtual {p1, v5}, Landroid/view/MotionEvent;->getX(I)F
|
|
|
|
move-result v0
|
|
|
|
add-float/2addr v0, v7
|
|
|
|
float-to-int v0, v0
|
|
|
|
iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I
|
|
|
|
iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchX:I
|
|
|
|
.line 3356
|
|
invoke-virtual {p1, v5}, Landroid/view/MotionEvent;->getY(I)F
|
|
|
|
move-result p1
|
|
|
|
add-float/2addr p1, v7
|
|
|
|
float-to-int p1, p1
|
|
|
|
iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I
|
|
|
|
iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchY:I
|
|
|
|
goto/16 :goto_2
|
|
|
|
.line 3400
|
|
:cond_6
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->cancelScroll()V
|
|
|
|
goto/16 :goto_2
|
|
|
|
:cond_7
|
|
iget v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
|
|
|
|
.line 3360
|
|
invoke-virtual {p1, v4}, Landroid/view/MotionEvent;->findPointerIndex(I)I
|
|
|
|
move-result v4
|
|
|
|
if-gez v4, :cond_8
|
|
|
|
.line 3362
|
|
new-instance p1, Ljava/lang/StringBuilder;
|
|
|
|
invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V
|
|
|
|
const-string v0, "Error processing scroll; pointer index for id "
|
|
|
|
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
|
|
|
|
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
|
|
|
|
const-string v0, " not found. Did any MotionEvents get skipped?"
|
|
|
|
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object p1
|
|
|
|
const-string v0, "RecyclerView"
|
|
|
|
invoke-static {v0, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
|
|
|
|
return v1
|
|
|
|
.line 3367
|
|
:cond_8
|
|
invoke-virtual {p1, v4}, Landroid/view/MotionEvent;->getX(I)F
|
|
|
|
move-result v5
|
|
|
|
add-float/2addr v5, v7
|
|
|
|
float-to-int v5, v5
|
|
|
|
.line 3368
|
|
invoke-virtual {p1, v4}, Landroid/view/MotionEvent;->getY(I)F
|
|
|
|
move-result p1
|
|
|
|
add-float/2addr p1, v7
|
|
|
|
float-to-int p1, p1
|
|
|
|
iget v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I
|
|
|
|
if-eq v4, v2, :cond_10
|
|
|
|
iget v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchX:I
|
|
|
|
sub-int v4, v5, v4
|
|
|
|
iget v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchY:I
|
|
|
|
sub-int v6, p1, v6
|
|
|
|
if-eqz v0, :cond_9
|
|
|
|
.line 3373
|
|
invoke-static {v4}, Ljava/lang/Math;->abs(I)I
|
|
|
|
move-result v0
|
|
|
|
iget v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I
|
|
|
|
if-le v0, v4, :cond_9
|
|
|
|
iput v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I
|
|
|
|
move v0, v2
|
|
|
|
goto :goto_0
|
|
|
|
:cond_9
|
|
move v0, v1
|
|
|
|
:goto_0
|
|
if-eqz v3, :cond_a
|
|
|
|
.line 3377
|
|
invoke-static {v6}, Ljava/lang/Math;->abs(I)I
|
|
|
|
move-result v3
|
|
|
|
iget v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I
|
|
|
|
if-le v3, v4, :cond_a
|
|
|
|
iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I
|
|
|
|
goto :goto_1
|
|
|
|
:cond_a
|
|
if-eqz v0, :cond_10
|
|
|
|
.line 3382
|
|
:goto_1
|
|
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V
|
|
|
|
goto :goto_2
|
|
|
|
:cond_b
|
|
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
|
|
|
|
.line 3394
|
|
invoke-virtual {p1}, Landroid/view/VelocityTracker;->clear()V
|
|
|
|
.line 3395
|
|
invoke-virtual {p0, v1}, Landroidx/recyclerview/widget/RecyclerView;->stopNestedScroll(I)V
|
|
|
|
goto :goto_2
|
|
|
|
:cond_c
|
|
iget-boolean v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mIgnoreMotionEventTillDown:Z
|
|
|
|
if-eqz v4, :cond_d
|
|
|
|
iput-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mIgnoreMotionEventTillDown:Z
|
|
|
|
.line 3330
|
|
:cond_d
|
|
invoke-virtual {p1, v1}, Landroid/view/MotionEvent;->getPointerId(I)I
|
|
|
|
move-result v4
|
|
|
|
iput v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
|
|
|
|
.line 3331
|
|
invoke-virtual {p1}, Landroid/view/MotionEvent;->getX()F
|
|
|
|
move-result v4
|
|
|
|
add-float/2addr v4, v7
|
|
|
|
float-to-int v4, v4
|
|
|
|
iput v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I
|
|
|
|
iput v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchX:I
|
|
|
|
.line 3332
|
|
invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F
|
|
|
|
move-result p1
|
|
|
|
add-float/2addr p1, v7
|
|
|
|
float-to-int p1, p1
|
|
|
|
iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I
|
|
|
|
iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchY:I
|
|
|
|
iget p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I
|
|
|
|
if-ne p1, v6, :cond_e
|
|
|
|
.line 3335
|
|
invoke-virtual {p0}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
|
|
|
|
move-result-object p1
|
|
|
|
invoke-interface {p1, v2}, Landroid/view/ViewParent;->requestDisallowInterceptTouchEvent(Z)V
|
|
|
|
.line 3336
|
|
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V
|
|
|
|
.line 3337
|
|
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopNestedScroll(I)V
|
|
|
|
:cond_e
|
|
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I
|
|
|
|
.line 3341
|
|
aput v1, p1, v2
|
|
|
|
aput v1, p1, v1
|
|
|
|
if-eqz v3, :cond_f
|
|
|
|
or-int/lit8 v0, v0, 0x2
|
|
|
|
.line 3350
|
|
:cond_f
|
|
invoke-virtual {p0, v0, v1}, Landroidx/recyclerview/widget/RecyclerView;->startNestedScroll(II)Z
|
|
|
|
:cond_10
|
|
:goto_2
|
|
iget p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I
|
|
|
|
if-ne p1, v2, :cond_11
|
|
|
|
move v1, v2
|
|
|
|
:cond_11
|
|
return v1
|
|
.end method
|
|
|
|
.method public onLayout(ZIIII)V
|
|
.locals 0
|
|
|
|
const-string p1, "RV OnLayout"
|
|
|
|
.line 4577
|
|
invoke-static {p1}, Landroidx/core/os/TraceCompat;->beginSection(Ljava/lang/String;)V
|
|
|
|
.line 4578
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayout()V
|
|
|
|
.line 4579
|
|
invoke-static {}, Landroidx/core/os/TraceCompat;->endSection()V
|
|
|
|
const/4 p1, 0x1
|
|
|
|
iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public onMeasure(II)V
|
|
.locals 7
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
.line 3655
|
|
invoke-virtual {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->defaultOnMeasure(II)V
|
|
|
|
return-void
|
|
|
|
.line 3658
|
|
:cond_0
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->isAutoMeasureEnabled()Z
|
|
|
|
move-result v0
|
|
|
|
const/4 v1, 0x1
|
|
|
|
const/4 v2, 0x0
|
|
|
|
if-eqz v0, :cond_6
|
|
|
|
.line 3659
|
|
invoke-static {p1}, Landroid/view/View$MeasureSpec;->getMode(I)I
|
|
|
|
move-result v0
|
|
|
|
.line 3660
|
|
invoke-static {p2}, Landroid/view/View$MeasureSpec;->getMode(I)I
|
|
|
|
move-result v3
|
|
|
|
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
|
|
|
|
iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
.line 3669
|
|
invoke-virtual {v4, v5, v6, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onMeasure(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;II)V
|
|
|
|
const/high16 v4, 0x40000000 # 2.0f
|
|
|
|
if-ne v0, v4, :cond_1
|
|
|
|
if-ne v3, v4, :cond_1
|
|
|
|
move v2, v1
|
|
|
|
:cond_1
|
|
iput-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureSkippedDueToExact:Z
|
|
|
|
if-nez v2, :cond_5
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
|
|
|
if-nez v0, :cond_2
|
|
|
|
goto :goto_0
|
|
|
|
:cond_2
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
.line 3679
|
|
iget v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mLayoutStep:I
|
|
|
|
if-ne v0, v1, :cond_3
|
|
|
|
.line 3680
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep1()V
|
|
|
|
:cond_3
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
.line 3684
|
|
invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setMeasureSpecs(II)V
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
.line 3685
|
|
iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mIsMeasuring:Z
|
|
|
|
.line 3686
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep2()V
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
.line 3689
|
|
invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setMeasuredDimensionFromChildren(II)V
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
.line 3693
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->shouldMeasureTwice()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_4
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
.line 3695
|
|
invoke-virtual {p0}, Landroid/view/View;->getMeasuredWidth()I
|
|
|
|
move-result v2
|
|
|
|
invoke-static {v2, v4}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
|
|
|
|
move-result v2
|
|
|
|
.line 3696
|
|
invoke-virtual {p0}, Landroid/view/View;->getMeasuredHeight()I
|
|
|
|
move-result v3
|
|
|
|
invoke-static {v3, v4}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
|
|
|
|
move-result v3
|
|
|
|
.line 3694
|
|
invoke-virtual {v0, v2, v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setMeasureSpecs(II)V
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
.line 3697
|
|
iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mIsMeasuring:Z
|
|
|
|
.line 3698
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep2()V
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
.line 3700
|
|
invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setMeasuredDimensionFromChildren(II)V
|
|
|
|
.line 3703
|
|
:cond_4
|
|
invoke-virtual {p0}, Landroid/view/View;->getMeasuredWidth()I
|
|
|
|
move-result p1
|
|
|
|
iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureNonExactMeasuredWidth:I
|
|
|
|
.line 3704
|
|
invoke-virtual {p0}, Landroid/view/View;->getMeasuredHeight()I
|
|
|
|
move-result p1
|
|
|
|
iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureNonExactMeasuredHeight:I
|
|
|
|
goto :goto_4
|
|
|
|
:cond_5
|
|
:goto_0
|
|
return-void
|
|
|
|
:cond_6
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mHasFixedSize:Z
|
|
|
|
if-eqz v0, :cond_7
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
|
|
|
|
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
.line 3707
|
|
invoke-virtual {v0, v1, v2, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onMeasure(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;II)V
|
|
|
|
return-void
|
|
|
|
:cond_7
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterUpdateDuringMeasure:Z
|
|
|
|
if-eqz v0, :cond_9
|
|
|
|
.line 3712
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
|
|
|
|
.line 3713
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V
|
|
|
|
.line 3714
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->processAdapterUpdatesAndSetAnimationFlags()V
|
|
|
|
.line 3715
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
.line 3717
|
|
iget-boolean v3, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunPredictiveAnimations:Z
|
|
|
|
if-eqz v3, :cond_8
|
|
|
|
.line 3718
|
|
iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mInPreLayout:Z
|
|
|
|
goto :goto_1
|
|
|
|
:cond_8
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/AdapterHelper;
|
|
|
|
.line 3721
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/AdapterHelper;->consumeUpdatesInOnePass()V
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
.line 3722
|
|
iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mInPreLayout:Z
|
|
|
|
:goto_1
|
|
iput-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterUpdateDuringMeasure:Z
|
|
|
|
.line 3725
|
|
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
|
|
|
|
goto :goto_2
|
|
|
|
:cond_9
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
.line 3726
|
|
iget-boolean v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mRunPredictiveAnimations:Z
|
|
|
|
if-eqz v0, :cond_a
|
|
|
|
.line 3732
|
|
invoke-virtual {p0}, Landroid/view/View;->getMeasuredWidth()I
|
|
|
|
move-result p1
|
|
|
|
invoke-virtual {p0}, Landroid/view/View;->getMeasuredHeight()I
|
|
|
|
move-result p2
|
|
|
|
invoke-virtual {p0, p1, p2}, Landroid/view/View;->setMeasuredDimension(II)V
|
|
|
|
return-void
|
|
|
|
:cond_a
|
|
:goto_2
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
|
|
|
if-eqz v0, :cond_b
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
.line 3737
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->getItemCount()I
|
|
|
|
move-result v0
|
|
|
|
iput v0, v1, Landroidx/recyclerview/widget/RecyclerView$State;->mItemCount:I
|
|
|
|
goto :goto_3
|
|
|
|
:cond_b
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
.line 3739
|
|
iput v2, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mItemCount:I
|
|
|
|
.line 3741
|
|
:goto_3
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
|
|
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
.line 3742
|
|
invoke-virtual {v0, v1, v3, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onMeasure(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;II)V
|
|
|
|
.line 3743
|
|
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
|
|
|
|
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
.line 3744
|
|
iput-boolean v2, p1, Landroidx/recyclerview/widget/RecyclerView$State;->mInPreLayout:Z
|
|
|
|
:goto_4
|
|
return-void
|
|
.end method
|
|
|
|
.method public onRequestFocusInDescendants(ILandroid/graphics/Rect;)Z
|
|
.locals 1
|
|
|
|
.line 3084
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isComputingLayout()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
const/4 p1, 0x0
|
|
|
|
return p1
|
|
|
|
.line 3089
|
|
:cond_0
|
|
invoke-super {p0, p1, p2}, Landroid/view/ViewGroup;->onRequestFocusInDescendants(ILandroid/graphics/Rect;)Z
|
|
|
|
move-result p1
|
|
|
|
return p1
|
|
.end method
|
|
|
|
.method public onRestoreInstanceState(Landroid/os/Parcelable;)V
|
|
.locals 1
|
|
|
|
.line 1456
|
|
instance-of v0, p1, Landroidx/recyclerview/widget/RecyclerView$SavedState;
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
.line 1457
|
|
invoke-super {p0, p1}, Landroid/view/View;->onRestoreInstanceState(Landroid/os/Parcelable;)V
|
|
|
|
return-void
|
|
|
|
.line 1461
|
|
:cond_0
|
|
check-cast p1, Landroidx/recyclerview/widget/RecyclerView$SavedState;
|
|
|
|
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingSavedState:Landroidx/recyclerview/widget/RecyclerView$SavedState;
|
|
|
|
.line 1462
|
|
invoke-virtual {p1}, Landroidx/customview/view/AbsSavedState;->getSuperState()Landroid/os/Parcelable;
|
|
|
|
move-result-object p1
|
|
|
|
invoke-super {p0, p1}, Landroid/view/View;->onRestoreInstanceState(Landroid/os/Parcelable;)V
|
|
|
|
.line 1470
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public onSaveInstanceState()Landroid/os/Parcelable;
|
|
.locals 2
|
|
|
|
.line 1442
|
|
new-instance v0, Landroidx/recyclerview/widget/RecyclerView$SavedState;
|
|
|
|
invoke-super {p0}, Landroid/view/View;->onSaveInstanceState()Landroid/os/Parcelable;
|
|
|
|
move-result-object v1
|
|
|
|
invoke-direct {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$SavedState;-><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 1444
|
|
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$SavedState;->copyFrom(Landroidx/recyclerview/widget/RecyclerView$SavedState;)V
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
if-eqz v1, :cond_1
|
|
|
|
.line 1446
|
|
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onSaveInstanceState()Landroid/os/Parcelable;
|
|
|
|
move-result-object v1
|
|
|
|
iput-object v1, v0, Landroidx/recyclerview/widget/RecyclerView$SavedState;->mLayoutState:Landroid/os/Parcelable;
|
|
|
|
goto :goto_0
|
|
|
|
:cond_1
|
|
const/4 v1, 0x0
|
|
|
|
iput-object v1, v0, Landroidx/recyclerview/widget/RecyclerView$SavedState;->mLayoutState:Landroid/os/Parcelable;
|
|
|
|
:goto_0
|
|
return-object v0
|
|
.end method
|
|
|
|
.method public onScrollStateChanged(I)V
|
|
.locals 0
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public onScrolled(II)V
|
|
.locals 0
|
|
.param p1 # I
|
|
.annotation build Landroidx/annotation/Px;
|
|
.end annotation
|
|
.end param
|
|
.param p2 # I
|
|
.annotation build Landroidx/annotation/Px;
|
|
.end annotation
|
|
.end param
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public onSizeChanged(IIII)V
|
|
.locals 0
|
|
|
|
.line 3767
|
|
invoke-super {p0, p1, p2, p3, p4}, Landroid/view/View;->onSizeChanged(IIII)V
|
|
|
|
if-ne p1, p3, :cond_0
|
|
|
|
if-eq p2, p4, :cond_1
|
|
|
|
.line 3769
|
|
:cond_0
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->invalidateGlows()V
|
|
|
|
:cond_1
|
|
return-void
|
|
.end method
|
|
|
|
.method public onTouchEvent(Landroid/view/MotionEvent;)Z
|
|
.locals 17
|
|
|
|
move-object/from16 v6, p0
|
|
|
|
move-object/from16 v7, p1
|
|
|
|
iget-boolean v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
|
|
|
|
const/4 v8, 0x0
|
|
|
|
if-nez v0, :cond_1f
|
|
|
|
iget-boolean v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mIgnoreMotionEventTillDown:Z
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
goto/16 :goto_b
|
|
|
|
.line 3421
|
|
:cond_0
|
|
invoke-direct/range {p0 .. p1}, Landroidx/recyclerview/widget/RecyclerView;->dispatchToOnItemTouchListeners(Landroid/view/MotionEvent;)Z
|
|
|
|
move-result v0
|
|
|
|
const/4 v9, 0x1
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
.line 3422
|
|
invoke-direct/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->cancelScroll()V
|
|
|
|
return v9
|
|
|
|
:cond_1
|
|
iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
if-nez v0, :cond_2
|
|
|
|
return v8
|
|
|
|
.line 3430
|
|
:cond_2
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z
|
|
|
|
move-result v10
|
|
|
|
iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
.line 3431
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z
|
|
|
|
move-result v11
|
|
|
|
iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
|
|
|
|
if-nez v0, :cond_3
|
|
|
|
.line 3434
|
|
invoke-static {}, Landroid/view/VelocityTracker;->obtain()Landroid/view/VelocityTracker;
|
|
|
|
move-result-object v0
|
|
|
|
iput-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
|
|
|
|
.line 3438
|
|
:cond_3
|
|
invoke-virtual/range {p1 .. p1}, Landroid/view/MotionEvent;->getActionMasked()I
|
|
|
|
move-result v0
|
|
|
|
.line 3439
|
|
invoke-virtual/range {p1 .. p1}, Landroid/view/MotionEvent;->getActionIndex()I
|
|
|
|
move-result v1
|
|
|
|
if-nez v0, :cond_4
|
|
|
|
iget-object v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I
|
|
|
|
.line 3442
|
|
aput v8, v2, v9
|
|
|
|
aput v8, v2, v8
|
|
|
|
.line 3444
|
|
:cond_4
|
|
invoke-static/range {p1 .. p1}, Landroid/view/MotionEvent;->obtain(Landroid/view/MotionEvent;)Landroid/view/MotionEvent;
|
|
|
|
move-result-object v12
|
|
|
|
iget-object v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I
|
|
|
|
.line 3445
|
|
aget v3, v2, v8
|
|
|
|
int-to-float v3, v3
|
|
|
|
aget v2, v2, v9
|
|
|
|
int-to-float v2, v2
|
|
|
|
invoke-virtual {v12, v3, v2}, Landroid/view/MotionEvent;->offsetLocation(FF)V
|
|
|
|
const/high16 v2, 0x3f000000 # 0.5f
|
|
|
|
if-eqz v0, :cond_1c
|
|
|
|
if-eq v0, v9, :cond_16
|
|
|
|
const/4 v3, 0x2
|
|
|
|
if-eq v0, v3, :cond_8
|
|
|
|
const/4 v3, 0x3
|
|
|
|
if-eq v0, v3, :cond_7
|
|
|
|
const/4 v3, 0x5
|
|
|
|
if-eq v0, v3, :cond_6
|
|
|
|
const/4 v1, 0x6
|
|
|
|
if-eq v0, v1, :cond_5
|
|
|
|
goto/16 :goto_9
|
|
|
|
.line 3545
|
|
:cond_5
|
|
invoke-direct/range {p0 .. p1}, Landroidx/recyclerview/widget/RecyclerView;->onPointerUp(Landroid/view/MotionEvent;)V
|
|
|
|
goto/16 :goto_9
|
|
|
|
.line 3465
|
|
:cond_6
|
|
invoke-virtual {v7, v1}, Landroid/view/MotionEvent;->getPointerId(I)I
|
|
|
|
move-result v0
|
|
|
|
iput v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
|
|
|
|
.line 3466
|
|
invoke-virtual {v7, v1}, Landroid/view/MotionEvent;->getX(I)F
|
|
|
|
move-result v0
|
|
|
|
add-float/2addr v0, v2
|
|
|
|
float-to-int v0, v0
|
|
|
|
iput v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I
|
|
|
|
iput v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchX:I
|
|
|
|
.line 3467
|
|
invoke-virtual {v7, v1}, Landroid/view/MotionEvent;->getY(I)F
|
|
|
|
move-result v0
|
|
|
|
add-float/2addr v0, v2
|
|
|
|
float-to-int v0, v0
|
|
|
|
iput v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I
|
|
|
|
iput v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchY:I
|
|
|
|
goto/16 :goto_9
|
|
|
|
.line 3565
|
|
:cond_7
|
|
invoke-direct/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->cancelScroll()V
|
|
|
|
goto/16 :goto_9
|
|
|
|
:cond_8
|
|
iget v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
|
|
|
|
.line 3472
|
|
invoke-virtual {v7, v0}, Landroid/view/MotionEvent;->findPointerIndex(I)I
|
|
|
|
move-result v0
|
|
|
|
if-gez v0, :cond_9
|
|
|
|
.line 3474
|
|
new-instance v0, Ljava/lang/StringBuilder;
|
|
|
|
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
|
|
|
|
const-string v1, "Error processing scroll; pointer index for id "
|
|
|
|
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
iget v1, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
|
|
|
|
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
|
|
|
|
const-string v1, " not found. Did any MotionEvents get skipped?"
|
|
|
|
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object v0
|
|
|
|
const-string v1, "RecyclerView"
|
|
|
|
invoke-static {v1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
|
|
|
|
return v8
|
|
|
|
.line 3479
|
|
:cond_9
|
|
invoke-virtual {v7, v0}, Landroid/view/MotionEvent;->getX(I)F
|
|
|
|
move-result v1
|
|
|
|
add-float/2addr v1, v2
|
|
|
|
float-to-int v13, v1
|
|
|
|
.line 3480
|
|
invoke-virtual {v7, v0}, Landroid/view/MotionEvent;->getY(I)F
|
|
|
|
move-result v0
|
|
|
|
add-float/2addr v0, v2
|
|
|
|
float-to-int v14, v0
|
|
|
|
iget v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I
|
|
|
|
sub-int/2addr v0, v13
|
|
|
|
iget v1, v6, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I
|
|
|
|
sub-int/2addr v1, v14
|
|
|
|
iget v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I
|
|
|
|
if-eq v2, v9, :cond_e
|
|
|
|
if-eqz v10, :cond_b
|
|
|
|
if-lez v0, :cond_a
|
|
|
|
iget v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I
|
|
|
|
sub-int/2addr v0, v2
|
|
|
|
.line 3488
|
|
invoke-static {v8, v0}, Ljava/lang/Math;->max(II)I
|
|
|
|
move-result v0
|
|
|
|
goto :goto_0
|
|
|
|
:cond_a
|
|
iget v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I
|
|
|
|
add-int/2addr v0, v2
|
|
|
|
.line 3490
|
|
invoke-static {v8, v0}, Ljava/lang/Math;->min(II)I
|
|
|
|
move-result v0
|
|
|
|
:goto_0
|
|
if-eqz v0, :cond_b
|
|
|
|
move v2, v9
|
|
|
|
goto :goto_1
|
|
|
|
:cond_b
|
|
move v2, v8
|
|
|
|
:goto_1
|
|
if-eqz v11, :cond_d
|
|
|
|
if-lez v1, :cond_c
|
|
|
|
iget v3, v6, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I
|
|
|
|
sub-int/2addr v1, v3
|
|
|
|
.line 3498
|
|
invoke-static {v8, v1}, Ljava/lang/Math;->max(II)I
|
|
|
|
move-result v1
|
|
|
|
goto :goto_2
|
|
|
|
:cond_c
|
|
iget v3, v6, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I
|
|
|
|
add-int/2addr v1, v3
|
|
|
|
.line 3500
|
|
invoke-static {v8, v1}, Ljava/lang/Math;->min(II)I
|
|
|
|
move-result v1
|
|
|
|
:goto_2
|
|
if-eqz v1, :cond_d
|
|
|
|
move v2, v9
|
|
|
|
:cond_d
|
|
if-eqz v2, :cond_e
|
|
|
|
.line 3507
|
|
invoke-virtual {v6, v9}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V
|
|
|
|
:cond_e
|
|
move v15, v0
|
|
|
|
move/from16 v16, v1
|
|
|
|
iget v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I
|
|
|
|
if-ne v0, v9, :cond_1e
|
|
|
|
iget-object v3, v6, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I
|
|
|
|
.line 3512
|
|
aput v8, v3, v8
|
|
|
|
.line 3513
|
|
aput v8, v3, v9
|
|
|
|
if-eqz v10, :cond_f
|
|
|
|
move v1, v15
|
|
|
|
goto :goto_3
|
|
|
|
:cond_f
|
|
move v1, v8
|
|
|
|
:goto_3
|
|
if-eqz v11, :cond_10
|
|
|
|
move/from16 v2, v16
|
|
|
|
goto :goto_4
|
|
|
|
:cond_10
|
|
move v2, v8
|
|
|
|
:goto_4
|
|
iget-object v4, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I
|
|
|
|
const/4 v5, 0x0
|
|
|
|
move-object/from16 v0, p0
|
|
|
|
.line 3514
|
|
invoke-virtual/range {v0 .. v5}, Landroidx/recyclerview/widget/RecyclerView;->dispatchNestedPreScroll(II[I[II)Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_11
|
|
|
|
iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I
|
|
|
|
.line 3519
|
|
aget v1, v0, v8
|
|
|
|
sub-int/2addr v15, v1
|
|
|
|
.line 3520
|
|
aget v0, v0, v9
|
|
|
|
sub-int v16, v16, v0
|
|
|
|
iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I
|
|
|
|
.line 3522
|
|
aget v1, v0, v8
|
|
|
|
iget-object v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I
|
|
|
|
aget v3, v2, v8
|
|
|
|
add-int/2addr v1, v3
|
|
|
|
aput v1, v0, v8
|
|
|
|
.line 3523
|
|
aget v1, v0, v9
|
|
|
|
aget v2, v2, v9
|
|
|
|
add-int/2addr v1, v2
|
|
|
|
aput v1, v0, v9
|
|
|
|
.line 3525
|
|
invoke-virtual/range {p0 .. p0}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-interface {v0, v9}, Landroid/view/ViewParent;->requestDisallowInterceptTouchEvent(Z)V
|
|
|
|
:cond_11
|
|
move/from16 v0, v16
|
|
|
|
iget-object v1, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I
|
|
|
|
.line 3528
|
|
aget v2, v1, v8
|
|
|
|
sub-int/2addr v13, v2
|
|
|
|
iput v13, v6, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I
|
|
|
|
.line 3529
|
|
aget v1, v1, v9
|
|
|
|
sub-int/2addr v14, v1
|
|
|
|
iput v14, v6, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I
|
|
|
|
if-eqz v10, :cond_12
|
|
|
|
move v1, v15
|
|
|
|
goto :goto_5
|
|
|
|
:cond_12
|
|
move v1, v8
|
|
|
|
:goto_5
|
|
if-eqz v11, :cond_13
|
|
|
|
move v2, v0
|
|
|
|
goto :goto_6
|
|
|
|
:cond_13
|
|
move v2, v8
|
|
|
|
.line 3531
|
|
:goto_6
|
|
invoke-virtual {v6, v1, v2, v7, v8}, Landroidx/recyclerview/widget/RecyclerView;->scrollByInternal(IILandroid/view/MotionEvent;I)Z
|
|
|
|
move-result v1
|
|
|
|
if-eqz v1, :cond_14
|
|
|
|
.line 3535
|
|
invoke-virtual/range {p0 .. p0}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
|
|
|
|
move-result-object v1
|
|
|
|
invoke-interface {v1, v9}, Landroid/view/ViewParent;->requestDisallowInterceptTouchEvent(Z)V
|
|
|
|
:cond_14
|
|
iget-object v1, v6, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/GapWorker;
|
|
|
|
if-eqz v1, :cond_1e
|
|
|
|
if-nez v15, :cond_15
|
|
|
|
if-eqz v0, :cond_1e
|
|
|
|
.line 3538
|
|
:cond_15
|
|
invoke-virtual {v1, v6, v15, v0}, Landroidx/recyclerview/widget/GapWorker;->postFromTraversal(Landroidx/recyclerview/widget/RecyclerView;II)V
|
|
|
|
goto :goto_9
|
|
|
|
:cond_16
|
|
iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
|
|
|
|
.line 3550
|
|
invoke-virtual {v0, v12}, Landroid/view/VelocityTracker;->addMovement(Landroid/view/MotionEvent;)V
|
|
|
|
iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
|
|
|
|
iget v1, v6, Landroidx/recyclerview/widget/RecyclerView;->mMaxFlingVelocity:I
|
|
|
|
int-to-float v1, v1
|
|
|
|
const/16 v2, 0x3e8
|
|
|
|
.line 3552
|
|
invoke-virtual {v0, v2, v1}, Landroid/view/VelocityTracker;->computeCurrentVelocity(IF)V
|
|
|
|
const/4 v0, 0x0
|
|
|
|
if-eqz v10, :cond_17
|
|
|
|
iget-object v1, v6, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
|
|
|
|
iget v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
|
|
|
|
.line 3554
|
|
invoke-virtual {v1, v2}, Landroid/view/VelocityTracker;->getXVelocity(I)F
|
|
|
|
move-result v1
|
|
|
|
neg-float v1, v1
|
|
|
|
goto :goto_7
|
|
|
|
:cond_17
|
|
move v1, v0
|
|
|
|
:goto_7
|
|
if-eqz v11, :cond_18
|
|
|
|
iget-object v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
|
|
|
|
iget v3, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
|
|
|
|
.line 3556
|
|
invoke-virtual {v2, v3}, Landroid/view/VelocityTracker;->getYVelocity(I)F
|
|
|
|
move-result v2
|
|
|
|
neg-float v2, v2
|
|
|
|
goto :goto_8
|
|
|
|
:cond_18
|
|
move v2, v0
|
|
|
|
:goto_8
|
|
cmpl-float v3, v1, v0
|
|
|
|
if-nez v3, :cond_19
|
|
|
|
cmpl-float v0, v2, v0
|
|
|
|
if-eqz v0, :cond_1a
|
|
|
|
:cond_19
|
|
float-to-int v0, v1
|
|
|
|
float-to-int v1, v2
|
|
|
|
.line 3557
|
|
invoke-virtual {v6, v0, v1}, Landroidx/recyclerview/widget/RecyclerView;->fling(II)Z
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_1b
|
|
|
|
.line 3558
|
|
:cond_1a
|
|
invoke-virtual {v6, v8}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V
|
|
|
|
.line 3560
|
|
:cond_1b
|
|
invoke-direct/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->resetScroll()V
|
|
|
|
goto :goto_a
|
|
|
|
.line 3449
|
|
:cond_1c
|
|
invoke-virtual {v7, v8}, Landroid/view/MotionEvent;->getPointerId(I)I
|
|
|
|
move-result v0
|
|
|
|
iput v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
|
|
|
|
.line 3450
|
|
invoke-virtual/range {p1 .. p1}, Landroid/view/MotionEvent;->getX()F
|
|
|
|
move-result v0
|
|
|
|
add-float/2addr v0, v2
|
|
|
|
float-to-int v0, v0
|
|
|
|
iput v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I
|
|
|
|
iput v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchX:I
|
|
|
|
.line 3451
|
|
invoke-virtual/range {p1 .. p1}, Landroid/view/MotionEvent;->getY()F
|
|
|
|
move-result v0
|
|
|
|
add-float/2addr v0, v2
|
|
|
|
float-to-int v0, v0
|
|
|
|
iput v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I
|
|
|
|
iput v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchY:I
|
|
|
|
if-eqz v11, :cond_1d
|
|
|
|
or-int/lit8 v10, v10, 0x2
|
|
|
|
.line 3460
|
|
:cond_1d
|
|
invoke-virtual {v6, v10, v8}, Landroidx/recyclerview/widget/RecyclerView;->startNestedScroll(II)Z
|
|
|
|
:cond_1e
|
|
:goto_9
|
|
iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
|
|
|
|
.line 3571
|
|
invoke-virtual {v0, v12}, Landroid/view/VelocityTracker;->addMovement(Landroid/view/MotionEvent;)V
|
|
|
|
.line 3573
|
|
:goto_a
|
|
invoke-virtual {v12}, Landroid/view/MotionEvent;->recycle()V
|
|
|
|
return v9
|
|
|
|
:cond_1f
|
|
:goto_b
|
|
return v8
|
|
.end method
|
|
|
|
.method public postAnimationRunner()V
|
|
.locals 1
|
|
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPostedAnimatorRunner:Z
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mIsAttached:Z
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimatorRunner:Ljava/lang/Runnable;
|
|
|
|
.line 3914
|
|
invoke-static {p0, v0}, Landroidx/core/view/ViewCompat;->postOnAnimation(Landroid/view/View;Ljava/lang/Runnable;)V
|
|
|
|
const/4 v0, 0x1
|
|
|
|
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPostedAnimatorRunner:Z
|
|
|
|
:cond_0
|
|
return-void
|
|
.end method
|
|
|
|
.method public processDataSetCompletelyChanged(Z)V
|
|
.locals 1
|
|
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchItemsChangedEvent:Z
|
|
|
|
or-int/2addr p1, v0
|
|
|
|
iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchItemsChangedEvent:Z
|
|
|
|
const/4 p1, 0x1
|
|
|
|
iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z
|
|
|
|
.line 4869
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->markKnownViewsInvalid()V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public recordAnimationInfoIfBouncedHiddenView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V
|
|
.locals 3
|
|
|
|
const/4 v0, 0x0
|
|
|
|
const/16 v1, 0x2000
|
|
|
|
.line 4465
|
|
invoke-virtual {p1, v0, v1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->setFlags(II)V
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
.line 4466
|
|
iget-boolean v0, v0, Landroidx/recyclerview/widget/RecyclerView$State;->mTrackOldChangeHolders:Z
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isUpdated()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 4467
|
|
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isRemoved()Z
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
.line 4468
|
|
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->getChangedHolderKey(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)J
|
|
|
|
move-result-wide v0
|
|
|
|
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
|
|
|
|
.line 4469
|
|
invoke-virtual {v2, v0, v1, p1}, Landroidx/recyclerview/widget/ViewInfoStore;->addToOldChangeHolders(JLandroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
|
|
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/ViewInfoStore;
|
|
|
|
.line 4471
|
|
invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/ViewInfoStore;->addToPreLayout(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemHolderInfo;)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public removeAndRecycleViews()V
|
|
.locals 2
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 1205
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->endAnimations()V
|
|
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
|
|
|
|
.line 1212
|
|
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->removeAndRecycleAllViews(Landroidx/recyclerview/widget/RecyclerView$Recycler;)V
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
|
|
|
|
.line 1213
|
|
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->removeAndRecycleScrapInt(Landroidx/recyclerview/widget/RecyclerView$Recycler;)V
|
|
|
|
:cond_1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
|
|
|
|
.line 1216
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->clear()V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public removeAnimatingView(Landroid/view/View;)Z
|
|
.locals 2
|
|
|
|
.line 1520
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
|
|
|
|
.line 1521
|
|
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/ChildHelper;->removeViewIfHidden(Landroid/view/View;)Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 1523
|
|
invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
|
|
|
|
move-result-object p1
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
|
|
|
|
.line 1524
|
|
invoke-virtual {v1, p1}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->unscrapView(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
|
|
|
|
.line 1525
|
|
invoke-virtual {v1, p1}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->recycleViewHolderInternal(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
|
|
|
|
:cond_0
|
|
xor-int/lit8 p1, v0, 0x1
|
|
|
|
.line 1531
|
|
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
|
|
|
|
return v0
|
|
.end method
|
|
|
|
.method public removeDetachedView(Landroid/view/View;Z)V
|
|
.locals 2
|
|
|
|
.line 4508
|
|
invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
|
|
|
|
move-result-object v0
|
|
|
|
if-eqz v0, :cond_2
|
|
|
|
.line 4510
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->isTmpDetached()Z
|
|
|
|
move-result v1
|
|
|
|
if-eqz v1, :cond_0
|
|
|
|
.line 4511
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->clearTmpDetachFlag()V
|
|
|
|
goto :goto_0
|
|
|
|
.line 4512
|
|
:cond_0
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
|
|
|
|
move-result v1
|
|
|
|
if-eqz v1, :cond_1
|
|
|
|
goto :goto_0
|
|
|
|
.line 4513
|
|
:cond_1
|
|
new-instance p1, Ljava/lang/IllegalArgumentException;
|
|
|
|
new-instance p2, Ljava/lang/StringBuilder;
|
|
|
|
invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
|
|
|
|
const-string v1, "Called removeDetachedView with a view which is not flagged as tmp detached."
|
|
|
|
invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
|
|
|
|
.line 4514
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object p2
|
|
|
|
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
|
|
|
|
throw p1
|
|
|
|
.line 4521
|
|
:cond_2
|
|
:goto_0
|
|
invoke-virtual {p1}, Landroid/view/View;->clearAnimation()V
|
|
|
|
.line 4523
|
|
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->dispatchChildDetached(Landroid/view/View;)V
|
|
|
|
.line 4524
|
|
invoke-super {p0, p1, p2}, Landroid/view/ViewGroup;->removeDetachedView(Landroid/view/View;Z)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public removeItemDecoration(Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;)V
|
|
.locals 2
|
|
.param p1 # Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
const-string v1, "Cannot remove item decoration during a scroll or layout"
|
|
|
|
.line 1719
|
|
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->assertNotInLayoutOrScroll(Ljava/lang/String;)V
|
|
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
|
|
|
|
.line 1722
|
|
invoke-virtual {v0, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
|
|
|
|
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
|
|
|
|
.line 1723
|
|
invoke-virtual {p1}, Ljava/util/ArrayList;->isEmpty()Z
|
|
|
|
move-result p1
|
|
|
|
if-eqz p1, :cond_2
|
|
|
|
.line 1724
|
|
invoke-virtual {p0}, Landroid/view/View;->getOverScrollMode()I
|
|
|
|
move-result p1
|
|
|
|
const/4 v0, 0x2
|
|
|
|
if-ne p1, v0, :cond_1
|
|
|
|
const/4 p1, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_1
|
|
const/4 p1, 0x0
|
|
|
|
:goto_0
|
|
invoke-virtual {p0, p1}, Landroid/view/View;->setWillNotDraw(Z)V
|
|
|
|
.line 1726
|
|
:cond_2
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->markItemDecorInsetsDirty()V
|
|
|
|
.line 1727
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public removeItemDecorationAt(I)V
|
|
.locals 3
|
|
|
|
.line 1700
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getItemDecorationCount()I
|
|
|
|
move-result v0
|
|
|
|
if-ltz p1, :cond_0
|
|
|
|
if-ge p1, v0, :cond_0
|
|
|
|
.line 1705
|
|
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->getItemDecorationAt(I)Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;
|
|
|
|
move-result-object p1
|
|
|
|
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->removeItemDecoration(Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;)V
|
|
|
|
return-void
|
|
|
|
.line 1702
|
|
:cond_0
|
|
new-instance v1, Ljava/lang/IndexOutOfBoundsException;
|
|
|
|
new-instance v2, Ljava/lang/StringBuilder;
|
|
|
|
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
|
|
|
|
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
|
|
|
|
const-string p1, " is an invalid index for size "
|
|
|
|
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object p1
|
|
|
|
invoke-direct {v1, p1}, Ljava/lang/IndexOutOfBoundsException;-><init>(Ljava/lang/String;)V
|
|
|
|
throw v1
|
|
.end method
|
|
|
|
.method public removeOnChildAttachStateChangeListener(Landroidx/recyclerview/widget/RecyclerView$OnChildAttachStateChangeListener;)V
|
|
.locals 1
|
|
.param p1 # Landroidx/recyclerview/widget/RecyclerView$OnChildAttachStateChangeListener;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List;
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
return-void
|
|
|
|
.line 1351
|
|
:cond_0
|
|
invoke-interface {v0, p1}, Ljava/util/List;->remove(Ljava/lang/Object;)Z
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public removeOnItemTouchListener(Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;)V
|
|
.locals 1
|
|
.param p1 # Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList;
|
|
|
|
.line 3222
|
|
invoke-virtual {v0, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptingOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;
|
|
|
|
if-ne v0, p1, :cond_0
|
|
|
|
const/4 p1, 0x0
|
|
|
|
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptingOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;
|
|
|
|
:cond_0
|
|
return-void
|
|
.end method
|
|
|
|
.method public removeOnScrollListener(Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;)V
|
|
.locals 1
|
|
.param p1 # Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 1786
|
|
invoke-interface {v0, p1}, Ljava/util/List;->remove(Ljava/lang/Object;)Z
|
|
|
|
:cond_0
|
|
return-void
|
|
.end method
|
|
|
|
.method public removeRecyclerListener(Landroidx/recyclerview/widget/RecyclerView$RecyclerListener;)V
|
|
.locals 1
|
|
.param p1 # Landroidx/recyclerview/widget/RecyclerView$RecyclerListener;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecyclerListeners:Ljava/util/List;
|
|
|
|
.line 1302
|
|
invoke-interface {v0, p1}, Ljava/util/List;->remove(Ljava/lang/Object;)Z
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public repositionShadowingViews()V
|
|
.locals 7
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
|
|
|
|
.line 5678
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getChildCount()I
|
|
|
|
move-result v0
|
|
|
|
const/4 v1, 0x0
|
|
|
|
:goto_0
|
|
if-ge v1, v0, :cond_2
|
|
|
|
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
|
|
|
|
.line 5680
|
|
invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getChildAt(I)Landroid/view/View;
|
|
|
|
move-result-object v2
|
|
|
|
.line 5681
|
|
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolder(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
|
|
|
|
move-result-object v3
|
|
|
|
if-eqz v3, :cond_1
|
|
|
|
.line 5682
|
|
iget-object v3, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mShadowingHolder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
|
|
|
|
if-eqz v3, :cond_1
|
|
|
|
.line 5683
|
|
iget-object v3, v3, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
|
|
|
|
.line 5684
|
|
invoke-virtual {v2}, Landroid/view/View;->getLeft()I
|
|
|
|
move-result v4
|
|
|
|
.line 5685
|
|
invoke-virtual {v2}, Landroid/view/View;->getTop()I
|
|
|
|
move-result v2
|
|
|
|
.line 5686
|
|
invoke-virtual {v3}, Landroid/view/View;->getLeft()I
|
|
|
|
move-result v5
|
|
|
|
if-ne v4, v5, :cond_0
|
|
|
|
invoke-virtual {v3}, Landroid/view/View;->getTop()I
|
|
|
|
move-result v5
|
|
|
|
if-eq v2, v5, :cond_1
|
|
|
|
.line 5688
|
|
:cond_0
|
|
invoke-virtual {v3}, Landroid/view/View;->getWidth()I
|
|
|
|
move-result v5
|
|
|
|
add-int/2addr v5, v4
|
|
|
|
.line 5689
|
|
invoke-virtual {v3}, Landroid/view/View;->getHeight()I
|
|
|
|
move-result v6
|
|
|
|
add-int/2addr v6, v2
|
|
|
|
.line 5687
|
|
invoke-virtual {v3, v4, v2, v5, v6}, Landroid/view/View;->layout(IIII)V
|
|
|
|
:cond_1
|
|
add-int/lit8 v1, v1, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_2
|
|
return-void
|
|
.end method
|
|
|
|
.method public requestChildFocus(Landroid/view/View;Landroid/view/View;)V
|
|
.locals 2
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
.line 3026
|
|
invoke-virtual {v0, p0, v1, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->onRequestChildFocus(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$State;Landroid/view/View;Landroid/view/View;)Z
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
if-eqz p2, :cond_0
|
|
|
|
.line 3027
|
|
invoke-direct {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->requestChildOnScreen(Landroid/view/View;Landroid/view/View;)V
|
|
|
|
.line 3029
|
|
:cond_0
|
|
invoke-super {p0, p1, p2}, Landroid/view/ViewGroup;->requestChildFocus(Landroid/view/View;Landroid/view/View;)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public requestChildRectangleOnScreen(Landroid/view/View;Landroid/graphics/Rect;Z)Z
|
|
.locals 1
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
.line 3072
|
|
invoke-virtual {v0, p0, p1, p2, p3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->requestChildRectangleOnScreen(Landroidx/recyclerview/widget/RecyclerView;Landroid/view/View;Landroid/graphics/Rect;Z)Z
|
|
|
|
move-result p1
|
|
|
|
return p1
|
|
.end method
|
|
|
|
.method public requestDisallowInterceptTouchEvent(Z)V
|
|
.locals 3
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList;
|
|
|
|
.line 3408
|
|
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
|
|
|
|
move-result v0
|
|
|
|
const/4 v1, 0x0
|
|
|
|
:goto_0
|
|
if-ge v1, v0, :cond_0
|
|
|
|
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList;
|
|
|
|
.line 3410
|
|
invoke-virtual {v2, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
|
|
|
|
move-result-object v2
|
|
|
|
check-cast v2, Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;
|
|
|
|
.line 3411
|
|
invoke-interface {v2, p1}, Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;->onRequestDisallowInterceptTouchEvent(Z)V
|
|
|
|
add-int/lit8 v1, v1, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
.line 3413
|
|
:cond_0
|
|
invoke-super {p0, p1}, Landroid/view/ViewGroup;->requestDisallowInterceptTouchEvent(Z)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public requestLayout()V
|
|
.locals 1
|
|
|
|
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
.line 4586
|
|
invoke-super {p0}, Landroid/view/View;->requestLayout()V
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
const/4 v0, 0x1
|
|
|
|
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z
|
|
|
|
:goto_0
|
|
return-void
|
|
.end method
|
|
|
|
.method public saveOldPositions()V
|
|
.locals 4
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
|
|
|
|
.line 4714
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I
|
|
|
|
move-result v0
|
|
|
|
const/4 v1, 0x0
|
|
|
|
:goto_0
|
|
if-ge v1, v0, :cond_1
|
|
|
|
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
|
|
|
|
.line 4716
|
|
invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View;
|
|
|
|
move-result-object v2
|
|
|
|
invoke-static {v2}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
|
|
|
|
move-result-object v2
|
|
|
|
.line 4721
|
|
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
|
|
|
|
move-result v3
|
|
|
|
if-nez v3, :cond_0
|
|
|
|
.line 4722
|
|
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->saveOldPosition()V
|
|
|
|
:cond_0
|
|
add-int/lit8 v1, v1, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_1
|
|
return-void
|
|
.end method
|
|
|
|
.method public scrollBy(II)V
|
|
.locals 3
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
const-string p1, "RecyclerView"
|
|
|
|
const-string p2, "Cannot scroll without a LayoutManager set. Call setLayoutManager with a non-null argument."
|
|
|
|
.line 1870
|
|
invoke-static {p1, p2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
|
|
|
|
return-void
|
|
|
|
:cond_0
|
|
iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
|
|
|
|
if-eqz v1, :cond_1
|
|
|
|
return-void
|
|
|
|
.line 1877
|
|
:cond_1
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z
|
|
|
|
move-result v0
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
.line 1878
|
|
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z
|
|
|
|
move-result v1
|
|
|
|
if-nez v0, :cond_2
|
|
|
|
if-eqz v1, :cond_5
|
|
|
|
:cond_2
|
|
const/4 v2, 0x0
|
|
|
|
if-eqz v0, :cond_3
|
|
|
|
goto :goto_0
|
|
|
|
:cond_3
|
|
move p1, v2
|
|
|
|
:goto_0
|
|
if-eqz v1, :cond_4
|
|
|
|
goto :goto_1
|
|
|
|
:cond_4
|
|
move p2, v2
|
|
|
|
:goto_1
|
|
const/4 v0, 0x0
|
|
|
|
.line 1880
|
|
invoke-virtual {p0, p1, p2, v0, v2}, Landroidx/recyclerview/widget/RecyclerView;->scrollByInternal(IILandroid/view/MotionEvent;I)Z
|
|
|
|
:cond_5
|
|
return-void
|
|
.end method
|
|
|
|
.method public scrollByInternal(IILandroid/view/MotionEvent;I)Z
|
|
.locals 18
|
|
|
|
move-object/from16 v8, p0
|
|
|
|
move/from16 v9, p1
|
|
|
|
move/from16 v10, p2
|
|
|
|
move-object/from16 v11, p3
|
|
|
|
.line 2067
|
|
invoke-virtual/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->consumePendingUpdateOperations()V
|
|
|
|
iget-object v0, v8, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
|
|
|
const/4 v12, 0x1
|
|
|
|
const/4 v13, 0x0
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
iget-object v0, v8, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I
|
|
|
|
.line 2069
|
|
aput v13, v0, v13
|
|
|
|
.line 2070
|
|
aput v13, v0, v12
|
|
|
|
.line 2071
|
|
invoke-virtual {v8, v9, v10, v0}, Landroidx/recyclerview/widget/RecyclerView;->scrollStep(II[I)V
|
|
|
|
iget-object v0, v8, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I
|
|
|
|
.line 2072
|
|
aget v1, v0, v13
|
|
|
|
.line 2073
|
|
aget v0, v0, v12
|
|
|
|
sub-int v2, v9, v1
|
|
|
|
sub-int v3, v10, v0
|
|
|
|
move v14, v0
|
|
|
|
move v15, v1
|
|
|
|
move/from16 v16, v2
|
|
|
|
move/from16 v17, v3
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
move v14, v13
|
|
|
|
move v15, v14
|
|
|
|
move/from16 v16, v15
|
|
|
|
move/from16 v17, v16
|
|
|
|
:goto_0
|
|
iget-object v0, v8, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
|
|
|
|
.line 2077
|
|
invoke-virtual {v0}, Ljava/util/ArrayList;->isEmpty()Z
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_1
|
|
|
|
.line 2078
|
|
invoke-virtual/range {p0 .. p0}, Landroid/view/View;->invalidate()V
|
|
|
|
:cond_1
|
|
iget-object v7, v8, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I
|
|
|
|
.line 2081
|
|
aput v13, v7, v13
|
|
|
|
.line 2082
|
|
aput v13, v7, v12
|
|
|
|
iget-object v5, v8, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I
|
|
|
|
move-object/from16 v0, p0
|
|
|
|
move v1, v15
|
|
|
|
move v2, v14
|
|
|
|
move/from16 v3, v16
|
|
|
|
move/from16 v4, v17
|
|
|
|
move/from16 v6, p4
|
|
|
|
.line 2083
|
|
invoke-virtual/range {v0 .. v7}, Landroidx/recyclerview/widget/RecyclerView;->dispatchNestedScroll(IIII[II[I)V
|
|
|
|
iget-object v0, v8, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I
|
|
|
|
.line 2085
|
|
aget v1, v0, v13
|
|
|
|
sub-int v2, v16, v1
|
|
|
|
.line 2086
|
|
aget v0, v0, v12
|
|
|
|
sub-int v3, v17, v0
|
|
|
|
if-nez v1, :cond_3
|
|
|
|
if-eqz v0, :cond_2
|
|
|
|
goto :goto_1
|
|
|
|
:cond_2
|
|
move v0, v13
|
|
|
|
goto :goto_2
|
|
|
|
:cond_3
|
|
:goto_1
|
|
move v0, v12
|
|
|
|
:goto_2
|
|
iget v1, v8, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I
|
|
|
|
iget-object v4, v8, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I
|
|
|
|
.line 2090
|
|
aget v5, v4, v13
|
|
|
|
sub-int/2addr v1, v5
|
|
|
|
iput v1, v8, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I
|
|
|
|
iget v1, v8, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I
|
|
|
|
.line 2091
|
|
aget v4, v4, v12
|
|
|
|
sub-int/2addr v1, v4
|
|
|
|
iput v1, v8, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I
|
|
|
|
iget-object v1, v8, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I
|
|
|
|
.line 2092
|
|
aget v6, v1, v13
|
|
|
|
add-int/2addr v6, v5
|
|
|
|
aput v6, v1, v13
|
|
|
|
.line 2093
|
|
aget v5, v1, v12
|
|
|
|
add-int/2addr v5, v4
|
|
|
|
aput v5, v1, v12
|
|
|
|
.line 2095
|
|
invoke-virtual/range {p0 .. p0}, Landroid/view/View;->getOverScrollMode()I
|
|
|
|
move-result v1
|
|
|
|
const/4 v4, 0x2
|
|
|
|
if-eq v1, v4, :cond_5
|
|
|
|
if-eqz v11, :cond_4
|
|
|
|
const/16 v1, 0x2002
|
|
|
|
.line 2096
|
|
invoke-static {v11, v1}, Landroidx/core/view/MotionEventCompat;->isFromSource(Landroid/view/MotionEvent;I)Z
|
|
|
|
move-result v1
|
|
|
|
if-nez v1, :cond_4
|
|
|
|
.line 2097
|
|
invoke-virtual/range {p3 .. p3}, Landroid/view/MotionEvent;->getX()F
|
|
|
|
move-result v1
|
|
|
|
int-to-float v2, v2
|
|
|
|
invoke-virtual/range {p3 .. p3}, Landroid/view/MotionEvent;->getY()F
|
|
|
|
move-result v4
|
|
|
|
int-to-float v3, v3
|
|
|
|
invoke-direct {v8, v1, v2, v4, v3}, Landroidx/recyclerview/widget/RecyclerView;->pullGlows(FFFF)V
|
|
|
|
.line 2099
|
|
:cond_4
|
|
invoke-virtual/range {p0 .. p2}, Landroidx/recyclerview/widget/RecyclerView;->considerReleasingGlowsOnScroll(II)V
|
|
|
|
:cond_5
|
|
if-nez v15, :cond_6
|
|
|
|
if-eqz v14, :cond_7
|
|
|
|
.line 2102
|
|
:cond_6
|
|
invoke-virtual {v8, v15, v14}, Landroidx/recyclerview/widget/RecyclerView;->dispatchOnScrolled(II)V
|
|
|
|
.line 2104
|
|
:cond_7
|
|
invoke-virtual/range {p0 .. p0}, Landroid/view/View;->awakenScrollBars()Z
|
|
|
|
move-result v1
|
|
|
|
if-nez v1, :cond_8
|
|
|
|
.line 2105
|
|
invoke-virtual/range {p0 .. p0}, Landroid/view/View;->invalidate()V
|
|
|
|
:cond_8
|
|
if-nez v0, :cond_a
|
|
|
|
if-nez v15, :cond_a
|
|
|
|
if-eqz v14, :cond_9
|
|
|
|
goto :goto_3
|
|
|
|
:cond_9
|
|
move v12, v13
|
|
|
|
:cond_a
|
|
:goto_3
|
|
return v12
|
|
.end method
|
|
|
|
.method public scrollStep(II[I)V
|
|
.locals 4
|
|
.param p3 # [I
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
.end param
|
|
|
|
.line 1960
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
|
|
|
|
.line 1961
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V
|
|
|
|
const-string v0, "RV Scroll"
|
|
|
|
.line 1963
|
|
invoke-static {v0}, Landroidx/core/os/TraceCompat;->beginSection(Ljava/lang/String;)V
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
.line 1964
|
|
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->fillRemainingScrollValues(Landroidx/recyclerview/widget/RecyclerView$State;)V
|
|
|
|
const/4 v0, 0x0
|
|
|
|
if-eqz p1, :cond_0
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
|
|
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
.line 1969
|
|
invoke-virtual {v1, p1, v2, v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->scrollHorizontallyBy(ILandroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)I
|
|
|
|
move-result p1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
move p1, v0
|
|
|
|
:goto_0
|
|
if-eqz p2, :cond_1
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
|
|
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
.line 1972
|
|
invoke-virtual {v1, p2, v2, v3}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->scrollVerticallyBy(ILandroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)I
|
|
|
|
move-result p2
|
|
|
|
goto :goto_1
|
|
|
|
:cond_1
|
|
move p2, v0
|
|
|
|
.line 1975
|
|
:goto_1
|
|
invoke-static {}, Landroidx/core/os/TraceCompat;->endSection()V
|
|
|
|
.line 1976
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->repositionShadowingViews()V
|
|
|
|
.line 1978
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V
|
|
|
|
.line 1979
|
|
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
|
|
|
|
if-eqz p3, :cond_2
|
|
|
|
.line 1982
|
|
aput p1, p3, v0
|
|
|
|
const/4 p1, 0x1
|
|
|
|
.line 1983
|
|
aput p2, p3, p1
|
|
|
|
:cond_2
|
|
return-void
|
|
.end method
|
|
|
|
.method public scrollTo(II)V
|
|
.locals 0
|
|
|
|
const-string p1, "RecyclerView"
|
|
|
|
const-string p2, "RecyclerView does not support scrolling to an absolute position. Use scrollToPosition instead"
|
|
|
|
.line 1863
|
|
invoke-static {p1, p2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public scrollToPosition(I)V
|
|
.locals 1
|
|
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
return-void
|
|
|
|
.line 1812
|
|
:cond_0
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->stopScroll()V
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
if-nez v0, :cond_1
|
|
|
|
const-string p1, "RecyclerView"
|
|
|
|
const-string v0, "Cannot scroll to position a LayoutManager set. Call setLayoutManager with a non-null argument."
|
|
|
|
.line 1814
|
|
invoke-static {p1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
|
|
|
|
return-void
|
|
|
|
.line 1818
|
|
:cond_1
|
|
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->scrollToPosition(I)V
|
|
|
|
.line 1819
|
|
invoke-virtual {p0}, Landroid/view/View;->awakenScrollBars()Z
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public sendAccessibilityEventUnchecked(Landroid/view/accessibility/AccessibilityEvent;)V
|
|
.locals 1
|
|
|
|
.line 3882
|
|
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->shouldDeferAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
return-void
|
|
|
|
.line 3885
|
|
:cond_0
|
|
invoke-super {p0, p1}, Landroid/view/View;->sendAccessibilityEventUnchecked(Landroid/view/accessibility/AccessibilityEvent;)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public setAccessibilityDelegateCompat(Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate;)V
|
|
.locals 0
|
|
.param p1 # Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate;
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
.end param
|
|
|
|
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAccessibilityDelegate:Landroidx/recyclerview/widget/RecyclerViewAccessibilityDelegate;
|
|
|
|
.line 802
|
|
invoke-static {p0, p1}, Landroidx/core/view/ViewCompat;->setAccessibilityDelegate(Landroid/view/View;Landroidx/core/view/AccessibilityDelegateCompat;)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public setAdapter(Landroidx/recyclerview/widget/RecyclerView$Adapter;)V
|
|
.locals 2
|
|
.param p1 # Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
.end param
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 1193
|
|
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setLayoutFrozen(Z)V
|
|
|
|
const/4 v1, 0x1
|
|
|
|
.line 1194
|
|
invoke-direct {p0, p1, v0, v1}, Landroidx/recyclerview/widget/RecyclerView;->setAdapterInternal(Landroidx/recyclerview/widget/RecyclerView$Adapter;ZZ)V
|
|
|
|
.line 1195
|
|
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->processDataSetCompletelyChanged(Z)V
|
|
|
|
.line 1196
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public setChildDrawingOrderCallback(Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback;)V
|
|
.locals 1
|
|
.param p1 # Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback;
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
.end param
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildDrawingOrderCallback:Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback;
|
|
|
|
if-ne p1, v0, :cond_0
|
|
|
|
return-void
|
|
|
|
:cond_0
|
|
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildDrawingOrderCallback:Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback;
|
|
|
|
if-eqz p1, :cond_1
|
|
|
|
const/4 p1, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_1
|
|
const/4 p1, 0x0
|
|
|
|
.line 1748
|
|
:goto_0
|
|
invoke-virtual {p0, p1}, Landroid/view/ViewGroup;->setChildrenDrawingOrderEnabled(Z)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public setChildImportantForAccessibilityInternal(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;I)Z
|
|
.locals 1
|
|
.annotation build Landroidx/annotation/VisibleForTesting;
|
|
.end annotation
|
|
|
|
.line 11829
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isComputingLayout()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 11830
|
|
iput p2, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPendingAccessibilityState:I
|
|
|
|
iget-object p2, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingAccessibilityImportanceChange:Ljava/util/List;
|
|
|
|
.line 11831
|
|
invoke-interface {p2, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
|
|
|
|
const/4 p1, 0x0
|
|
|
|
return p1
|
|
|
|
.line 11834
|
|
:cond_0
|
|
iget-object p1, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
|
|
|
|
invoke-static {p1, p2}, Landroidx/core/view/ViewCompat;->setImportantForAccessibility(Landroid/view/View;I)V
|
|
|
|
const/4 p1, 0x1
|
|
|
|
return p1
|
|
.end method
|
|
|
|
.method public setClipToPadding(Z)V
|
|
.locals 1
|
|
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
|
|
|
|
if-eq p1, v0, :cond_0
|
|
|
|
.line 1109
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->invalidateGlows()V
|
|
|
|
:cond_0
|
|
iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
|
|
|
|
.line 1112
|
|
invoke-super {p0, p1}, Landroid/view/ViewGroup;->setClipToPadding(Z)V
|
|
|
|
iget-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z
|
|
|
|
if-eqz p1, :cond_1
|
|
|
|
.line 1114
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
|
|
|
|
:cond_1
|
|
return-void
|
|
.end method
|
|
|
|
.method public setEdgeEffectFactory(Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;)V
|
|
.locals 0
|
|
.param p1 # Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
|
|
.line 2832
|
|
invoke-static {p1}, Landroidx/core/util/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
|
|
|
|
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;
|
|
|
|
.line 2834
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->invalidateGlows()V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public setHasFixedSize(Z)V
|
|
.locals 0
|
|
|
|
iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mHasFixedSize:Z
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public setItemAnimator(Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;)V
|
|
.locals 2
|
|
.param p1 # Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
.end param
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 3787
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->endAnimations()V
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
|
|
|
|
const/4 v1, 0x0
|
|
|
|
.line 3788
|
|
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->setListener(Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemAnimatorListener;)V
|
|
|
|
:cond_0
|
|
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
|
|
|
|
if-eqz p1, :cond_1
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimatorListener:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemAnimatorListener;
|
|
|
|
.line 3792
|
|
invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->setListener(Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$ItemAnimatorListener;)V
|
|
|
|
:cond_1
|
|
return-void
|
|
.end method
|
|
|
|
.method public setItemViewCacheSize(I)V
|
|
.locals 1
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
|
|
|
|
.line 1593
|
|
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->setViewCacheSize(I)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public setLayoutFrozen(Z)V
|
|
.locals 0
|
|
.annotation runtime Ljava/lang/Deprecated;
|
|
.end annotation
|
|
|
|
.line 2401
|
|
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->suppressLayout(Z)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public setLayoutManager(Landroidx/recyclerview/widget/RecyclerView$LayoutManager;)V
|
|
.locals 3
|
|
.param p1 # Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
.end param
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
if-ne p1, v0, :cond_0
|
|
|
|
return-void
|
|
|
|
.line 1380
|
|
:cond_0
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->stopScroll()V
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
if-eqz v0, :cond_3
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
.line 1386
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->endAnimations()V
|
|
|
|
:cond_1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
|
|
|
|
.line 1388
|
|
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->removeAndRecycleAllViews(Landroidx/recyclerview/widget/RecyclerView$Recycler;)V
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
|
|
|
|
.line 1389
|
|
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->removeAndRecycleScrapInt(Landroidx/recyclerview/widget/RecyclerView$Recycler;)V
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
|
|
|
|
.line 1390
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->clear()V
|
|
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mIsAttached:Z
|
|
|
|
if-eqz v0, :cond_2
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
|
|
|
|
.line 1393
|
|
invoke-virtual {v0, p0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->dispatchDetachedFromWindow(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$Recycler;)V
|
|
|
|
:cond_2
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
const/4 v1, 0x0
|
|
|
|
.line 1395
|
|
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setRecyclerView(Landroidx/recyclerview/widget/RecyclerView;)V
|
|
|
|
iput-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
goto :goto_0
|
|
|
|
:cond_3
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
|
|
|
|
.line 1398
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->clear()V
|
|
|
|
:goto_0
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
|
|
|
|
.line 1401
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->removeAllViewsUnfiltered()V
|
|
|
|
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
if-eqz p1, :cond_5
|
|
|
|
.line 1404
|
|
iget-object v0, p1, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
|
|
|
|
if-nez v0, :cond_4
|
|
|
|
.line 1409
|
|
invoke-virtual {p1, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->setRecyclerView(Landroidx/recyclerview/widget/RecyclerView;)V
|
|
|
|
iget-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mIsAttached:Z
|
|
|
|
if-eqz p1, :cond_5
|
|
|
|
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
.line 1411
|
|
invoke-virtual {p1, p0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->dispatchAttachedToWindow(Landroidx/recyclerview/widget/RecyclerView;)V
|
|
|
|
goto :goto_1
|
|
|
|
.line 1405
|
|
:cond_4
|
|
new-instance v0, Ljava/lang/IllegalArgumentException;
|
|
|
|
new-instance v1, Ljava/lang/StringBuilder;
|
|
|
|
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
|
|
|
|
const-string v2, "LayoutManager "
|
|
|
|
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
|
|
|
|
const-string v2, " is already attached to a RecyclerView:"
|
|
|
|
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
iget-object p1, p1, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
|
|
|
|
.line 1407
|
|
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView;->exceptionLabel()Ljava/lang/String;
|
|
|
|
move-result-object p1
|
|
|
|
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object p1
|
|
|
|
invoke-direct {v0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
|
|
|
|
throw v0
|
|
|
|
:cond_5
|
|
:goto_1
|
|
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
|
|
|
|
.line 1414
|
|
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->updateViewCacheSize()V
|
|
|
|
.line 1415
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public setLayoutTransition(Landroid/animation/LayoutTransition;)V
|
|
.locals 1
|
|
.annotation runtime Ljava/lang/Deprecated;
|
|
.end annotation
|
|
|
|
if-nez p1, :cond_0
|
|
|
|
const/4 p1, 0x0
|
|
|
|
.line 2440
|
|
invoke-super {p0, p1}, Landroid/view/ViewGroup;->setLayoutTransition(Landroid/animation/LayoutTransition;)V
|
|
|
|
return-void
|
|
|
|
.line 2442
|
|
:cond_0
|
|
new-instance p1, Ljava/lang/IllegalArgumentException;
|
|
|
|
const-string v0, "Providing a LayoutTransition into RecyclerView is not supported. Please use setItemAnimator() instead for animating changes to the items in this RecyclerView"
|
|
|
|
invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
|
|
|
|
throw p1
|
|
.end method
|
|
|
|
.method public setNestedScrollingEnabled(Z)V
|
|
.locals 1
|
|
|
|
.line 11887
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-virtual {v0, p1}, Landroidx/core/view/NestedScrollingChildHelper;->setNestedScrollingEnabled(Z)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public setOnFlingListener(Landroidx/recyclerview/widget/RecyclerView$OnFlingListener;)V
|
|
.locals 0
|
|
.param p1 # Landroidx/recyclerview/widget/RecyclerView$OnFlingListener;
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
.end param
|
|
|
|
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnFlingListener:Landroidx/recyclerview/widget/RecyclerView$OnFlingListener;
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public setOnScrollListener(Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;)V
|
|
.locals 0
|
|
.param p1 # Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
.end param
|
|
.annotation runtime Ljava/lang/Deprecated;
|
|
.end annotation
|
|
|
|
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListener:Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public setPreserveFocusAfterLayout(Z)V
|
|
.locals 0
|
|
|
|
iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mPreserveFocusAfterLayout:Z
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public setRecycledViewPool(Landroidx/recyclerview/widget/RecyclerView$RecycledViewPool;)V
|
|
.locals 1
|
|
.param p1 # Landroidx/recyclerview/widget/RecyclerView$RecycledViewPool;
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
.end param
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
|
|
|
|
.line 1568
|
|
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->setRecycledViewPool(Landroidx/recyclerview/widget/RecyclerView$RecycledViewPool;)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public setRecyclerListener(Landroidx/recyclerview/widget/RecyclerView$RecyclerListener;)V
|
|
.locals 0
|
|
.param p1 # Landroidx/recyclerview/widget/RecyclerView$RecyclerListener;
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
.end param
|
|
.annotation runtime Ljava/lang/Deprecated;
|
|
.end annotation
|
|
|
|
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecyclerListener:Landroidx/recyclerview/widget/RecyclerView$RecyclerListener;
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public setScrollState(I)V
|
|
.locals 1
|
|
|
|
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I
|
|
|
|
if-ne p1, v0, :cond_0
|
|
|
|
return-void
|
|
|
|
:cond_0
|
|
iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I
|
|
|
|
const/4 v0, 0x2
|
|
|
|
if-eq p1, v0, :cond_1
|
|
|
|
.line 1616
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->stopScrollersInternal()V
|
|
|
|
.line 1618
|
|
:cond_1
|
|
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->dispatchOnScrollStateChanged(I)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public setScrollingTouchSlop(I)V
|
|
.locals 3
|
|
|
|
.line 1144
|
|
invoke-virtual {p0}, Landroid/view/View;->getContext()Landroid/content/Context;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-static {v0}, Landroid/view/ViewConfiguration;->get(Landroid/content/Context;)Landroid/view/ViewConfiguration;
|
|
|
|
move-result-object v0
|
|
|
|
if-eqz p1, :cond_1
|
|
|
|
const/4 v1, 0x1
|
|
|
|
if-eq p1, v1, :cond_0
|
|
|
|
.line 1147
|
|
new-instance v1, Ljava/lang/StringBuilder;
|
|
|
|
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
|
|
|
|
const-string v2, "setScrollingTouchSlop(): bad argument constant "
|
|
|
|
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
|
|
|
|
const-string p1, "; using default value"
|
|
|
|
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object p1
|
|
|
|
const-string v1, "RecyclerView"
|
|
|
|
invoke-static {v1, p1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
|
|
|
|
goto :goto_0
|
|
|
|
.line 1155
|
|
:cond_0
|
|
invoke-virtual {v0}, Landroid/view/ViewConfiguration;->getScaledPagingTouchSlop()I
|
|
|
|
move-result p1
|
|
|
|
iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I
|
|
|
|
goto :goto_1
|
|
|
|
.line 1151
|
|
:cond_1
|
|
:goto_0
|
|
invoke-virtual {v0}, Landroid/view/ViewConfiguration;->getScaledTouchSlop()I
|
|
|
|
move-result p1
|
|
|
|
iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I
|
|
|
|
:goto_1
|
|
return-void
|
|
.end method
|
|
|
|
.method public setViewCacheExtension(Landroidx/recyclerview/widget/RecyclerView$ViewCacheExtension;)V
|
|
.locals 1
|
|
.param p1 # Landroidx/recyclerview/widget/RecyclerView$ViewCacheExtension;
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
.end param
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
|
|
|
|
.line 1578
|
|
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->setViewCacheExtension(Landroidx/recyclerview/widget/RecyclerView$ViewCacheExtension;)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public shouldDeferAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)Z
|
|
.locals 2
|
|
|
|
.line 3866
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isComputingLayout()Z
|
|
|
|
move-result v0
|
|
|
|
const/4 v1, 0x0
|
|
|
|
if-eqz v0, :cond_2
|
|
|
|
if-eqz p1, :cond_0
|
|
|
|
.line 3869
|
|
invoke-static {p1}, Landroidx/core/view/accessibility/AccessibilityEventCompat;->getContentChangeTypes(Landroid/view/accessibility/AccessibilityEvent;)I
|
|
|
|
move-result p1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
move p1, v1
|
|
|
|
:goto_0
|
|
if-nez p1, :cond_1
|
|
|
|
goto :goto_1
|
|
|
|
:cond_1
|
|
move v1, p1
|
|
|
|
:goto_1
|
|
iget p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mEatenAccessibilityChangeFlags:I
|
|
|
|
or-int/2addr p1, v1
|
|
|
|
iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mEatenAccessibilityChangeFlags:I
|
|
|
|
const/4 p1, 0x1
|
|
|
|
return p1
|
|
|
|
:cond_2
|
|
return v1
|
|
.end method
|
|
|
|
.method public smoothScrollBy(II)V
|
|
.locals 1
|
|
.param p1 # I
|
|
.annotation build Landroidx/annotation/Px;
|
|
.end annotation
|
|
.end param
|
|
.param p2 # I
|
|
.annotation build Landroidx/annotation/Px;
|
|
.end annotation
|
|
.end param
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 2455
|
|
invoke-virtual {p0, p1, p2, v0}, Landroidx/recyclerview/widget/RecyclerView;->smoothScrollBy(IILandroid/view/animation/Interpolator;)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public smoothScrollBy(IILandroid/view/animation/Interpolator;)V
|
|
.locals 1
|
|
.param p1 # I
|
|
.annotation build Landroidx/annotation/Px;
|
|
.end annotation
|
|
.end param
|
|
.param p2 # I
|
|
.annotation build Landroidx/annotation/Px;
|
|
.end annotation
|
|
.end param
|
|
.param p3 # Landroid/view/animation/Interpolator;
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
.end param
|
|
|
|
const/high16 v0, -0x80000000
|
|
|
|
.line 2467
|
|
invoke-virtual {p0, p1, p2, p3, v0}, Landroidx/recyclerview/widget/RecyclerView;->smoothScrollBy(IILandroid/view/animation/Interpolator;I)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public smoothScrollBy(IILandroid/view/animation/Interpolator;I)V
|
|
.locals 6
|
|
.param p1 # I
|
|
.annotation build Landroidx/annotation/Px;
|
|
.end annotation
|
|
.end param
|
|
.param p2 # I
|
|
.annotation build Landroidx/annotation/Px;
|
|
.end annotation
|
|
.end param
|
|
.param p3 # Landroid/view/animation/Interpolator;
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
.end param
|
|
|
|
const/4 v5, 0x0
|
|
|
|
move-object v0, p0
|
|
|
|
move v1, p1
|
|
|
|
move v2, p2
|
|
|
|
move-object v3, p3
|
|
|
|
move v4, p4
|
|
|
|
.line 2486
|
|
invoke-virtual/range {v0 .. v5}, Landroidx/recyclerview/widget/RecyclerView;->smoothScrollBy(IILandroid/view/animation/Interpolator;IZ)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public smoothScrollBy(IILandroid/view/animation/Interpolator;IZ)V
|
|
.locals 2
|
|
.param p1 # I
|
|
.annotation build Landroidx/annotation/Px;
|
|
.end annotation
|
|
.end param
|
|
.param p2 # I
|
|
.annotation build Landroidx/annotation/Px;
|
|
.end annotation
|
|
.end param
|
|
.param p3 # Landroid/view/animation/Interpolator;
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
.end param
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
const-string p1, "RecyclerView"
|
|
|
|
const-string p2, "Cannot smooth scroll without a LayoutManager set. Call setLayoutManager with a non-null argument."
|
|
|
|
.line 2525
|
|
invoke-static {p1, p2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
|
|
|
|
return-void
|
|
|
|
:cond_0
|
|
iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
|
|
|
|
if-eqz v1, :cond_1
|
|
|
|
return-void
|
|
|
|
.line 2532
|
|
:cond_1
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z
|
|
|
|
move-result v0
|
|
|
|
const/4 v1, 0x0
|
|
|
|
if-nez v0, :cond_2
|
|
|
|
move p1, v1
|
|
|
|
:cond_2
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
.line 2535
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_3
|
|
|
|
move p2, v1
|
|
|
|
:cond_3
|
|
if-nez p1, :cond_4
|
|
|
|
if-eqz p2, :cond_a
|
|
|
|
:cond_4
|
|
const/high16 v0, -0x80000000
|
|
|
|
if-eq p4, v0, :cond_6
|
|
|
|
if-lez p4, :cond_5
|
|
|
|
goto :goto_0
|
|
|
|
.line 2553
|
|
:cond_5
|
|
invoke-virtual {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->scrollBy(II)V
|
|
|
|
goto :goto_1
|
|
|
|
:cond_6
|
|
:goto_0
|
|
if-eqz p5, :cond_9
|
|
|
|
const/4 p5, 0x1
|
|
|
|
if-eqz p1, :cond_7
|
|
|
|
move v1, p5
|
|
|
|
:cond_7
|
|
if-eqz p2, :cond_8
|
|
|
|
or-int/lit8 v1, v1, 0x2
|
|
|
|
.line 2549
|
|
:cond_8
|
|
invoke-virtual {p0, v1, p5}, Landroidx/recyclerview/widget/RecyclerView;->startNestedScroll(II)Z
|
|
|
|
:cond_9
|
|
iget-object p5, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;
|
|
|
|
.line 2551
|
|
invoke-virtual {p5, p1, p2, p4, p3}, Landroidx/recyclerview/widget/RecyclerView$ViewFlinger;->smoothScrollBy(IIILandroid/view/animation/Interpolator;)V
|
|
|
|
:cond_a
|
|
:goto_1
|
|
return-void
|
|
.end method
|
|
|
|
.method public smoothScrollToPosition(I)V
|
|
.locals 2
|
|
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
return-void
|
|
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
if-nez v0, :cond_1
|
|
|
|
const-string p1, "RecyclerView"
|
|
|
|
const-string v0, "Cannot smooth scroll without a LayoutManager set. Call setLayoutManager with a non-null argument."
|
|
|
|
.line 1854
|
|
invoke-static {p1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
|
|
|
|
return-void
|
|
|
|
:cond_1
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$State;
|
|
|
|
.line 1858
|
|
invoke-virtual {v0, p0, v1, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->smoothScrollToPosition(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$State;I)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public startInterceptRequestLayout()V
|
|
.locals 2
|
|
|
|
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I
|
|
|
|
const/4 v1, 0x1
|
|
|
|
add-int/2addr v0, v1
|
|
|
|
iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I
|
|
|
|
if-ne v0, v1, :cond_0
|
|
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
const/4 v0, 0x0
|
|
|
|
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z
|
|
|
|
:cond_0
|
|
return-void
|
|
.end method
|
|
|
|
.method public startNestedScroll(I)Z
|
|
.locals 1
|
|
|
|
.line 11897
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-virtual {v0, p1}, Landroidx/core/view/NestedScrollingChildHelper;->startNestedScroll(I)Z
|
|
|
|
move-result p1
|
|
|
|
return p1
|
|
.end method
|
|
|
|
.method public startNestedScroll(II)Z
|
|
.locals 1
|
|
|
|
.line 11902
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-virtual {v0, p1, p2}, Landroidx/core/view/NestedScrollingChildHelper;->startNestedScroll(II)Z
|
|
|
|
move-result p1
|
|
|
|
return p1
|
|
.end method
|
|
|
|
.method public stopInterceptRequestLayout(Z)V
|
|
.locals 3
|
|
|
|
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I
|
|
|
|
const/4 v1, 0x1
|
|
|
|
if-ge v0, v1, :cond_0
|
|
|
|
iput v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I
|
|
|
|
:cond_0
|
|
const/4 v0, 0x0
|
|
|
|
if-nez p1, :cond_1
|
|
|
|
iget-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
|
|
|
|
if-nez v2, :cond_1
|
|
|
|
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z
|
|
|
|
:cond_1
|
|
iget v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I
|
|
|
|
if-ne v2, v1, :cond_3
|
|
|
|
if-eqz p1, :cond_2
|
|
|
|
iget-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z
|
|
|
|
if-eqz p1, :cond_2
|
|
|
|
iget-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
|
|
|
|
if-nez p1, :cond_2
|
|
|
|
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
if-eqz p1, :cond_2
|
|
|
|
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
|
|
|
if-eqz p1, :cond_2
|
|
|
|
.line 2309
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayout()V
|
|
|
|
:cond_2
|
|
iget-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
|
|
|
|
if-nez p1, :cond_3
|
|
|
|
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z
|
|
|
|
:cond_3
|
|
iget p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I
|
|
|
|
sub-int/2addr p1, v1
|
|
|
|
iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public stopNestedScroll()V
|
|
.locals 1
|
|
|
|
.line 11907
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-virtual {v0}, Landroidx/core/view/NestedScrollingChildHelper;->stopNestedScroll()V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public stopNestedScroll(I)V
|
|
.locals 1
|
|
|
|
.line 11912
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Landroidx/core/view/NestedScrollingChildHelper;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-virtual {v0, p1}, Landroidx/core/view/NestedScrollingChildHelper;->stopNestedScroll(I)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public stopScroll()V
|
|
.locals 1
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 2626
|
|
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V
|
|
|
|
.line 2627
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->stopScrollersInternal()V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public final suppressLayout(Z)V
|
|
.locals 9
|
|
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
|
|
|
|
if-eq p1, v0, :cond_2
|
|
|
|
const-string v0, "Do not suppressLayout in layout or scroll"
|
|
|
|
.line 2346
|
|
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->assertNotInLayoutOrScroll(Ljava/lang/String;)V
|
|
|
|
if-nez p1, :cond_1
|
|
|
|
const/4 p1, 0x0
|
|
|
|
iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
|
|
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 2350
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
|
|
|
|
:cond_0
|
|
iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z
|
|
|
|
goto :goto_0
|
|
|
|
.line 2354
|
|
:cond_1
|
|
invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
|
|
|
|
move-result-wide v3
|
|
|
|
const/4 v5, 0x3
|
|
|
|
const/4 v6, 0x0
|
|
|
|
const/4 v7, 0x0
|
|
|
|
const/4 v8, 0x0
|
|
|
|
move-wide v1, v3
|
|
|
|
.line 2355
|
|
invoke-static/range {v1 .. v8}, Landroid/view/MotionEvent;->obtain(JJIFFI)Landroid/view/MotionEvent;
|
|
|
|
move-result-object p1
|
|
|
|
.line 2357
|
|
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->onTouchEvent(Landroid/view/MotionEvent;)Z
|
|
|
|
const/4 p1, 0x1
|
|
|
|
iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
|
|
|
|
iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mIgnoreMotionEventTillDown:Z
|
|
|
|
.line 2360
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->stopScroll()V
|
|
|
|
:cond_2
|
|
:goto_0
|
|
return-void
|
|
.end method
|
|
|
|
.method public swapAdapter(Landroidx/recyclerview/widget/RecyclerView$Adapter;Z)V
|
|
.locals 1
|
|
.param p1 # Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
.end param
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 1176
|
|
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setLayoutFrozen(Z)V
|
|
|
|
const/4 v0, 0x1
|
|
|
|
.line 1177
|
|
invoke-direct {p0, p1, v0, p2}, Landroidx/recyclerview/widget/RecyclerView;->setAdapterInternal(Landroidx/recyclerview/widget/RecyclerView$Adapter;ZZ)V
|
|
|
|
.line 1178
|
|
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->processDataSetCompletelyChanged(Z)V
|
|
|
|
.line 1179
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public viewRangeUpdate(IILjava/lang/Object;)V
|
|
.locals 6
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
|
|
|
|
.line 4826
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildCount()I
|
|
|
|
move-result v0
|
|
|
|
add-int v1, p1, p2
|
|
|
|
const/4 v2, 0x0
|
|
|
|
:goto_0
|
|
if-ge v2, v0, :cond_2
|
|
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/ChildHelper;
|
|
|
|
.line 4830
|
|
invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/ChildHelper;->getUnfilteredChildAt(I)Landroid/view/View;
|
|
|
|
move-result-object v3
|
|
|
|
.line 4831
|
|
invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
|
|
|
|
move-result-object v4
|
|
|
|
if-eqz v4, :cond_1
|
|
|
|
.line 4832
|
|
invoke-virtual {v4}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->shouldIgnore()Z
|
|
|
|
move-result v5
|
|
|
|
if-eqz v5, :cond_0
|
|
|
|
goto :goto_1
|
|
|
|
.line 4835
|
|
:cond_0
|
|
iget v5, v4, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->mPosition:I
|
|
|
|
if-lt v5, p1, :cond_1
|
|
|
|
if-ge v5, v1, :cond_1
|
|
|
|
const/4 v5, 0x2
|
|
|
|
.line 4838
|
|
invoke-virtual {v4, v5}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->addFlags(I)V
|
|
|
|
.line 4839
|
|
invoke-virtual {v4, p3}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->addChangePayload(Ljava/lang/Object;)V
|
|
|
|
.line 4841
|
|
invoke-virtual {v3}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
|
|
|
|
move-result-object v3
|
|
|
|
check-cast v3, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
|
|
|
|
const/4 v4, 0x1
|
|
|
|
iput-boolean v4, v3, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->mInsetsDirty:Z
|
|
|
|
:cond_1
|
|
:goto_1
|
|
add-int/lit8 v2, v2, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_2
|
|
iget-object p3, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$Recycler;
|
|
|
|
.line 4844
|
|
invoke-virtual {p3, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->viewRangeUpdate(II)V
|
|
|
|
return-void
|
|
.end method
|