14377 lines
368 KiB
Smali
14377 lines
368 KiB
Smali
.class public Landroidx/recyclerview/widget/RecyclerView;
|
|
.super Landroid/view/ViewGroup;
|
|
.source "RecyclerView.java"
|
|
|
|
# interfaces
|
|
.implements Ls1/k0;
|
|
.implements Ls1/w;
|
|
.implements Ls1/x;
|
|
|
|
|
|
# annotations
|
|
.annotation system Ldalvik/annotation/MemberClasses;
|
|
value = {
|
|
Landroidx/recyclerview/widget/RecyclerView$j;,
|
|
Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;,
|
|
Landroidx/recyclerview/widget/RecyclerView$k;,
|
|
Landroidx/recyclerview/widget/RecyclerView$o;,
|
|
Landroidx/recyclerview/widget/RecyclerView$x;,
|
|
Landroidx/recyclerview/widget/RecyclerView$SavedState;,
|
|
Landroidx/recyclerview/widget/RecyclerView$h;,
|
|
Landroidx/recyclerview/widget/RecyclerView$w;,
|
|
Landroidx/recyclerview/widget/RecyclerView$i;,
|
|
Landroidx/recyclerview/widget/RecyclerView$LayoutParams;,
|
|
Landroidx/recyclerview/widget/RecyclerView$a0;,
|
|
Landroidx/recyclerview/widget/RecyclerView$n;,
|
|
Landroidx/recyclerview/widget/RecyclerView$t;,
|
|
Landroidx/recyclerview/widget/RecyclerView$q;,
|
|
Landroidx/recyclerview/widget/RecyclerView$v;,
|
|
Landroidx/recyclerview/widget/RecyclerView$p;,
|
|
Landroidx/recyclerview/widget/RecyclerView$l;,
|
|
Landroidx/recyclerview/widget/RecyclerView$m;,
|
|
Landroidx/recyclerview/widget/RecyclerView$Adapter;,
|
|
Landroidx/recyclerview/widget/RecyclerView$y;,
|
|
Landroidx/recyclerview/widget/RecyclerView$s;,
|
|
Landroidx/recyclerview/widget/RecyclerView$r;,
|
|
Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;,
|
|
Landroidx/recyclerview/widget/RecyclerView$u;,
|
|
Landroidx/recyclerview/widget/RecyclerView$z;,
|
|
Landroidx/recyclerview/widget/RecyclerView$Orientation;
|
|
}
|
|
.end annotation
|
|
|
|
|
|
# static fields
|
|
.field public static final ALLOW_SIZE_IN_UNSPECIFIED_SPEC:Z
|
|
|
|
.field public static final ALLOW_THREAD_GAP_WORK:Z
|
|
|
|
.field public static final DEBUG:Z = false
|
|
|
|
.field public static final DEFAULT_ORIENTATION:I = 0x1
|
|
|
|
.field public static final DISPATCH_TEMP_DETACH:Z = false
|
|
|
|
.field private static final FORCE_ABS_FOCUS_SEARCH_DIRECTION:Z
|
|
|
|
.field public static final FORCE_INVALIDATE_DISPLAY_LIST:Z
|
|
|
|
.field public 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 public static final MAX_SCROLL_DURATION:I = 0x7d0
|
|
|
|
.field private static final NESTED_SCROLLING_ATTRS:[I
|
|
|
|
.field public static final NO_ID:J = -0x1L
|
|
|
|
.field public static final NO_POSITION:I = -0x1
|
|
|
|
.field public static final 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 public 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 public static final TRACE_BIND_VIEW_TAG:Ljava/lang/String; = "RV OnBindView"
|
|
|
|
.field public 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 public 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 public static final TRACE_PREFETCH_TAG:Ljava/lang/String; = "RV Prefetch"
|
|
|
|
.field public static final TRACE_SCROLL_TAG:Ljava/lang/String; = "RV Scroll"
|
|
|
|
.field public static final UNDEFINED_DURATION:I = -0x80000000
|
|
|
|
.field public static final VERBOSE_TRACING:Z = false
|
|
|
|
.field public static final VERTICAL:I = 0x1
|
|
|
|
.field public static final sQuinticInterpolator:Landroid/view/animation/Interpolator;
|
|
|
|
|
|
# instance fields
|
|
.field public mAccessibilityDelegate:Landroidx/recyclerview/widget/c0;
|
|
|
|
.field private final mAccessibilityManager:Landroid/view/accessibility/AccessibilityManager;
|
|
|
|
.field public mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
|
|
|
.field public mAdapterHelper:Landroidx/recyclerview/widget/a;
|
|
|
|
.field public mAdapterUpdateDuringMeasure:Z
|
|
|
|
.field private mBottomGlow:Landroid/widget/EdgeEffect;
|
|
|
|
.field private mChildDrawingOrderCallback:Landroidx/recyclerview/widget/RecyclerView$j;
|
|
|
|
.field public mChildHelper:Landroidx/recyclerview/widget/g;
|
|
|
|
.field public mClipToPadding:Z
|
|
|
|
.field public mDataSetHasChangedAfterLayout:Z
|
|
|
|
.field public 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 public mEnableFastScroller:Z
|
|
|
|
.field public mFirstLayoutComplete:Z
|
|
.annotation build Landroidx/annotation/VisibleForTesting;
|
|
.end annotation
|
|
.end field
|
|
|
|
.field public mGapWorker:Landroidx/recyclerview/widget/n;
|
|
|
|
.field public 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$p;
|
|
|
|
.field public mIsAttached:Z
|
|
|
|
.field public mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
|
|
|
|
.field private mItemAnimatorListener:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$b;
|
|
|
|
.field private mItemAnimatorRunner:Ljava/lang/Runnable;
|
|
|
|
.field public final mItemDecorations:Ljava/util/ArrayList;
|
|
.annotation system Ldalvik/annotation/Signature;
|
|
value = {
|
|
"Ljava/util/ArrayList<",
|
|
"Landroidx/recyclerview/widget/RecyclerView$l;",
|
|
">;"
|
|
}
|
|
.end annotation
|
|
.end field
|
|
|
|
.field public mItemsAddedOrRemoved:Z
|
|
|
|
.field public mItemsChanged:Z
|
|
|
|
.field private mLastAutoMeasureNonExactMeasuredHeight:I
|
|
|
|
.field private mLastAutoMeasureNonExactMeasuredWidth:I
|
|
|
|
.field private mLastAutoMeasureSkippedDueToExact:Z
|
|
|
|
.field private mLastTouchX:I
|
|
|
|
.field private mLastTouchY:I
|
|
|
|
.field public mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
.annotation build Landroidx/annotation/VisibleForTesting;
|
|
.end annotation
|
|
.end field
|
|
|
|
.field private mLayoutOrScrollCounter:I
|
|
|
|
.field public mLayoutSuppressed:Z
|
|
|
|
.field public 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$u;
|
|
|
|
.field private mOnChildAttachStateListeners:Ljava/util/List;
|
|
.annotation system Ldalvik/annotation/Signature;
|
|
value = {
|
|
"Ljava/util/List<",
|
|
"Landroidx/recyclerview/widget/RecyclerView$n;",
|
|
">;"
|
|
}
|
|
.end annotation
|
|
.end field
|
|
|
|
.field private mOnFlingListener:Landroidx/recyclerview/widget/RecyclerView$o;
|
|
|
|
.field private final mOnItemTouchListeners:Ljava/util/ArrayList;
|
|
.annotation system Ldalvik/annotation/Signature;
|
|
value = {
|
|
"Ljava/util/ArrayList<",
|
|
"Landroidx/recyclerview/widget/RecyclerView$p;",
|
|
">;"
|
|
}
|
|
.end annotation
|
|
.end field
|
|
|
|
.field public 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$a0;",
|
|
">;"
|
|
}
|
|
.end annotation
|
|
.end field
|
|
|
|
.field public mPendingSavedState:Landroidx/recyclerview/widget/RecyclerView$SavedState;
|
|
|
|
.field public mPostedAnimatorRunner:Z
|
|
|
|
.field public mPrefetchRegistry:Landroidx/recyclerview/widget/n$b;
|
|
|
|
.field private mPreserveFocusAfterLayout:Z
|
|
|
|
.field public final mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
|
|
|
|
.field public mRecyclerListener:Landroidx/recyclerview/widget/RecyclerView$t;
|
|
|
|
.field public final mRecyclerListeners:Ljava/util/List;
|
|
.annotation system Ldalvik/annotation/Signature;
|
|
value = {
|
|
"Ljava/util/List<",
|
|
"Landroidx/recyclerview/widget/RecyclerView$t;",
|
|
">;"
|
|
}
|
|
.end annotation
|
|
.end field
|
|
|
|
.field public final mReusableIntPair:[I
|
|
|
|
.field private mRightGlow:Landroid/widget/EdgeEffect;
|
|
|
|
.field private mScaledHorizontalScrollFactor:F
|
|
|
|
.field private mScaledVerticalScrollFactor:F
|
|
|
|
.field private mScrollListener:Landroidx/recyclerview/widget/RecyclerView$q;
|
|
|
|
.field private mScrollListeners:Ljava/util/List;
|
|
.annotation system Ldalvik/annotation/Signature;
|
|
value = {
|
|
"Ljava/util/List<",
|
|
"Landroidx/recyclerview/widget/RecyclerView$q;",
|
|
">;"
|
|
}
|
|
.end annotation
|
|
.end field
|
|
|
|
.field private final mScrollOffset:[I
|
|
|
|
.field private mScrollPointerId:I
|
|
|
|
.field private mScrollState:I
|
|
|
|
.field private mScrollingChildHelper:Ls1/z;
|
|
|
|
.field public final mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
.field public final mTempRect:Landroid/graphics/Rect;
|
|
|
|
.field private final mTempRect2:Landroid/graphics/Rect;
|
|
|
|
.field public final mTempRectF:Landroid/graphics/RectF;
|
|
|
|
.field private mTopGlow:Landroid/widget/EdgeEffect;
|
|
|
|
.field private mTouchSlop:I
|
|
|
|
.field public final mUpdateChildViewsRunnable:Ljava/lang/Runnable;
|
|
|
|
.field private mVelocityTracker:Landroid/view/VelocityTracker;
|
|
|
|
.field public final mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$z;
|
|
|
|
.field private final mViewInfoProcessCallback:Landroidx/recyclerview/widget/l0$b;
|
|
|
|
.field public final mViewInfoStore:Landroidx/recyclerview/widget/l0;
|
|
|
|
|
|
# direct methods
|
|
.method static constructor <clinit>()V
|
|
.locals 4
|
|
|
|
const/4 v0, 0x1
|
|
|
|
new-array v1, v0, [I
|
|
|
|
const v2, 0x1010436
|
|
|
|
const/4 v3, 0x0
|
|
|
|
aput v2, v1, v3
|
|
|
|
.line 1
|
|
sput-object v1, Landroidx/recyclerview/widget/RecyclerView;->NESTED_SCROLLING_ATTRS:[I
|
|
|
|
.line 2
|
|
sput-boolean v3, Landroidx/recyclerview/widget/RecyclerView;->FORCE_INVALIDATE_DISPLAY_LIST:Z
|
|
|
|
.line 3
|
|
sput-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->ALLOW_SIZE_IN_UNSPECIFIED_SPEC:Z
|
|
|
|
.line 4
|
|
sput-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->POST_UPDATES_ON_ANIMATION:Z
|
|
|
|
.line 5
|
|
sput-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->ALLOW_THREAD_GAP_WORK:Z
|
|
|
|
.line 6
|
|
sput-boolean v3, Landroidx/recyclerview/widget/RecyclerView;->FORCE_ABS_FOCUS_SEARCH_DIRECTION:Z
|
|
|
|
.line 7
|
|
sput-boolean v3, Landroidx/recyclerview/widget/RecyclerView;->IGNORE_DETACHED_FOCUSED_CHILD:Z
|
|
|
|
const/4 v1, 0x4
|
|
|
|
new-array v1, v1, [Ljava/lang/Class;
|
|
|
|
.line 8
|
|
const-class v2, Landroid/content/Context;
|
|
|
|
aput-object v2, v1, v3
|
|
|
|
const-class v2, Landroid/util/AttributeSet;
|
|
|
|
aput-object v2, v1, v0
|
|
|
|
const/4 v0, 0x2
|
|
|
|
sget-object v2, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
|
|
|
|
aput-object v2, v1, v0
|
|
|
|
const/4 v0, 0x3
|
|
|
|
aput-object v2, v1, v0
|
|
|
|
sput-object v1, Landroidx/recyclerview/widget/RecyclerView;->LAYOUT_MANAGER_CONSTRUCTOR_SIGNATURE:[Ljava/lang/Class;
|
|
|
|
.line 9
|
|
new-instance v0, Landroidx/recyclerview/widget/RecyclerView$c;
|
|
|
|
invoke-direct {v0}, Landroidx/recyclerview/widget/RecyclerView$c;-><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 1
|
|
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
|
|
|
|
.line 2
|
|
sget v0, Landroidx/recyclerview/R$attr;->recyclerViewStyle:I
|
|
|
|
invoke-direct {p0, p1, p2, v0}, Landroidx/recyclerview/widget/RecyclerView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
|
|
.locals 15
|
|
.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 3
|
|
invoke-direct/range {p0 .. p3}, Landroid/view/ViewGroup;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
|
|
|
|
.line 4
|
|
new-instance v0, Landroidx/recyclerview/widget/RecyclerView$u;
|
|
|
|
invoke-direct {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$u;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
|
|
|
|
iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mObserver:Landroidx/recyclerview/widget/RecyclerView$u;
|
|
|
|
.line 5
|
|
new-instance v0, Landroidx/recyclerview/widget/RecyclerView$s;
|
|
|
|
invoke-direct {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$s;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
|
|
|
|
iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
|
|
|
|
.line 6
|
|
new-instance v0, Landroidx/recyclerview/widget/l0;
|
|
|
|
invoke-direct {v0}, Landroidx/recyclerview/widget/l0;-><init>()V
|
|
|
|
iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/l0;
|
|
|
|
.line 7
|
|
new-instance v0, Landroidx/recyclerview/widget/RecyclerView$a;
|
|
|
|
invoke-direct {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$a;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
|
|
|
|
iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mUpdateChildViewsRunnable:Ljava/lang/Runnable;
|
|
|
|
.line 8
|
|
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 9
|
|
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 10
|
|
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 11
|
|
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 12
|
|
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 13
|
|
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
|
|
|
|
.line 14
|
|
iput v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I
|
|
|
|
.line 15
|
|
iput-boolean v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z
|
|
|
|
.line 16
|
|
iput-boolean v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mDispatchItemsChangedEvent:Z
|
|
|
|
.line 17
|
|
iput v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I
|
|
|
|
.line 18
|
|
iput v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mDispatchScrollCounter:I
|
|
|
|
.line 19
|
|
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 20
|
|
new-instance v0, Landroidx/recyclerview/widget/j;
|
|
|
|
invoke-direct {v0}, Landroidx/recyclerview/widget/j;-><init>()V
|
|
|
|
iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
|
|
|
|
.line 21
|
|
iput v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I
|
|
|
|
const/4 v12, -0x1
|
|
|
|
.line 22
|
|
iput v12, v7, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
|
|
|
|
const/4 v0, 0x1
|
|
|
|
.line 23
|
|
iput v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mScaledHorizontalScrollFactor:F
|
|
|
|
.line 24
|
|
iput v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mScaledVerticalScrollFactor:F
|
|
|
|
const/4 v13, 0x1
|
|
|
|
.line 25
|
|
iput-boolean v13, v7, Landroidx/recyclerview/widget/RecyclerView;->mPreserveFocusAfterLayout:Z
|
|
|
|
.line 26
|
|
new-instance v0, Landroidx/recyclerview/widget/RecyclerView$z;
|
|
|
|
invoke-direct {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$z;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
|
|
|
|
iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$z;
|
|
|
|
.line 27
|
|
sget-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->ALLOW_THREAD_GAP_WORK:Z
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
new-instance v0, Landroidx/recyclerview/widget/n$b;
|
|
|
|
invoke-direct {v0}, Landroidx/recyclerview/widget/n$b;-><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/n$b;
|
|
|
|
.line 28
|
|
new-instance v0, Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
invoke-direct {v0}, Landroidx/recyclerview/widget/RecyclerView$x;-><init>()V
|
|
|
|
iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
.line 29
|
|
iput-boolean v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mItemsAddedOrRemoved:Z
|
|
|
|
.line 30
|
|
iput-boolean v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mItemsChanged:Z
|
|
|
|
.line 31
|
|
new-instance v0, Landroidx/recyclerview/widget/RecyclerView$k;
|
|
|
|
invoke-direct {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$k;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
|
|
|
|
iput-object v0, v7, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimatorListener:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$b;
|
|
|
|
.line 32
|
|
iput-boolean v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mPostedAnimatorRunner:Z
|
|
|
|
const/4 v0, 0x2
|
|
|
|
new-array v1, v0, [I
|
|
|
|
.line 33
|
|
iput-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mMinMaxLayoutPositions:[I
|
|
|
|
new-array v1, v0, [I
|
|
|
|
.line 34
|
|
iput-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I
|
|
|
|
new-array v1, v0, [I
|
|
|
|
.line 35
|
|
iput-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I
|
|
|
|
new-array v1, v0, [I
|
|
|
|
.line 36
|
|
iput-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I
|
|
|
|
.line 37
|
|
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 38
|
|
new-instance v1, Landroidx/recyclerview/widget/RecyclerView$b;
|
|
|
|
invoke-direct {v1, p0}, Landroidx/recyclerview/widget/RecyclerView$b;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
|
|
|
|
iput-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimatorRunner:Ljava/lang/Runnable;
|
|
|
|
.line 39
|
|
iput v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureNonExactMeasuredWidth:I
|
|
|
|
.line 40
|
|
iput v11, v7, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureNonExactMeasuredHeight:I
|
|
|
|
.line 41
|
|
new-instance v1, Landroidx/recyclerview/widget/RecyclerView$d;
|
|
|
|
invoke-direct {v1, p0}, Landroidx/recyclerview/widget/RecyclerView$d;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
|
|
|
|
iput-object v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoProcessCallback:Landroidx/recyclerview/widget/l0$b;
|
|
|
|
.line 42
|
|
invoke-virtual {p0, v13}, Landroid/view/ViewGroup;->setScrollContainer(Z)V
|
|
|
|
.line 43
|
|
invoke-virtual {p0, v13}, Landroid/view/ViewGroup;->setFocusableInTouchMode(Z)V
|
|
|
|
.line 44
|
|
invoke-static/range {p1 .. p1}, Landroid/view/ViewConfiguration;->get(Landroid/content/Context;)Landroid/view/ViewConfiguration;
|
|
|
|
move-result-object v1
|
|
|
|
.line 45
|
|
invoke-virtual {v1}, Landroid/view/ViewConfiguration;->getScaledTouchSlop()I
|
|
|
|
move-result v2
|
|
|
|
iput v2, v7, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I
|
|
|
|
.line 46
|
|
invoke-static {v1, v8}, Ls1/p0;->b(Landroid/view/ViewConfiguration;Landroid/content/Context;)F
|
|
|
|
move-result v2
|
|
|
|
iput v2, v7, Landroidx/recyclerview/widget/RecyclerView;->mScaledHorizontalScrollFactor:F
|
|
|
|
.line 47
|
|
invoke-static {v1, v8}, Ls1/p0;->e(Landroid/view/ViewConfiguration;Landroid/content/Context;)F
|
|
|
|
move-result v2
|
|
|
|
iput v2, v7, Landroidx/recyclerview/widget/RecyclerView;->mScaledVerticalScrollFactor:F
|
|
|
|
.line 48
|
|
invoke-virtual {v1}, Landroid/view/ViewConfiguration;->getScaledMinimumFlingVelocity()I
|
|
|
|
move-result v2
|
|
|
|
iput v2, v7, Landroidx/recyclerview/widget/RecyclerView;->mMinFlingVelocity:I
|
|
|
|
.line 49
|
|
invoke-virtual {v1}, Landroid/view/ViewConfiguration;->getScaledMaximumFlingVelocity()I
|
|
|
|
move-result v1
|
|
|
|
iput v1, v7, Landroidx/recyclerview/widget/RecyclerView;->mMaxFlingVelocity:I
|
|
|
|
.line 50
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->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/ViewGroup;->setWillNotDraw(Z)V
|
|
|
|
.line 51
|
|
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$b;
|
|
|
|
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->A(Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$b;)V
|
|
|
|
.line 52
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->initAdapterManager()V
|
|
|
|
.line 53
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->initChildrenHelper()V
|
|
|
|
.line 54
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->initAutofill()V
|
|
|
|
.line 55
|
|
invoke-static {p0}, Landroidx/core/view/ViewCompat;->V(Landroid/view/View;)I
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_2
|
|
|
|
.line 56
|
|
invoke-static {p0, v13}, Landroidx/core/view/ViewCompat;->R1(Landroid/view/View;I)V
|
|
|
|
.line 57
|
|
:cond_2
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getContext()Landroid/content/Context;
|
|
|
|
move-result-object v0
|
|
|
|
const-string v1, "accessibility"
|
|
|
|
.line 58
|
|
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 59
|
|
new-instance v0, Landroidx/recyclerview/widget/c0;
|
|
|
|
invoke-direct {v0, p0}, Landroidx/recyclerview/widget/c0;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
|
|
|
|
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setAccessibilityDelegateCompat(Landroidx/recyclerview/widget/c0;)V
|
|
|
|
.line 60
|
|
sget-object v2, Landroidx/recyclerview/R$styleable;->RecyclerView:[I
|
|
|
|
invoke-virtual {v8, v9, v2, v10, v11}, Landroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray;
|
|
|
|
move-result-object v14
|
|
|
|
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
|
|
|
|
.line 61
|
|
invoke-static/range {v0 .. v6}, Landroidx/core/view/ViewCompat;->z1(Landroid/view/View;Landroid/content/Context;[ILandroid/util/AttributeSet;Landroid/content/res/TypedArray;II)V
|
|
|
|
.line 62
|
|
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 63
|
|
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 64
|
|
invoke-virtual {p0, v0}, Landroid/view/ViewGroup;->setDescendantFocusability(I)V
|
|
|
|
.line 65
|
|
: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 66
|
|
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 67
|
|
sget v0, Landroidx/recyclerview/R$styleable;->RecyclerView_fastScrollVerticalThumbDrawable:I
|
|
|
|
.line 68
|
|
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 69
|
|
sget v1, Landroidx/recyclerview/R$styleable;->RecyclerView_fastScrollVerticalTrackDrawable:I
|
|
|
|
.line 70
|
|
invoke-virtual {v14, v1}, Landroid/content/res/TypedArray;->getDrawable(I)Landroid/graphics/drawable/Drawable;
|
|
|
|
move-result-object v1
|
|
|
|
.line 71
|
|
sget v3, Landroidx/recyclerview/R$styleable;->RecyclerView_fastScrollHorizontalThumbDrawable:I
|
|
|
|
.line 72
|
|
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 73
|
|
sget v4, Landroidx/recyclerview/R$styleable;->RecyclerView_fastScrollHorizontalTrackDrawable:I
|
|
|
|
.line 74
|
|
invoke-virtual {v14, v4}, Landroid/content/res/TypedArray;->getDrawable(I)Landroid/graphics/drawable/Drawable;
|
|
|
|
move-result-object v4
|
|
|
|
.line 75
|
|
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 76
|
|
: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 77
|
|
invoke-direct/range {v0 .. v5}, Landroidx/recyclerview/widget/RecyclerView;->createLayoutManager(Landroid/content/Context;Ljava/lang/String;Landroid/util/AttributeSet;II)V
|
|
|
|
.line 78
|
|
sget-object v2, Landroidx/recyclerview/widget/RecyclerView;->NESTED_SCROLLING_ATTRS:[I
|
|
|
|
invoke-virtual {v8, v9, v2, v10, v11}, Landroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray;
|
|
|
|
move-result-object v12
|
|
|
|
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 79
|
|
invoke-static/range {v0 .. v6}, Landroidx/core/view/ViewCompat;->z1(Landroid/view/View;Landroid/content/Context;[ILandroid/util/AttributeSet;Landroid/content/res/TypedArray;II)V
|
|
|
|
.line 80
|
|
invoke-virtual {v12, v11, v13}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z
|
|
|
|
move-result v0
|
|
|
|
.line 81
|
|
invoke-virtual {v12}, Landroid/content/res/TypedArray;->recycle()V
|
|
|
|
.line 82
|
|
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 1
|
|
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 1
|
|
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 1
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->awakenScrollBars()Z
|
|
|
|
move-result p0
|
|
|
|
return p0
|
|
.end method
|
|
|
|
.method public static synthetic access$300(Landroidx/recyclerview/widget/RecyclerView;II)V
|
|
.locals 0
|
|
|
|
.line 1
|
|
invoke-virtual {p0, p1, p2}, Landroid/view/ViewGroup;->setMeasuredDimension(II)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method private addAnimatingView(Landroidx/recyclerview/widget/RecyclerView$a0;)V
|
|
.locals 5
|
|
|
|
.line 1
|
|
iget-object v0, p1, Landroidx/recyclerview/widget/RecyclerView$a0;->itemView:Landroid/view/View;
|
|
|
|
.line 2
|
|
invoke-virtual {v0}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
|
|
|
|
move-result-object v1
|
|
|
|
const/4 v2, 0x1
|
|
|
|
if-ne v1, p0, :cond_0
|
|
|
|
move v1, v2
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
const/4 v1, 0x0
|
|
|
|
.line 3
|
|
:goto_0
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
|
|
|
|
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolder(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$a0;
|
|
|
|
move-result-object v4
|
|
|
|
invoke-virtual {v3, v4}, Landroidx/recyclerview/widget/RecyclerView$s;->K(Landroidx/recyclerview/widget/RecyclerView$a0;)V
|
|
|
|
.line 4
|
|
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$a0;->isTmpDetached()Z
|
|
|
|
move-result p1
|
|
|
|
if-eqz p1, :cond_1
|
|
|
|
.line 5
|
|
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
|
|
|
|
const/4 v1, -0x1
|
|
|
|
invoke-virtual {v0}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
|
|
|
|
move-result-object v3
|
|
|
|
invoke-virtual {p1, v0, v1, v3, v2}, Landroidx/recyclerview/widget/g;->c(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;Z)V
|
|
|
|
goto :goto_1
|
|
|
|
:cond_1
|
|
if-nez v1, :cond_2
|
|
|
|
.line 6
|
|
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
|
|
|
|
invoke-virtual {p1, v0, v2}, Landroidx/recyclerview/widget/g;->b(Landroid/view/View;Z)V
|
|
|
|
goto :goto_1
|
|
|
|
.line 7
|
|
:cond_2
|
|
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
|
|
|
|
invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/g;->k(Landroid/view/View;)V
|
|
|
|
:goto_1
|
|
return-void
|
|
.end method
|
|
|
|
.method private animateChange(Landroidx/recyclerview/widget/RecyclerView$a0;Landroidx/recyclerview/widget/RecyclerView$a0;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;ZZ)V
|
|
.locals 1
|
|
.param p1 # Landroidx/recyclerview/widget/RecyclerView$a0;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
.param p2 # Landroidx/recyclerview/widget/RecyclerView$a0;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
.param p3 # Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
.param p4 # Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 1
|
|
invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$a0;->setIsRecyclable(Z)V
|
|
|
|
if-eqz p5, :cond_0
|
|
|
|
.line 2
|
|
invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->addAnimatingView(Landroidx/recyclerview/widget/RecyclerView$a0;)V
|
|
|
|
:cond_0
|
|
if-eq p1, p2, :cond_2
|
|
|
|
if-eqz p6, :cond_1
|
|
|
|
.line 3
|
|
invoke-direct {p0, p2}, Landroidx/recyclerview/widget/RecyclerView;->addAnimatingView(Landroidx/recyclerview/widget/RecyclerView$a0;)V
|
|
|
|
.line 4
|
|
:cond_1
|
|
iput-object p2, p1, Landroidx/recyclerview/widget/RecyclerView$a0;->mShadowedHolder:Landroidx/recyclerview/widget/RecyclerView$a0;
|
|
|
|
.line 5
|
|
invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->addAnimatingView(Landroidx/recyclerview/widget/RecyclerView$a0;)V
|
|
|
|
.line 6
|
|
iget-object p5, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
|
|
|
|
invoke-virtual {p5, p1}, Landroidx/recyclerview/widget/RecyclerView$s;->K(Landroidx/recyclerview/widget/RecyclerView$a0;)V
|
|
|
|
.line 7
|
|
invoke-virtual {p2, v0}, Landroidx/recyclerview/widget/RecyclerView$a0;->setIsRecyclable(Z)V
|
|
|
|
.line 8
|
|
iput-object p1, p2, Landroidx/recyclerview/widget/RecyclerView$a0;->mShadowingHolder:Landroidx/recyclerview/widget/RecyclerView$a0;
|
|
|
|
.line 9
|
|
:cond_2
|
|
iget-object p5, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
|
|
|
|
invoke-virtual {p5, p1, p2, p3, p4}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->b(Landroidx/recyclerview/widget/RecyclerView$a0;Landroidx/recyclerview/widget/RecyclerView$a0;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;)Z
|
|
|
|
move-result p1
|
|
|
|
if-eqz p1, :cond_3
|
|
|
|
.line 10
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->postAnimationRunner()V
|
|
|
|
:cond_3
|
|
return-void
|
|
.end method
|
|
|
|
.method private cancelScroll()V
|
|
.locals 1
|
|
|
|
.line 1
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->resetScroll()V
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 2
|
|
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public static clearNestedRecyclerViewIfNotNested(Landroidx/recyclerview/widget/RecyclerView$a0;)V
|
|
.locals 3
|
|
.param p0 # Landroidx/recyclerview/widget/RecyclerView$a0;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView$a0;->mNestedRecyclerView:Ljava/lang/ref/WeakReference;
|
|
|
|
if-eqz v0, :cond_3
|
|
|
|
.line 2
|
|
invoke-virtual {v0}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object;
|
|
|
|
move-result-object v0
|
|
|
|
check-cast v0, Landroid/view/View;
|
|
|
|
:goto_0
|
|
const/4 v1, 0x0
|
|
|
|
if-eqz v0, :cond_2
|
|
|
|
.line 3
|
|
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView$a0;->itemView:Landroid/view/View;
|
|
|
|
if-ne v0, v2, :cond_0
|
|
|
|
return-void
|
|
|
|
.line 4
|
|
:cond_0
|
|
invoke-virtual {v0}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
|
|
|
|
move-result-object v0
|
|
|
|
.line 5
|
|
instance-of v2, v0, Landroid/view/View;
|
|
|
|
if-eqz v2, :cond_1
|
|
|
|
.line 6
|
|
check-cast v0, Landroid/view/View;
|
|
|
|
goto :goto_0
|
|
|
|
:cond_1
|
|
move-object v0, v1
|
|
|
|
goto :goto_0
|
|
|
|
.line 7
|
|
:cond_2
|
|
iput-object v1, p0, Landroidx/recyclerview/widget/RecyclerView$a0;->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 7
|
|
|
|
const-string v0, ": Could not instantiate the LayoutManager: "
|
|
|
|
if-eqz p2, :cond_1
|
|
|
|
.line 1
|
|
invoke-virtual {p2}, Ljava/lang/String;->trim()Ljava/lang/String;
|
|
|
|
move-result-object p2
|
|
|
|
.line 2
|
|
invoke-virtual {p2}, Ljava/lang/String;->isEmpty()Z
|
|
|
|
move-result v1
|
|
|
|
if-nez v1, :cond_1
|
|
|
|
.line 3
|
|
invoke-direct {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->getFullClassName(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
|
|
|
|
move-result-object p2
|
|
|
|
.line 4
|
|
:try_start_0
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->isInEditMode()Z
|
|
|
|
move-result v1
|
|
|
|
if-eqz v1, :cond_0
|
|
|
|
.line 5
|
|
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
|
|
|
|
move-result-object v1
|
|
|
|
invoke-virtual {v1}, Ljava/lang/Class;->getClassLoader()Ljava/lang/ClassLoader;
|
|
|
|
move-result-object v1
|
|
|
|
goto :goto_0
|
|
|
|
.line 6
|
|
:cond_0
|
|
invoke-virtual {p1}, Landroid/content/Context;->getClassLoader()Ljava/lang/ClassLoader;
|
|
|
|
move-result-object v1
|
|
|
|
:goto_0
|
|
const/4 v2, 0x0
|
|
|
|
.line 7
|
|
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$m;
|
|
|
|
.line 8
|
|
invoke-virtual {v1, v3}, Ljava/lang/Class;->asSubclass(Ljava/lang/Class;)Ljava/lang/Class;
|
|
|
|
move-result-object v1
|
|
:try_end_0
|
|
.catch Ljava/lang/ClassNotFoundException; {:try_start_0 .. :try_end_0} :catch_6
|
|
.catch Ljava/lang/reflect/InvocationTargetException; {:try_start_0 .. :try_end_0} :catch_5
|
|
.catch Ljava/lang/InstantiationException; {:try_start_0 .. :try_end_0} :catch_4
|
|
.catch Ljava/lang/IllegalAccessException; {:try_start_0 .. :try_end_0} :catch_3
|
|
.catch Ljava/lang/ClassCastException; {:try_start_0 .. :try_end_0} :catch_2
|
|
|
|
const/4 v3, 0x0
|
|
|
|
const/4 v4, 0x1
|
|
|
|
.line 9
|
|
:try_start_1
|
|
sget-object v5, Landroidx/recyclerview/widget/RecyclerView;->LAYOUT_MANAGER_CONSTRUCTOR_SIGNATURE:[Ljava/lang/Class;
|
|
|
|
.line 10
|
|
invoke-virtual {v1, v5}, Ljava/lang/Class;->getConstructor([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
|
|
|
|
move-result-object v5
|
|
|
|
const/4 v6, 0x4
|
|
|
|
new-array v6, v6, [Ljava/lang/Object;
|
|
|
|
aput-object p1, v6, v2
|
|
|
|
aput-object p3, v6, v4
|
|
|
|
const/4 p1, 0x2
|
|
|
|
.line 11
|
|
invoke-static {p4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
|
|
|
|
move-result-object p4
|
|
|
|
aput-object p4, v6, p1
|
|
|
|
const/4 p1, 0x3
|
|
|
|
invoke-static {p5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
|
|
|
|
move-result-object p4
|
|
|
|
aput-object p4, v6, p1
|
|
:try_end_1
|
|
.catch Ljava/lang/NoSuchMethodException; {:try_start_1 .. :try_end_1} :catch_0
|
|
.catch Ljava/lang/ClassNotFoundException; {:try_start_1 .. :try_end_1} :catch_6
|
|
.catch Ljava/lang/reflect/InvocationTargetException; {:try_start_1 .. :try_end_1} :catch_5
|
|
.catch Ljava/lang/InstantiationException; {:try_start_1 .. :try_end_1} :catch_4
|
|
.catch Ljava/lang/IllegalAccessException; {:try_start_1 .. :try_end_1} :catch_3
|
|
.catch Ljava/lang/ClassCastException; {:try_start_1 .. :try_end_1} :catch_2
|
|
|
|
move-object v3, v6
|
|
|
|
goto :goto_1
|
|
|
|
:catch_0
|
|
move-exception p1
|
|
|
|
:try_start_2
|
|
new-array p4, v2, [Ljava/lang/Class;
|
|
|
|
.line 12
|
|
invoke-virtual {v1, p4}, Ljava/lang/Class;->getConstructor([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
|
|
|
|
move-result-object v5
|
|
:try_end_2
|
|
.catch Ljava/lang/NoSuchMethodException; {:try_start_2 .. :try_end_2} :catch_1
|
|
.catch Ljava/lang/ClassNotFoundException; {:try_start_2 .. :try_end_2} :catch_6
|
|
.catch Ljava/lang/reflect/InvocationTargetException; {:try_start_2 .. :try_end_2} :catch_5
|
|
.catch Ljava/lang/InstantiationException; {:try_start_2 .. :try_end_2} :catch_4
|
|
.catch Ljava/lang/IllegalAccessException; {:try_start_2 .. :try_end_2} :catch_3
|
|
.catch Ljava/lang/ClassCastException; {:try_start_2 .. :try_end_2} :catch_2
|
|
|
|
.line 13
|
|
:goto_1
|
|
:try_start_3
|
|
invoke-virtual {v5, v4}, Ljava/lang/reflect/Constructor;->setAccessible(Z)V
|
|
|
|
.line 14
|
|
invoke-virtual {v5, v3}, Ljava/lang/reflect/Constructor;->newInstance([Ljava/lang/Object;)Ljava/lang/Object;
|
|
|
|
move-result-object p1
|
|
|
|
check-cast p1, Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->setLayoutManager(Landroidx/recyclerview/widget/RecyclerView$m;)V
|
|
|
|
goto/16 :goto_2
|
|
|
|
:catch_1
|
|
move-exception p4
|
|
|
|
.line 15
|
|
invoke-virtual {p4, p1}, Ljava/lang/NoSuchMethodException;->initCause(Ljava/lang/Throwable;)Ljava/lang/Throwable;
|
|
|
|
.line 16
|
|
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_6
|
|
.catch Ljava/lang/reflect/InvocationTargetException; {:try_start_3 .. :try_end_3} :catch_5
|
|
.catch Ljava/lang/InstantiationException; {:try_start_3 .. :try_end_3} :catch_4
|
|
.catch Ljava/lang/IllegalAccessException; {:try_start_3 .. :try_end_3} :catch_3
|
|
.catch Ljava/lang/ClassCastException; {:try_start_3 .. :try_end_3} :catch_2
|
|
|
|
:catch_2
|
|
move-exception p1
|
|
|
|
.line 17
|
|
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
|
|
|
|
:catch_3
|
|
move-exception p1
|
|
|
|
.line 18
|
|
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
|
|
|
|
:catch_4
|
|
move-exception p1
|
|
|
|
.line 19
|
|
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
|
|
|
|
:catch_5
|
|
move-exception p1
|
|
|
|
.line 20
|
|
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
|
|
|
|
:catch_6
|
|
move-exception p1
|
|
|
|
.line 21
|
|
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_2
|
|
return-void
|
|
.end method
|
|
|
|
.method private didChildRangeChange(II)Z
|
|
.locals 4
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinMaxLayoutPositions:[I
|
|
|
|
invoke-direct {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->findMinMaxChildLayoutPositions([I)V
|
|
|
|
.line 2
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinMaxLayoutPositions:[I
|
|
|
|
const/4 v1, 0x0
|
|
|
|
aget v2, v0, v1
|
|
|
|
const/4 v3, 0x1
|
|
|
|
if-ne v2, p1, :cond_0
|
|
|
|
aget p1, v0, v3
|
|
|
|
if-eq p1, p2, :cond_1
|
|
|
|
:cond_0
|
|
move v1, v3
|
|
|
|
:cond_1
|
|
return v1
|
|
.end method
|
|
|
|
.method private dispatchContentChangedIfNecessary()V
|
|
.locals 3
|
|
|
|
.line 1
|
|
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mEatenAccessibilityChangeFlags:I
|
|
|
|
const/4 v1, 0x0
|
|
|
|
.line 2
|
|
iput v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mEatenAccessibilityChangeFlags:I
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 3
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isAccessibilityEnabled()Z
|
|
|
|
move-result v1
|
|
|
|
if-eqz v1, :cond_0
|
|
|
|
.line 4
|
|
invoke-static {}, Landroid/view/accessibility/AccessibilityEvent;->obtain()Landroid/view/accessibility/AccessibilityEvent;
|
|
|
|
move-result-object v1
|
|
|
|
const/16 v2, 0x800
|
|
|
|
.line 5
|
|
invoke-virtual {v1, v2}, Landroid/view/accessibility/AccessibilityEvent;->setEventType(I)V
|
|
|
|
.line 6
|
|
invoke-static {v1, v0}, Landroidx/core/view/accessibility/AccessibilityEventCompat;->i(Landroid/view/accessibility/AccessibilityEvent;I)V
|
|
|
|
.line 7
|
|
invoke-virtual {p0, v1}, Landroidx/recyclerview/widget/RecyclerView;->sendAccessibilityEventUnchecked(Landroid/view/accessibility/AccessibilityEvent;)V
|
|
|
|
:cond_0
|
|
return-void
|
|
.end method
|
|
|
|
.method private dispatchLayoutStep1()V
|
|
.locals 8
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
const/4 v1, 0x1
|
|
|
|
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$x;->a(I)V
|
|
|
|
.line 2
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->fillRemainingScrollValues(Landroidx/recyclerview/widget/RecyclerView$x;)V
|
|
|
|
.line 3
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
const/4 v2, 0x0
|
|
|
|
iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$x;->j:Z
|
|
|
|
.line 4
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
|
|
|
|
.line 5
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/l0;
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/l0;->f()V
|
|
|
|
.line 6
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V
|
|
|
|
.line 7
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->processAdapterUpdatesAndSetAnimationFlags()V
|
|
|
|
.line 8
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->saveFocusInfo()V
|
|
|
|
.line 9
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
iget-boolean v3, v0, Landroidx/recyclerview/widget/RecyclerView$x;->k: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$x;->i:Z
|
|
|
|
.line 10
|
|
iput-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemsChanged:Z
|
|
|
|
iput-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemsAddedOrRemoved:Z
|
|
|
|
.line 11
|
|
iget-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$x;->l:Z
|
|
|
|
iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$x;->h:Z
|
|
|
|
.line 12
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
|
|
|
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->getItemCount()I
|
|
|
|
move-result v1
|
|
|
|
iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$x;->f:I
|
|
|
|
.line 13
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinMaxLayoutPositions:[I
|
|
|
|
invoke-direct {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->findMinMaxChildLayoutPositions([I)V
|
|
|
|
.line 14
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
iget-boolean v0, v0, Landroidx/recyclerview/widget/RecyclerView$x;->k:Z
|
|
|
|
if-eqz v0, :cond_3
|
|
|
|
.line 15
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/g;->g()I
|
|
|
|
move-result v0
|
|
|
|
move v1, v2
|
|
|
|
:goto_1
|
|
if-ge v1, v0, :cond_3
|
|
|
|
.line 16
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
|
|
|
|
invoke-virtual {v3, v1}, Landroidx/recyclerview/widget/g;->f(I)Landroid/view/View;
|
|
|
|
move-result-object v3
|
|
|
|
invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$a0;
|
|
|
|
move-result-object v3
|
|
|
|
.line 17
|
|
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$a0;->shouldIgnore()Z
|
|
|
|
move-result v4
|
|
|
|
if-nez v4, :cond_2
|
|
|
|
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$a0;->isInvalid()Z
|
|
|
|
move-result v4
|
|
|
|
if-eqz v4, :cond_1
|
|
|
|
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
|
|
|
invoke-virtual {v4}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z
|
|
|
|
move-result v4
|
|
|
|
if-nez v4, :cond_1
|
|
|
|
goto :goto_2
|
|
|
|
.line 18
|
|
: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$x;
|
|
|
|
.line 19
|
|
invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->e(Landroidx/recyclerview/widget/RecyclerView$a0;)I
|
|
|
|
move-result v6
|
|
|
|
.line 20
|
|
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$a0;->getUnmodifiedPayloads()Ljava/util/List;
|
|
|
|
move-result-object v7
|
|
|
|
.line 21
|
|
invoke-virtual {v4, v5, v3, v6, v7}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->w(Landroidx/recyclerview/widget/RecyclerView$x;Landroidx/recyclerview/widget/RecyclerView$a0;ILjava/util/List;)Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;
|
|
|
|
move-result-object v4
|
|
|
|
.line 22
|
|
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/l0;
|
|
|
|
invoke-virtual {v5, v3, v4}, Landroidx/recyclerview/widget/l0;->e(Landroidx/recyclerview/widget/RecyclerView$a0;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;)V
|
|
|
|
.line 23
|
|
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
iget-boolean v4, v4, Landroidx/recyclerview/widget/RecyclerView$x;->i:Z
|
|
|
|
if-eqz v4, :cond_2
|
|
|
|
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$a0;->isUpdated()Z
|
|
|
|
move-result v4
|
|
|
|
if-eqz v4, :cond_2
|
|
|
|
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$a0;->isRemoved()Z
|
|
|
|
move-result v4
|
|
|
|
if-nez v4, :cond_2
|
|
|
|
.line 24
|
|
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$a0;->shouldIgnore()Z
|
|
|
|
move-result v4
|
|
|
|
if-nez v4, :cond_2
|
|
|
|
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$a0;->isInvalid()Z
|
|
|
|
move-result v4
|
|
|
|
if-nez v4, :cond_2
|
|
|
|
.line 25
|
|
invoke-virtual {p0, v3}, Landroidx/recyclerview/widget/RecyclerView;->getChangedHolderKey(Landroidx/recyclerview/widget/RecyclerView$a0;)J
|
|
|
|
move-result-wide v4
|
|
|
|
.line 26
|
|
iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/l0;
|
|
|
|
invoke-virtual {v6, v4, v5, v3}, Landroidx/recyclerview/widget/l0;->c(JLandroidx/recyclerview/widget/RecyclerView$a0;)V
|
|
|
|
:cond_2
|
|
:goto_2
|
|
add-int/lit8 v1, v1, 0x1
|
|
|
|
goto :goto_1
|
|
|
|
.line 27
|
|
:cond_3
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
iget-boolean v0, v0, Landroidx/recyclerview/widget/RecyclerView$x;->l:Z
|
|
|
|
if-eqz v0, :cond_9
|
|
|
|
.line 28
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->saveOldPositions()V
|
|
|
|
.line 29
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
iget-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$x;->g:Z
|
|
|
|
.line 30
|
|
iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$x;->g:Z
|
|
|
|
.line 31
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
|
|
|
|
invoke-virtual {v3, v4, v0}, Landroidx/recyclerview/widget/RecyclerView$m;->onLayoutChildren(Landroidx/recyclerview/widget/RecyclerView$s;Landroidx/recyclerview/widget/RecyclerView$x;)V
|
|
|
|
.line 32
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$x;->g:Z
|
|
|
|
move v0, v2
|
|
|
|
.line 33
|
|
:goto_3
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
|
|
|
|
invoke-virtual {v1}, Landroidx/recyclerview/widget/g;->g()I
|
|
|
|
move-result v1
|
|
|
|
if-ge v0, v1, :cond_8
|
|
|
|
.line 34
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
|
|
|
|
invoke-virtual {v1, v0}, Landroidx/recyclerview/widget/g;->f(I)Landroid/view/View;
|
|
|
|
move-result-object v1
|
|
|
|
.line 35
|
|
invoke-static {v1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$a0;
|
|
|
|
move-result-object v1
|
|
|
|
.line 36
|
|
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$a0;->shouldIgnore()Z
|
|
|
|
move-result v3
|
|
|
|
if-eqz v3, :cond_4
|
|
|
|
goto :goto_4
|
|
|
|
.line 37
|
|
:cond_4
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/l0;
|
|
|
|
invoke-virtual {v3, v1}, Landroidx/recyclerview/widget/l0;->i(Landroidx/recyclerview/widget/RecyclerView$a0;)Z
|
|
|
|
move-result v3
|
|
|
|
if-nez v3, :cond_7
|
|
|
|
.line 38
|
|
invoke-static {v1}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->e(Landroidx/recyclerview/widget/RecyclerView$a0;)I
|
|
|
|
move-result v3
|
|
|
|
const/16 v4, 0x2000
|
|
|
|
.line 39
|
|
invoke-virtual {v1, v4}, Landroidx/recyclerview/widget/RecyclerView$a0;->hasAnyOfTheFlags(I)Z
|
|
|
|
move-result v4
|
|
|
|
if-nez v4, :cond_5
|
|
|
|
or-int/lit16 v3, v3, 0x1000
|
|
|
|
.line 40
|
|
: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$x;
|
|
|
|
.line 41
|
|
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$a0;->getUnmodifiedPayloads()Ljava/util/List;
|
|
|
|
move-result-object v7
|
|
|
|
.line 42
|
|
invoke-virtual {v5, v6, v1, v3, v7}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->w(Landroidx/recyclerview/widget/RecyclerView$x;Landroidx/recyclerview/widget/RecyclerView$a0;ILjava/util/List;)Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;
|
|
|
|
move-result-object v3
|
|
|
|
if-eqz v4, :cond_6
|
|
|
|
.line 43
|
|
invoke-virtual {p0, v1, v3}, Landroidx/recyclerview/widget/RecyclerView;->recordAnimationInfoIfBouncedHiddenView(Landroidx/recyclerview/widget/RecyclerView$a0;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;)V
|
|
|
|
goto :goto_4
|
|
|
|
.line 44
|
|
:cond_6
|
|
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/l0;
|
|
|
|
invoke-virtual {v4, v1, v3}, Landroidx/recyclerview/widget/l0;->a(Landroidx/recyclerview/widget/RecyclerView$a0;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;)V
|
|
|
|
:cond_7
|
|
:goto_4
|
|
add-int/lit8 v0, v0, 0x1
|
|
|
|
goto :goto_3
|
|
|
|
.line 45
|
|
:cond_8
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->clearOldPositions()V
|
|
|
|
goto :goto_5
|
|
|
|
.line 46
|
|
:cond_9
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->clearOldPositions()V
|
|
|
|
.line 47
|
|
:goto_5
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V
|
|
|
|
.line 48
|
|
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
|
|
|
|
.line 49
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
const/4 v1, 0x2
|
|
|
|
iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$x;->e:I
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method private dispatchLayoutStep2()V
|
|
.locals 4
|
|
|
|
.line 1
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
|
|
|
|
.line 2
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V
|
|
|
|
.line 3
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
const/4 v1, 0x6
|
|
|
|
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$x;->a(I)V
|
|
|
|
.line 4
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/a;
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/a;->k()V
|
|
|
|
.line 5
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
|
|
|
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->getItemCount()I
|
|
|
|
move-result v1
|
|
|
|
iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$x;->f:I
|
|
|
|
.line 6
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
const/4 v1, 0x0
|
|
|
|
iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$x;->d:I
|
|
|
|
.line 7
|
|
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;
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->canRestoreState()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
.line 8
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingSavedState:Landroidx/recyclerview/widget/RecyclerView$SavedState;
|
|
|
|
iget-object v0, v0, Landroidx/recyclerview/widget/RecyclerView$SavedState;->a:Landroid/os/Parcelable;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 9
|
|
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
invoke-virtual {v2, v0}, Landroidx/recyclerview/widget/RecyclerView$m;->onRestoreInstanceState(Landroid/os/Parcelable;)V
|
|
|
|
:cond_0
|
|
const/4 v0, 0x0
|
|
|
|
.line 10
|
|
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingSavedState:Landroidx/recyclerview/widget/RecyclerView$SavedState;
|
|
|
|
.line 11
|
|
:cond_1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$x;->h:Z
|
|
|
|
.line 12
|
|
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
|
|
|
|
invoke-virtual {v2, v3, v0}, Landroidx/recyclerview/widget/RecyclerView$m;->onLayoutChildren(Landroidx/recyclerview/widget/RecyclerView$s;Landroidx/recyclerview/widget/RecyclerView$x;)V
|
|
|
|
.line 13
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$x;->g:Z
|
|
|
|
.line 14
|
|
iget-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$x;->k: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$x;->k:Z
|
|
|
|
const/4 v2, 0x4
|
|
|
|
.line 15
|
|
iput v2, v0, Landroidx/recyclerview/widget/RecyclerView$x;->e:I
|
|
|
|
.line 16
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V
|
|
|
|
.line 17
|
|
invoke-virtual {p0, v1}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method private dispatchLayoutStep3()V
|
|
.locals 11
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
const/4 v1, 0x4
|
|
|
|
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$x;->a(I)V
|
|
|
|
.line 2
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
|
|
|
|
.line 3
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V
|
|
|
|
.line 4
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
const/4 v1, 0x1
|
|
|
|
iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$x;->e:I
|
|
|
|
.line 5
|
|
iget-boolean v0, v0, Landroidx/recyclerview/widget/RecyclerView$x;->k:Z
|
|
|
|
if-eqz v0, :cond_5
|
|
|
|
.line 6
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/g;->g()I
|
|
|
|
move-result v0
|
|
|
|
sub-int/2addr v0, v1
|
|
|
|
:goto_0
|
|
if-ltz v0, :cond_4
|
|
|
|
.line 7
|
|
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
|
|
|
|
invoke-virtual {v2, v0}, Landroidx/recyclerview/widget/g;->f(I)Landroid/view/View;
|
|
|
|
move-result-object v2
|
|
|
|
invoke-static {v2}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$a0;
|
|
|
|
move-result-object v5
|
|
|
|
.line 8
|
|
invoke-virtual {v5}, Landroidx/recyclerview/widget/RecyclerView$a0;->shouldIgnore()Z
|
|
|
|
move-result v2
|
|
|
|
if-eqz v2, :cond_0
|
|
|
|
goto :goto_1
|
|
|
|
.line 9
|
|
:cond_0
|
|
invoke-virtual {p0, v5}, Landroidx/recyclerview/widget/RecyclerView;->getChangedHolderKey(Landroidx/recyclerview/widget/RecyclerView$a0;)J
|
|
|
|
move-result-wide v2
|
|
|
|
.line 10
|
|
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$x;
|
|
|
|
.line 11
|
|
invoke-virtual {v4, v6, v5}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->v(Landroidx/recyclerview/widget/RecyclerView$x;Landroidx/recyclerview/widget/RecyclerView$a0;)Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;
|
|
|
|
move-result-object v4
|
|
|
|
.line 12
|
|
iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/l0;
|
|
|
|
invoke-virtual {v6, v2, v3}, Landroidx/recyclerview/widget/l0;->g(J)Landroidx/recyclerview/widget/RecyclerView$a0;
|
|
|
|
move-result-object v6
|
|
|
|
if-eqz v6, :cond_3
|
|
|
|
.line 13
|
|
invoke-virtual {v6}, Landroidx/recyclerview/widget/RecyclerView$a0;->shouldIgnore()Z
|
|
|
|
move-result v7
|
|
|
|
if-nez v7, :cond_3
|
|
|
|
.line 14
|
|
iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/l0;
|
|
|
|
invoke-virtual {v7, v6}, Landroidx/recyclerview/widget/l0;->h(Landroidx/recyclerview/widget/RecyclerView$a0;)Z
|
|
|
|
move-result v8
|
|
|
|
.line 15
|
|
iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/l0;
|
|
|
|
invoke-virtual {v7, v5}, Landroidx/recyclerview/widget/l0;->h(Landroidx/recyclerview/widget/RecyclerView$a0;)Z
|
|
|
|
move-result v9
|
|
|
|
if-eqz v8, :cond_1
|
|
|
|
if-ne v6, v5, :cond_1
|
|
|
|
.line 16
|
|
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/l0;
|
|
|
|
invoke-virtual {v2, v5, v4}, Landroidx/recyclerview/widget/l0;->d(Landroidx/recyclerview/widget/RecyclerView$a0;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;)V
|
|
|
|
goto :goto_1
|
|
|
|
.line 17
|
|
:cond_1
|
|
iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/l0;
|
|
|
|
invoke-virtual {v7, v6}, Landroidx/recyclerview/widget/l0;->n(Landroidx/recyclerview/widget/RecyclerView$a0;)Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;
|
|
|
|
move-result-object v7
|
|
|
|
.line 18
|
|
iget-object v10, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/l0;
|
|
|
|
invoke-virtual {v10, v5, v4}, Landroidx/recyclerview/widget/l0;->d(Landroidx/recyclerview/widget/RecyclerView$a0;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;)V
|
|
|
|
.line 19
|
|
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/l0;
|
|
|
|
invoke-virtual {v4, v5}, Landroidx/recyclerview/widget/l0;->m(Landroidx/recyclerview/widget/RecyclerView$a0;)Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;
|
|
|
|
move-result-object v10
|
|
|
|
if-nez v7, :cond_2
|
|
|
|
.line 20
|
|
invoke-direct {p0, v2, v3, v5, v6}, Landroidx/recyclerview/widget/RecyclerView;->handleMissingPreInfoForChangeError(JLandroidx/recyclerview/widget/RecyclerView$a0;Landroidx/recyclerview/widget/RecyclerView$a0;)V
|
|
|
|
goto :goto_1
|
|
|
|
:cond_2
|
|
move-object v3, p0
|
|
|
|
move-object v4, v6
|
|
|
|
move-object v6, v7
|
|
|
|
move-object v7, v10
|
|
|
|
.line 21
|
|
invoke-direct/range {v3 .. v9}, Landroidx/recyclerview/widget/RecyclerView;->animateChange(Landroidx/recyclerview/widget/RecyclerView$a0;Landroidx/recyclerview/widget/RecyclerView$a0;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;ZZ)V
|
|
|
|
goto :goto_1
|
|
|
|
.line 22
|
|
:cond_3
|
|
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/l0;
|
|
|
|
invoke-virtual {v2, v5, v4}, Landroidx/recyclerview/widget/l0;->d(Landroidx/recyclerview/widget/RecyclerView$a0;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;)V
|
|
|
|
:goto_1
|
|
add-int/lit8 v0, v0, -0x1
|
|
|
|
goto :goto_0
|
|
|
|
.line 23
|
|
:cond_4
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/l0;
|
|
|
|
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoProcessCallback:Landroidx/recyclerview/widget/l0$b;
|
|
|
|
invoke-virtual {v0, v2}, Landroidx/recyclerview/widget/l0;->o(Landroidx/recyclerview/widget/l0$b;)V
|
|
|
|
.line 24
|
|
:cond_5
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
|
|
|
|
invoke-virtual {v0, v2}, Landroidx/recyclerview/widget/RecyclerView$m;->removeAndRecycleScrapInt(Landroidx/recyclerview/widget/RecyclerView$s;)V
|
|
|
|
.line 25
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
iget v2, v0, Landroidx/recyclerview/widget/RecyclerView$x;->f:I
|
|
|
|
iput v2, v0, Landroidx/recyclerview/widget/RecyclerView$x;->c:I
|
|
|
|
const/4 v2, 0x0
|
|
|
|
.line 26
|
|
iput-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z
|
|
|
|
.line 27
|
|
iput-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchItemsChangedEvent:Z
|
|
|
|
.line 28
|
|
iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$x;->k:Z
|
|
|
|
.line 29
|
|
iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$x;->l:Z
|
|
|
|
.line 30
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$m;->mRequestedSimpleAnimations:Z
|
|
|
|
.line 31
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
|
|
|
|
iget-object v0, v0, Landroidx/recyclerview/widget/RecyclerView$s;->b:Ljava/util/ArrayList;
|
|
|
|
if-eqz v0, :cond_6
|
|
|
|
.line 32
|
|
invoke-virtual {v0}, Ljava/util/ArrayList;->clear()V
|
|
|
|
.line 33
|
|
:cond_6
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
iget-boolean v3, v0, Landroidx/recyclerview/widget/RecyclerView$m;->mPrefetchMaxObservedInInitialPrefetch:Z
|
|
|
|
if-eqz v3, :cond_7
|
|
|
|
.line 34
|
|
iput v2, v0, Landroidx/recyclerview/widget/RecyclerView$m;->mPrefetchMaxCountObserved:I
|
|
|
|
.line 35
|
|
iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$m;->mPrefetchMaxObservedInInitialPrefetch:Z
|
|
|
|
.line 36
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$s;->L()V
|
|
|
|
.line 37
|
|
:cond_7
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
invoke-virtual {v0, v3}, Landroidx/recyclerview/widget/RecyclerView$m;->onLayoutCompleted(Landroidx/recyclerview/widget/RecyclerView$x;)V
|
|
|
|
.line 38
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V
|
|
|
|
.line 39
|
|
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
|
|
|
|
.line 40
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/l0;
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/l0;->f()V
|
|
|
|
.line 41
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinMaxLayoutPositions:[I
|
|
|
|
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 42
|
|
invoke-virtual {p0, v2, v2}, Landroidx/recyclerview/widget/RecyclerView;->dispatchOnScrolled(II)V
|
|
|
|
.line 43
|
|
:cond_8
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->recoverFocusFromState()V
|
|
|
|
.line 44
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->resetFocusInfo()V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method private dispatchToOnItemTouchListeners(Landroid/view/MotionEvent;)Z
|
|
.locals 2
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptingOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$p;
|
|
|
|
if-nez v0, :cond_1
|
|
|
|
.line 2
|
|
invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
const/4 p1, 0x0
|
|
|
|
return p1
|
|
|
|
.line 3
|
|
:cond_0
|
|
invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->findInterceptingOnItemTouchListener(Landroid/view/MotionEvent;)Z
|
|
|
|
move-result p1
|
|
|
|
return p1
|
|
|
|
.line 4
|
|
:cond_1
|
|
invoke-interface {v0, p0, p1}, Landroidx/recyclerview/widget/RecyclerView$p;->a(Landroidx/recyclerview/widget/RecyclerView;Landroid/view/MotionEvent;)V
|
|
|
|
.line 5
|
|
invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I
|
|
|
|
move-result p1
|
|
|
|
const/4 v0, 0x3
|
|
|
|
const/4 v1, 0x1
|
|
|
|
if-eq p1, v0, :cond_2
|
|
|
|
if-ne p1, v1, :cond_3
|
|
|
|
:cond_2
|
|
const/4 p1, 0x0
|
|
|
|
.line 6
|
|
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptingOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$p;
|
|
|
|
:cond_3
|
|
return v1
|
|
.end method
|
|
|
|
.method private findInterceptingOnItemTouchListener(Landroid/view/MotionEvent;)Z
|
|
.locals 6
|
|
|
|
.line 1
|
|
invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I
|
|
|
|
move-result v0
|
|
|
|
.line 2
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList;
|
|
|
|
invoke-virtual {v1}, Ljava/util/ArrayList;->size()I
|
|
|
|
move-result v1
|
|
|
|
const/4 v2, 0x0
|
|
|
|
move v3, v2
|
|
|
|
:goto_0
|
|
if-ge v3, v1, :cond_1
|
|
|
|
.line 3
|
|
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList;
|
|
|
|
invoke-virtual {v4, v3}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
|
|
|
|
move-result-object v4
|
|
|
|
check-cast v4, Landroidx/recyclerview/widget/RecyclerView$p;
|
|
|
|
.line 4
|
|
invoke-interface {v4, p0, p1}, Landroidx/recyclerview/widget/RecyclerView$p;->c(Landroidx/recyclerview/widget/RecyclerView;Landroid/view/MotionEvent;)Z
|
|
|
|
move-result v5
|
|
|
|
if-eqz v5, :cond_0
|
|
|
|
const/4 v5, 0x3
|
|
|
|
if-eq v0, v5, :cond_0
|
|
|
|
.line 5
|
|
iput-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptingOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$p;
|
|
|
|
const/4 p1, 0x1
|
|
|
|
return p1
|
|
|
|
:cond_0
|
|
add-int/lit8 v3, v3, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_1
|
|
return v2
|
|
.end method
|
|
|
|
.method private findMinMaxChildLayoutPositions([I)V
|
|
.locals 8
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/g;->g()I
|
|
|
|
move-result v0
|
|
|
|
const/4 v1, 0x1
|
|
|
|
const/4 v2, 0x0
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
const/4 v0, -0x1
|
|
|
|
.line 2
|
|
aput v0, p1, v2
|
|
|
|
.line 3
|
|
aput v0, p1, v1
|
|
|
|
return-void
|
|
|
|
:cond_0
|
|
const v3, 0x7fffffff
|
|
|
|
const/high16 v4, -0x80000000
|
|
|
|
move v5, v2
|
|
|
|
:goto_0
|
|
if-ge v5, v0, :cond_4
|
|
|
|
.line 4
|
|
iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
|
|
|
|
invoke-virtual {v6, v5}, Landroidx/recyclerview/widget/g;->f(I)Landroid/view/View;
|
|
|
|
move-result-object v6
|
|
|
|
invoke-static {v6}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$a0;
|
|
|
|
move-result-object v6
|
|
|
|
.line 5
|
|
invoke-virtual {v6}, Landroidx/recyclerview/widget/RecyclerView$a0;->shouldIgnore()Z
|
|
|
|
move-result v7
|
|
|
|
if-eqz v7, :cond_1
|
|
|
|
goto :goto_1
|
|
|
|
.line 6
|
|
:cond_1
|
|
invoke-virtual {v6}, Landroidx/recyclerview/widget/RecyclerView$a0;->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 7
|
|
:cond_4
|
|
aput v3, p1, v2
|
|
|
|
.line 8
|
|
aput v4, p1, v1
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method 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 1
|
|
instance-of v0, p0, Landroid/view/ViewGroup;
|
|
|
|
const/4 v1, 0x0
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
return-object v1
|
|
|
|
.line 2
|
|
:cond_0
|
|
instance-of v0, p0, Landroidx/recyclerview/widget/RecyclerView;
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
.line 3
|
|
check-cast p0, Landroidx/recyclerview/widget/RecyclerView;
|
|
|
|
return-object p0
|
|
|
|
.line 4
|
|
:cond_1
|
|
check-cast p0, Landroid/view/ViewGroup;
|
|
|
|
.line 5
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getChildCount()I
|
|
|
|
move-result v0
|
|
|
|
const/4 v2, 0x0
|
|
|
|
:goto_0
|
|
if-ge v2, v0, :cond_3
|
|
|
|
.line 6
|
|
invoke-virtual {p0, v2}, Landroid/view/ViewGroup;->getChildAt(I)Landroid/view/View;
|
|
|
|
move-result-object v3
|
|
|
|
.line 7
|
|
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
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
iget v1, v0, Landroidx/recyclerview/widget/RecyclerView$x;->m:I
|
|
|
|
const/4 v2, -0x1
|
|
|
|
if-eq v1, v2, :cond_0
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
const/4 v1, 0x0
|
|
|
|
.line 2
|
|
:goto_0
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$x;->d()I
|
|
|
|
move-result v0
|
|
|
|
move v2, v1
|
|
|
|
:goto_1
|
|
if-ge v2, v0, :cond_3
|
|
|
|
.line 3
|
|
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->findViewHolderForAdapterPosition(I)Landroidx/recyclerview/widget/RecyclerView$a0;
|
|
|
|
move-result-object v3
|
|
|
|
if-nez v3, :cond_1
|
|
|
|
goto :goto_2
|
|
|
|
.line 4
|
|
:cond_1
|
|
iget-object v4, v3, Landroidx/recyclerview/widget/RecyclerView$a0;->itemView:Landroid/view/View;
|
|
|
|
invoke-virtual {v4}, Landroid/view/View;->hasFocusable()Z
|
|
|
|
move-result v4
|
|
|
|
if-eqz v4, :cond_2
|
|
|
|
.line 5
|
|
iget-object v0, v3, Landroidx/recyclerview/widget/RecyclerView$a0;->itemView:Landroid/view/View;
|
|
|
|
return-object v0
|
|
|
|
:cond_2
|
|
add-int/lit8 v2, v2, 0x1
|
|
|
|
goto :goto_1
|
|
|
|
.line 6
|
|
: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 7
|
|
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->findViewHolderForAdapterPosition(I)Landroidx/recyclerview/widget/RecyclerView$a0;
|
|
|
|
move-result-object v2
|
|
|
|
if-nez v2, :cond_4
|
|
|
|
return-object v1
|
|
|
|
.line 8
|
|
:cond_4
|
|
iget-object v1, v2, Landroidx/recyclerview/widget/RecyclerView$a0;->itemView:Landroid/view/View;
|
|
|
|
invoke-virtual {v1}, Landroid/view/View;->hasFocusable()Z
|
|
|
|
move-result v1
|
|
|
|
if-eqz v1, :cond_5
|
|
|
|
.line 9
|
|
iget-object v0, v2, Landroidx/recyclerview/widget/RecyclerView$a0;->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$a0;
|
|
.locals 0
|
|
|
|
if-nez p0, :cond_0
|
|
|
|
const/4 p0, 0x0
|
|
|
|
return-object p0
|
|
|
|
.line 1
|
|
: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;->a:Landroidx/recyclerview/widget/RecyclerView$a0;
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static getDecoratedBoundsWithMarginsInt(Landroid/view/View;Landroid/graphics/Rect;)V
|
|
.locals 6
|
|
|
|
.line 1
|
|
invoke-virtual {p0}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
|
|
|
|
move-result-object v0
|
|
|
|
check-cast v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
|
|
|
|
.line 2
|
|
iget-object v1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->b:Landroid/graphics/Rect;
|
|
|
|
.line 3
|
|
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 4
|
|
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 5
|
|
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 6
|
|
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 7
|
|
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 1
|
|
invoke-virtual {p1}, Landroid/view/View;->getId()I
|
|
|
|
move-result v0
|
|
|
|
.line 2
|
|
: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 3
|
|
check-cast p1, Landroid/view/ViewGroup;
|
|
|
|
invoke-virtual {p1}, Landroid/view/ViewGroup;->getFocusedChild()Landroid/view/View;
|
|
|
|
move-result-object p1
|
|
|
|
.line 4
|
|
invoke-virtual {p1}, Landroid/view/View;->getId()I
|
|
|
|
move-result v1
|
|
|
|
const/4 v2, -0x1
|
|
|
|
if-eq v1, v2, :cond_0
|
|
|
|
.line 5
|
|
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 1
|
|
invoke-virtual {p2, v0}, Ljava/lang/String;->charAt(I)C
|
|
|
|
move-result v0
|
|
|
|
const/16 v1, 0x2e
|
|
|
|
if-ne v0, v1, :cond_0
|
|
|
|
.line 2
|
|
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 3
|
|
invoke-virtual {p2, p1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
|
|
|
|
move-result p1
|
|
|
|
if-eqz p1, :cond_1
|
|
|
|
return-object p2
|
|
|
|
.line 4
|
|
: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()Ls1/z;
|
|
.locals 1
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollingChildHelper:Ls1/z;
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
.line 2
|
|
new-instance v0, Ls1/z;
|
|
|
|
invoke-direct {v0, p0}, Ls1/z;-><init>(Landroid/view/View;)V
|
|
|
|
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollingChildHelper:Ls1/z;
|
|
|
|
.line 3
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollingChildHelper:Ls1/z;
|
|
|
|
return-object v0
|
|
.end method
|
|
|
|
.method private handleMissingPreInfoForChangeError(JLandroidx/recyclerview/widget/RecyclerView$a0;Landroidx/recyclerview/widget/RecyclerView$a0;)V
|
|
.locals 5
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/g;->g()I
|
|
|
|
move-result v0
|
|
|
|
const/4 v1, 0x0
|
|
|
|
:goto_0
|
|
if-ge v1, v0, :cond_3
|
|
|
|
.line 2
|
|
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
|
|
|
|
invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/g;->f(I)Landroid/view/View;
|
|
|
|
move-result-object v2
|
|
|
|
.line 3
|
|
invoke-static {v2}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$a0;
|
|
|
|
move-result-object v2
|
|
|
|
if-ne v2, p3, :cond_0
|
|
|
|
goto :goto_1
|
|
|
|
.line 4
|
|
:cond_0
|
|
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->getChangedHolderKey(Landroidx/recyclerview/widget/RecyclerView$a0;)J
|
|
|
|
move-result-wide v3
|
|
|
|
cmp-long v3, v3, p1
|
|
|
|
if-nez v3, :cond_2
|
|
|
|
.line 5
|
|
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
|
|
|
const-string p2, " \n View Holder 2:"
|
|
|
|
if-eqz p1, :cond_1
|
|
|
|
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z
|
|
|
|
move-result p1
|
|
|
|
if-eqz p1, :cond_1
|
|
|
|
.line 6
|
|
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 7
|
|
invoke-static {p0, p4}, Landroidx/recyclerview/widget/b0;->a(Landroidx/recyclerview/widget/RecyclerView;Ljava/lang/StringBuilder;)Ljava/lang/String;
|
|
|
|
move-result-object p2
|
|
|
|
invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
|
|
|
|
throw p1
|
|
|
|
.line 8
|
|
: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 9
|
|
invoke-static {p0, p4}, Landroidx/recyclerview/widget/b0;->a(Landroidx/recyclerview/widget/RecyclerView;Ljava/lang/StringBuilder;)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 10
|
|
: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 11
|
|
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 12
|
|
invoke-static {p2, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method private hasUpdatedView()Z
|
|
.locals 5
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/g;->g()I
|
|
|
|
move-result v0
|
|
|
|
const/4 v1, 0x0
|
|
|
|
move v2, v1
|
|
|
|
:goto_0
|
|
if-ge v2, v0, :cond_2
|
|
|
|
.line 2
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
|
|
|
|
invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/g;->f(I)Landroid/view/View;
|
|
|
|
move-result-object v3
|
|
|
|
invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$a0;
|
|
|
|
move-result-object v3
|
|
|
|
if-eqz v3, :cond_1
|
|
|
|
.line 3
|
|
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$a0;->shouldIgnore()Z
|
|
|
|
move-result v4
|
|
|
|
if-eqz v4, :cond_0
|
|
|
|
goto :goto_1
|
|
|
|
.line 4
|
|
:cond_0
|
|
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$a0;->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 1
|
|
invoke-static {p0}, Landroidx/core/view/ViewCompat;->W(Landroid/view/View;)I
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
const/16 v0, 0x8
|
|
|
|
.line 2
|
|
invoke-static {p0, v0}, Landroidx/core/view/ViewCompat;->S1(Landroid/view/View;I)V
|
|
|
|
:cond_0
|
|
return-void
|
|
.end method
|
|
|
|
.method private initChildrenHelper()V
|
|
.locals 2
|
|
|
|
.line 1
|
|
new-instance v0, Landroidx/recyclerview/widget/g;
|
|
|
|
new-instance v1, Landroidx/recyclerview/widget/RecyclerView$e;
|
|
|
|
invoke-direct {v1, p0}, Landroidx/recyclerview/widget/RecyclerView$e;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
|
|
|
|
invoke-direct {v0, v1}, Landroidx/recyclerview/widget/g;-><init>(Landroidx/recyclerview/widget/g$b;)V
|
|
|
|
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
|
|
|
|
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 1
|
|
: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 2
|
|
:cond_2
|
|
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->findContainingItemView(Landroid/view/View;)Landroid/view/View;
|
|
|
|
move-result-object v2
|
|
|
|
if-nez v2, :cond_3
|
|
|
|
return v1
|
|
|
|
.line 3
|
|
:cond_3
|
|
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
|
|
|
|
invoke-virtual {p1}, Landroid/view/View;->getWidth()I
|
|
|
|
move-result v3
|
|
|
|
invoke-virtual {p1}, Landroid/view/View;->getHeight()I
|
|
|
|
move-result v4
|
|
|
|
invoke-virtual {v2, v0, v0, v3, v4}, Landroid/graphics/Rect;->set(IIII)V
|
|
|
|
.line 4
|
|
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect;
|
|
|
|
invoke-virtual {p2}, Landroid/view/View;->getWidth()I
|
|
|
|
move-result v3
|
|
|
|
invoke-virtual {p2}, Landroid/view/View;->getHeight()I
|
|
|
|
move-result v4
|
|
|
|
invoke-virtual {v2, v0, v0, v3, v4}, Landroid/graphics/Rect;->set(IIII)V
|
|
|
|
.line 5
|
|
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
|
|
|
|
invoke-virtual {p0, p1, v2}, Landroid/view/ViewGroup;->offsetDescendantRectToMyCoords(Landroid/view/View;Landroid/graphics/Rect;)V
|
|
|
|
.line 6
|
|
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect2:Landroid/graphics/Rect;
|
|
|
|
invoke-virtual {p0, p2, p1}, Landroid/view/ViewGroup;->offsetDescendantRectToMyCoords(Landroid/view/View;Landroid/graphics/Rect;)V
|
|
|
|
.line 7
|
|
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$m;->getLayoutDirection()I
|
|
|
|
move-result p1
|
|
|
|
const/4 p2, -0x1
|
|
|
|
if-ne p1, v1, :cond_4
|
|
|
|
move p1, p2
|
|
|
|
goto :goto_0
|
|
|
|
:cond_4
|
|
move p1, v1
|
|
|
|
.line 8
|
|
:goto_0
|
|
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
|
|
|
|
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 9
|
|
: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 10
|
|
: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 11
|
|
: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 12
|
|
: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-static {p0, p2}, Landroidx/recyclerview/widget/b0;->a(Landroidx/recyclerview/widget/RecyclerView;Ljava/lang/StringBuilder;)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
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
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 2
|
|
invoke-static {p1, p2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
|
|
|
|
return-void
|
|
|
|
.line 3
|
|
:cond_0
|
|
iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
|
|
|
|
if-eqz v1, :cond_1
|
|
|
|
return-void
|
|
|
|
.line 4
|
|
:cond_1
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I
|
|
|
|
const/4 v2, 0x0
|
|
|
|
aput v2, v1, v2
|
|
|
|
const/4 v3, 0x1
|
|
|
|
.line 5
|
|
aput v2, v1, v3
|
|
|
|
.line 6
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$m;->canScrollHorizontally()Z
|
|
|
|
move-result v0
|
|
|
|
.line 7
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$m;->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 8
|
|
: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
|
|
|
|
.line 9
|
|
: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 10
|
|
invoke-virtual/range {v5 .. v10}, Landroidx/recyclerview/widget/RecyclerView;->dispatchNestedPreScroll(II[I[II)Z
|
|
|
|
move-result v4
|
|
|
|
if-eqz v4, :cond_5
|
|
|
|
.line 11
|
|
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I
|
|
|
|
aget v5, v4, v2
|
|
|
|
sub-int/2addr p1, v5
|
|
|
|
.line 12
|
|
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 13
|
|
:cond_7
|
|
invoke-virtual {p0, v0, v2, p3, p4}, Landroidx/recyclerview/widget/RecyclerView;->scrollByInternal(IILandroid/view/MotionEvent;I)Z
|
|
|
|
.line 14
|
|
iget-object p3, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/n;
|
|
|
|
if-eqz p3, :cond_9
|
|
|
|
if-nez p1, :cond_8
|
|
|
|
if-eqz p2, :cond_9
|
|
|
|
.line 15
|
|
:cond_8
|
|
invoke-virtual {p3, p0, p1, p2}, Landroidx/recyclerview/widget/n;->f(Landroidx/recyclerview/widget/RecyclerView;II)V
|
|
|
|
.line 16
|
|
: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 1
|
|
invoke-virtual {p1}, Landroid/view/MotionEvent;->getActionIndex()I
|
|
|
|
move-result v0
|
|
|
|
.line 2
|
|
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 3
|
|
: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 4
|
|
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 5
|
|
invoke-virtual {p1, v0}, Landroid/view/MotionEvent;->getY(I)F
|
|
|
|
move-result p1
|
|
|
|
add-float/2addr p1, v2
|
|
|
|
float-to-int p1, p1
|
|
|
|
iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I
|
|
|
|
iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchY:I
|
|
|
|
:cond_1
|
|
return-void
|
|
.end method
|
|
|
|
.method private predictiveItemAnimationsEnabled()Z
|
|
.locals 1
|
|
|
|
.line 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$m;
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$m;->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
|
|
|
|
.line 1
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 2
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/a;
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/a;->z()V
|
|
|
|
.line 3
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchItemsChangedEvent:Z
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 4
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$m;->onItemsChanged(Landroidx/recyclerview/widget/RecyclerView;)V
|
|
|
|
.line 5
|
|
:cond_0
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->predictiveItemAnimationsEnabled()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
.line 6
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/a;
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/a;->x()V
|
|
|
|
goto :goto_0
|
|
|
|
.line 7
|
|
:cond_1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/a;
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/a;->k()V
|
|
|
|
.line 8
|
|
:goto_0
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemsAddedOrRemoved:Z
|
|
|
|
const/4 v1, 0x0
|
|
|
|
const/4 v2, 0x1
|
|
|
|
if-nez v0, :cond_3
|
|
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemsChanged:Z
|
|
|
|
if-eqz v0, :cond_2
|
|
|
|
goto :goto_1
|
|
|
|
:cond_2
|
|
move v0, v1
|
|
|
|
goto :goto_2
|
|
|
|
:cond_3
|
|
:goto_1
|
|
move v0, v2
|
|
|
|
.line 9
|
|
:goto_2
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
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$m;
|
|
|
|
iget-boolean v5, v5, Landroidx/recyclerview/widget/RecyclerView$m;->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 10
|
|
invoke-virtual {v4}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z
|
|
|
|
move-result v4
|
|
|
|
if-eqz v4, :cond_6
|
|
|
|
:cond_5
|
|
move v4, v2
|
|
|
|
goto :goto_3
|
|
|
|
:cond_6
|
|
move v4, v1
|
|
|
|
:goto_3
|
|
iput-boolean v4, v3, Landroidx/recyclerview/widget/RecyclerView$x;->k:Z
|
|
|
|
.line 11
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
iget-boolean v4, v3, Landroidx/recyclerview/widget/RecyclerView$x;->k: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 12
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->predictiveItemAnimationsEnabled()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_7
|
|
|
|
move v1, v2
|
|
|
|
:cond_7
|
|
iput-boolean v1, v3, Landroidx/recyclerview/widget/RecyclerView$x;->l:Z
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method private pullGlows(FFFF)V
|
|
.locals 6
|
|
|
|
const/4 v0, 0x0
|
|
|
|
cmpg-float v1, p2, v0
|
|
|
|
const/high16 v2, 0x3f800000 # 1.0f
|
|
|
|
const/4 v3, 0x1
|
|
|
|
if-gez v1, :cond_0
|
|
|
|
.line 1
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureLeftGlow()V
|
|
|
|
.line 2
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
|
|
|
|
neg-float v4, p2
|
|
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getWidth()I
|
|
|
|
move-result v5
|
|
|
|
int-to-float v5, v5
|
|
|
|
div-float/2addr v4, v5
|
|
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getHeight()I
|
|
|
|
move-result v5
|
|
|
|
int-to-float v5, v5
|
|
|
|
div-float/2addr p3, v5
|
|
|
|
sub-float p3, v2, p3
|
|
|
|
invoke-static {v1, v4, p3}, Landroidx/core/widget/i;->g(Landroid/widget/EdgeEffect;FF)V
|
|
|
|
:goto_0
|
|
move p3, v3
|
|
|
|
goto :goto_1
|
|
|
|
:cond_0
|
|
cmpl-float v1, p2, v0
|
|
|
|
if-lez v1, :cond_1
|
|
|
|
.line 3
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureRightGlow()V
|
|
|
|
.line 4
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
|
|
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getWidth()I
|
|
|
|
move-result v4
|
|
|
|
int-to-float v4, v4
|
|
|
|
div-float v4, p2, v4
|
|
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getHeight()I
|
|
|
|
move-result v5
|
|
|
|
int-to-float v5, v5
|
|
|
|
div-float/2addr p3, v5
|
|
|
|
invoke-static {v1, v4, p3}, Landroidx/core/widget/i;->g(Landroid/widget/EdgeEffect;FF)V
|
|
|
|
goto :goto_0
|
|
|
|
:cond_1
|
|
const/4 p3, 0x0
|
|
|
|
:goto_1
|
|
cmpg-float v1, p4, v0
|
|
|
|
if-gez v1, :cond_2
|
|
|
|
.line 5
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureTopGlow()V
|
|
|
|
.line 6
|
|
iget-object p3, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
|
|
|
|
neg-float v1, p4
|
|
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getHeight()I
|
|
|
|
move-result v2
|
|
|
|
int-to-float v2, v2
|
|
|
|
div-float/2addr v1, v2
|
|
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getWidth()I
|
|
|
|
move-result v2
|
|
|
|
int-to-float v2, v2
|
|
|
|
div-float/2addr p1, v2
|
|
|
|
invoke-static {p3, v1, p1}, Landroidx/core/widget/i;->g(Landroid/widget/EdgeEffect;FF)V
|
|
|
|
goto :goto_2
|
|
|
|
:cond_2
|
|
cmpl-float v1, p4, v0
|
|
|
|
if-lez v1, :cond_3
|
|
|
|
.line 7
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureBottomGlow()V
|
|
|
|
.line 8
|
|
iget-object p3, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
|
|
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getHeight()I
|
|
|
|
move-result v1
|
|
|
|
int-to-float v1, v1
|
|
|
|
div-float v1, p4, v1
|
|
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getWidth()I
|
|
|
|
move-result v4
|
|
|
|
int-to-float v4, v4
|
|
|
|
div-float/2addr p1, v4
|
|
|
|
sub-float/2addr v2, p1
|
|
|
|
invoke-static {p3, v1, v2}, Landroidx/core/widget/i;->g(Landroid/widget/EdgeEffect;FF)V
|
|
|
|
goto :goto_2
|
|
|
|
:cond_3
|
|
move v3, p3
|
|
|
|
:goto_2
|
|
if-nez v3, :cond_4
|
|
|
|
cmpl-float p1, p2, v0
|
|
|
|
if-nez p1, :cond_4
|
|
|
|
cmpl-float p1, p4, v0
|
|
|
|
if-eqz p1, :cond_5
|
|
|
|
.line 9
|
|
:cond_4
|
|
invoke-static {p0}, Landroidx/core/view/ViewCompat;->n1(Landroid/view/View;)V
|
|
|
|
:cond_5
|
|
return-void
|
|
.end method
|
|
|
|
.method private recoverFocusFromState()V
|
|
.locals 6
|
|
|
|
.line 1
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPreserveFocusAfterLayout:Z
|
|
|
|
if-eqz v0, :cond_9
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
|
|
|
if-eqz v0, :cond_9
|
|
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->hasFocus()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_9
|
|
|
|
.line 2
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getDescendantFocusability()I
|
|
|
|
move-result v0
|
|
|
|
const/high16 v1, 0x60000
|
|
|
|
if-eq v0, v1, :cond_9
|
|
|
|
.line 3
|
|
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/ViewGroup;->isFocused()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
goto/16 :goto_3
|
|
|
|
.line 4
|
|
:cond_0
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->isFocused()Z
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_3
|
|
|
|
.line 5
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getFocusedChild()Landroid/view/View;
|
|
|
|
move-result-object v0
|
|
|
|
.line 6
|
|
sget-boolean v1, Landroidx/recyclerview/widget/RecyclerView;->IGNORE_DETACHED_FOCUSED_CHILD:Z
|
|
|
|
if-eqz v1, :cond_2
|
|
|
|
.line 7
|
|
invoke-virtual {v0}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
|
|
|
|
move-result-object v1
|
|
|
|
if-eqz v1, :cond_1
|
|
|
|
invoke-virtual {v0}, Landroid/view/View;->hasFocus()Z
|
|
|
|
move-result v1
|
|
|
|
if-nez v1, :cond_2
|
|
|
|
.line 8
|
|
:cond_1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/g;->g()I
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_3
|
|
|
|
.line 9
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->requestFocus()Z
|
|
|
|
return-void
|
|
|
|
.line 10
|
|
:cond_2
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
|
|
|
|
invoke-virtual {v1, v0}, Landroidx/recyclerview/widget/g;->n(Landroid/view/View;)Z
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_3
|
|
|
|
return-void
|
|
|
|
.line 11
|
|
:cond_3
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
iget-wide v0, v0, Landroidx/recyclerview/widget/RecyclerView$x;->n:J
|
|
|
|
const-wide/16 v2, -0x1
|
|
|
|
cmp-long v0, v0, v2
|
|
|
|
const/4 v1, 0x0
|
|
|
|
if-eqz v0, :cond_4
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_4
|
|
|
|
.line 12
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
iget-wide v4, v0, Landroidx/recyclerview/widget/RecyclerView$x;->n:J
|
|
|
|
invoke-virtual {p0, v4, v5}, Landroidx/recyclerview/widget/RecyclerView;->findViewHolderForItemId(J)Landroidx/recyclerview/widget/RecyclerView$a0;
|
|
|
|
move-result-object v0
|
|
|
|
goto :goto_0
|
|
|
|
:cond_4
|
|
move-object v0, v1
|
|
|
|
:goto_0
|
|
if-eqz v0, :cond_6
|
|
|
|
.line 13
|
|
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
|
|
|
|
iget-object v5, v0, Landroidx/recyclerview/widget/RecyclerView$a0;->itemView:Landroid/view/View;
|
|
|
|
invoke-virtual {v4, v5}, Landroidx/recyclerview/widget/g;->n(Landroid/view/View;)Z
|
|
|
|
move-result v4
|
|
|
|
if-nez v4, :cond_6
|
|
|
|
iget-object v4, v0, Landroidx/recyclerview/widget/RecyclerView$a0;->itemView:Landroid/view/View;
|
|
|
|
.line 14
|
|
invoke-virtual {v4}, Landroid/view/View;->hasFocusable()Z
|
|
|
|
move-result v4
|
|
|
|
if-nez v4, :cond_5
|
|
|
|
goto :goto_1
|
|
|
|
.line 15
|
|
:cond_5
|
|
iget-object v1, v0, Landroidx/recyclerview/widget/RecyclerView$a0;->itemView:Landroid/view/View;
|
|
|
|
goto :goto_2
|
|
|
|
.line 16
|
|
:cond_6
|
|
:goto_1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/g;->g()I
|
|
|
|
move-result v0
|
|
|
|
if-lez v0, :cond_7
|
|
|
|
.line 17
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->findNextViewToFocus()Landroid/view/View;
|
|
|
|
move-result-object v1
|
|
|
|
:cond_7
|
|
:goto_2
|
|
if-eqz v1, :cond_9
|
|
|
|
.line 18
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
iget v0, v0, Landroidx/recyclerview/widget/RecyclerView$x;->o:I
|
|
|
|
int-to-long v4, v0
|
|
|
|
cmp-long v2, v4, v2
|
|
|
|
if-eqz v2, :cond_8
|
|
|
|
.line 19
|
|
invoke-virtual {v1, v0}, Landroid/view/View;->findViewById(I)Landroid/view/View;
|
|
|
|
move-result-object v0
|
|
|
|
if-eqz v0, :cond_8
|
|
|
|
.line 20
|
|
invoke-virtual {v0}, Landroid/view/View;->isFocusable()Z
|
|
|
|
move-result v2
|
|
|
|
if-eqz v2, :cond_8
|
|
|
|
move-object v1, v0
|
|
|
|
.line 21
|
|
:cond_8
|
|
invoke-virtual {v1}, Landroid/view/View;->requestFocus()Z
|
|
|
|
:cond_9
|
|
:goto_3
|
|
return-void
|
|
.end method
|
|
|
|
.method private releaseGlows()V
|
|
.locals 2
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 2
|
|
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->onRelease()V
|
|
|
|
.line 3
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
|
|
|
|
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z
|
|
|
|
move-result v0
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
const/4 v0, 0x0
|
|
|
|
.line 4
|
|
:goto_0
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
|
|
|
|
if-eqz v1, :cond_1
|
|
|
|
.line 5
|
|
invoke-virtual {v1}, Landroid/widget/EdgeEffect;->onRelease()V
|
|
|
|
.line 6
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
|
|
|
|
invoke-virtual {v1}, Landroid/widget/EdgeEffect;->isFinished()Z
|
|
|
|
move-result v1
|
|
|
|
or-int/2addr v0, v1
|
|
|
|
.line 7
|
|
:cond_1
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
|
|
|
|
if-eqz v1, :cond_2
|
|
|
|
.line 8
|
|
invoke-virtual {v1}, Landroid/widget/EdgeEffect;->onRelease()V
|
|
|
|
.line 9
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
|
|
|
|
invoke-virtual {v1}, Landroid/widget/EdgeEffect;->isFinished()Z
|
|
|
|
move-result v1
|
|
|
|
or-int/2addr v0, v1
|
|
|
|
.line 10
|
|
:cond_2
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
|
|
|
|
if-eqz v1, :cond_3
|
|
|
|
.line 11
|
|
invoke-virtual {v1}, Landroid/widget/EdgeEffect;->onRelease()V
|
|
|
|
.line 12
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
|
|
|
|
invoke-virtual {v1}, Landroid/widget/EdgeEffect;->isFinished()Z
|
|
|
|
move-result v1
|
|
|
|
or-int/2addr v0, v1
|
|
|
|
:cond_3
|
|
if-eqz v0, :cond_4
|
|
|
|
.line 13
|
|
invoke-static {p0}, Landroidx/core/view/ViewCompat;->n1(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
|
|
|
|
.line 1
|
|
:goto_0
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
|
|
|
|
invoke-virtual {v0}, Landroid/view/View;->getWidth()I
|
|
|
|
move-result v2
|
|
|
|
invoke-virtual {v0}, Landroid/view/View;->getHeight()I
|
|
|
|
move-result v3
|
|
|
|
const/4 v4, 0x0
|
|
|
|
invoke-virtual {v1, v4, v4, v2, v3}, Landroid/graphics/Rect;->set(IIII)V
|
|
|
|
.line 2
|
|
invoke-virtual {v0}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
|
|
|
|
move-result-object v0
|
|
|
|
.line 3
|
|
instance-of v1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
|
|
|
|
if-eqz v1, :cond_1
|
|
|
|
.line 4
|
|
check-cast v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
|
|
|
|
.line 5
|
|
iget-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->c:Z
|
|
|
|
if-nez v1, :cond_1
|
|
|
|
.line 6
|
|
iget-object v0, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->b:Landroid/graphics/Rect;
|
|
|
|
.line 7
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
|
|
|
|
iget v2, v1, Landroid/graphics/Rect;->left:I
|
|
|
|
iget v3, v0, Landroid/graphics/Rect;->left:I
|
|
|
|
sub-int/2addr v2, v3
|
|
|
|
iput v2, v1, Landroid/graphics/Rect;->left:I
|
|
|
|
.line 8
|
|
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 9
|
|
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 10
|
|
iget v2, v1, Landroid/graphics/Rect;->bottom:I
|
|
|
|
iget v0, v0, Landroid/graphics/Rect;->bottom:I
|
|
|
|
add-int/2addr v2, v0
|
|
|
|
iput v2, v1, Landroid/graphics/Rect;->bottom:I
|
|
|
|
:cond_1
|
|
if-eqz p2, :cond_2
|
|
|
|
.line 11
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
|
|
|
|
invoke-virtual {p0, p2, v0}, Landroid/view/ViewGroup;->offsetDescendantRectToMyCoords(Landroid/view/View;Landroid/graphics/Rect;)V
|
|
|
|
.line 12
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
|
|
|
|
invoke-virtual {p0, p1, v0}, Landroid/view/ViewGroup;->offsetRectIntoDescendantCoords(Landroid/view/View;Landroid/graphics/Rect;)V
|
|
|
|
.line 13
|
|
:cond_2
|
|
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
iget-object v8, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
|
|
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z
|
|
|
|
const/4 v1, 0x1
|
|
|
|
xor-int/lit8 v9, v0, 0x1
|
|
|
|
if-nez p2, :cond_3
|
|
|
|
move v10, v1
|
|
|
|
goto :goto_1
|
|
|
|
:cond_3
|
|
move v10, v4
|
|
|
|
:goto_1
|
|
move-object v6, p0
|
|
|
|
move-object v7, p1
|
|
|
|
invoke-virtual/range {v5 .. v10}, Landroidx/recyclerview/widget/RecyclerView$m;->requestChildRectangleOnScreen(Landroidx/recyclerview/widget/RecyclerView;Landroid/view/View;Landroid/graphics/Rect;ZZ)Z
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method private resetFocusInfo()V
|
|
.locals 3
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
const-wide/16 v1, -0x1
|
|
|
|
iput-wide v1, v0, Landroidx/recyclerview/widget/RecyclerView$x;->n:J
|
|
|
|
const/4 v1, -0x1
|
|
|
|
.line 2
|
|
iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$x;->m:I
|
|
|
|
.line 3
|
|
iput v1, v0, Landroidx/recyclerview/widget/RecyclerView$x;->o:I
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method private resetScroll()V
|
|
.locals 1
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 2
|
|
invoke-virtual {v0}, Landroid/view/VelocityTracker;->clear()V
|
|
|
|
:cond_0
|
|
const/4 v0, 0x0
|
|
|
|
.line 3
|
|
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->stopNestedScroll(I)V
|
|
|
|
.line 4
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->releaseGlows()V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method private saveFocusInfo()V
|
|
.locals 4
|
|
|
|
.line 1
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPreserveFocusAfterLayout:Z
|
|
|
|
const/4 v1, 0x0
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->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 2
|
|
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 3
|
|
:cond_1
|
|
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->findContainingViewHolder(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$a0;
|
|
|
|
move-result-object v1
|
|
|
|
:goto_1
|
|
if-nez v1, :cond_2
|
|
|
|
.line 4
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->resetFocusInfo()V
|
|
|
|
goto :goto_4
|
|
|
|
.line 5
|
|
:cond_2
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
|
|
|
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z
|
|
|
|
move-result v2
|
|
|
|
if-eqz v2, :cond_3
|
|
|
|
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$a0;->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$x;->n:J
|
|
|
|
.line 6
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
iget-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z
|
|
|
|
if-eqz v2, :cond_4
|
|
|
|
const/4 v2, -0x1
|
|
|
|
goto :goto_3
|
|
|
|
.line 7
|
|
:cond_4
|
|
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$a0;->isRemoved()Z
|
|
|
|
move-result v2
|
|
|
|
if-eqz v2, :cond_5
|
|
|
|
iget v2, v1, Landroidx/recyclerview/widget/RecyclerView$a0;->mOldPosition:I
|
|
|
|
goto :goto_3
|
|
|
|
.line 8
|
|
:cond_5
|
|
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$a0;->getAbsoluteAdapterPosition()I
|
|
|
|
move-result v2
|
|
|
|
:goto_3
|
|
iput v2, v0, Landroidx/recyclerview/widget/RecyclerView$x;->m:I
|
|
|
|
.line 9
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
iget-object v1, v1, Landroidx/recyclerview/widget/RecyclerView$a0;->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$x;->o: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
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 2
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mObserver:Landroidx/recyclerview/widget/RecyclerView$u;
|
|
|
|
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->unregisterAdapterDataObserver(Landroidx/recyclerview/widget/RecyclerView$i;)V
|
|
|
|
.line 3
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
|
|
|
invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->onDetachedFromRecyclerView(Landroidx/recyclerview/widget/RecyclerView;)V
|
|
|
|
:cond_0
|
|
if-eqz p2, :cond_1
|
|
|
|
if-eqz p3, :cond_2
|
|
|
|
.line 4
|
|
:cond_1
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->removeAndRecycleViews()V
|
|
|
|
.line 5
|
|
:cond_2
|
|
iget-object p3, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/a;
|
|
|
|
invoke-virtual {p3}, Landroidx/recyclerview/widget/a;->z()V
|
|
|
|
.line 6
|
|
iget-object p3, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
|
|
|
.line 7
|
|
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
|
|
|
if-eqz p1, :cond_3
|
|
|
|
.line 8
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mObserver:Landroidx/recyclerview/widget/RecyclerView$u;
|
|
|
|
invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->registerAdapterDataObserver(Landroidx/recyclerview/widget/RecyclerView$i;)V
|
|
|
|
.line 9
|
|
invoke-virtual {p1, p0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->onAttachedToRecyclerView(Landroidx/recyclerview/widget/RecyclerView;)V
|
|
|
|
.line 10
|
|
:cond_3
|
|
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
if-eqz p1, :cond_4
|
|
|
|
.line 11
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
|
|
|
invoke-virtual {p1, p3, v0}, Landroidx/recyclerview/widget/RecyclerView$m;->onAdapterChanged(Landroidx/recyclerview/widget/RecyclerView$Adapter;Landroidx/recyclerview/widget/RecyclerView$Adapter;)V
|
|
|
|
.line 12
|
|
:cond_4
|
|
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
|
|
|
invoke-virtual {p1, p3, v0, p2}, Landroidx/recyclerview/widget/RecyclerView$s;->y(Landroidx/recyclerview/widget/RecyclerView$Adapter;Landroidx/recyclerview/widget/RecyclerView$Adapter;Z)V
|
|
|
|
.line 13
|
|
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
const/4 p2, 0x1
|
|
|
|
iput-boolean p2, p1, Landroidx/recyclerview/widget/RecyclerView$x;->g:Z
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method private stopScrollersInternal()V
|
|
.locals 1
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$z;
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$z;->f()V
|
|
|
|
.line 2
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 3
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$m;->stopSmoothScroller()V
|
|
|
|
:cond_0
|
|
return-void
|
|
.end method
|
|
|
|
|
|
# virtual methods
|
|
.method public absorbGlows(II)V
|
|
.locals 2
|
|
|
|
if-gez p1, :cond_0
|
|
|
|
.line 1
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureLeftGlow()V
|
|
|
|
.line 2
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
|
|
|
|
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
.line 3
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
|
|
|
|
neg-int v1, p1
|
|
|
|
invoke-virtual {v0, v1}, Landroid/widget/EdgeEffect;->onAbsorb(I)V
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
if-lez p1, :cond_1
|
|
|
|
.line 4
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureRightGlow()V
|
|
|
|
.line 5
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
|
|
|
|
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
.line 6
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
|
|
|
|
invoke-virtual {v0, p1}, Landroid/widget/EdgeEffect;->onAbsorb(I)V
|
|
|
|
:cond_1
|
|
:goto_0
|
|
if-gez p2, :cond_2
|
|
|
|
.line 7
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureTopGlow()V
|
|
|
|
.line 8
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
|
|
|
|
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_3
|
|
|
|
.line 9
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
|
|
|
|
neg-int v1, p2
|
|
|
|
invoke-virtual {v0, v1}, Landroid/widget/EdgeEffect;->onAbsorb(I)V
|
|
|
|
goto :goto_1
|
|
|
|
:cond_2
|
|
if-lez p2, :cond_3
|
|
|
|
.line 10
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->ensureBottomGlow()V
|
|
|
|
.line 11
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
|
|
|
|
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_3
|
|
|
|
.line 12
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
|
|
|
|
invoke-virtual {v0, p2}, Landroid/widget/EdgeEffect;->onAbsorb(I)V
|
|
|
|
:cond_3
|
|
:goto_1
|
|
if-nez p1, :cond_4
|
|
|
|
if-eqz p2, :cond_5
|
|
|
|
.line 13
|
|
:cond_4
|
|
invoke-static {p0}, Landroidx/core/view/ViewCompat;->n1(Landroid/view/View;)V
|
|
|
|
:cond_5
|
|
return-void
|
|
.end method
|
|
|
|
.method public addFocusables(Ljava/util/ArrayList;II)V
|
|
.locals 1
|
|
.annotation system Ldalvik/annotation/Signature;
|
|
value = {
|
|
"(",
|
|
"Ljava/util/ArrayList<",
|
|
"Landroid/view/View;",
|
|
">;II)V"
|
|
}
|
|
.end annotation
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
invoke-virtual {v0, p0, p1, p2, p3}, Landroidx/recyclerview/widget/RecyclerView$m;->onAddFocusables(Landroidx/recyclerview/widget/RecyclerView;Ljava/util/ArrayList;II)Z
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_1
|
|
|
|
.line 2
|
|
: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$l;)V
|
|
.locals 1
|
|
.param p1 # Landroidx/recyclerview/widget/RecyclerView$l;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
|
|
const/4 v0, -0x1
|
|
|
|
.line 9
|
|
invoke-virtual {p0, p1, v0}, Landroidx/recyclerview/widget/RecyclerView;->addItemDecoration(Landroidx/recyclerview/widget/RecyclerView$l;I)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public addItemDecoration(Landroidx/recyclerview/widget/RecyclerView$l;I)V
|
|
.locals 2
|
|
.param p1 # Landroidx/recyclerview/widget/RecyclerView$l;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
const-string v1, "Cannot add item decoration during a scroll or layout"
|
|
|
|
.line 2
|
|
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$m;->assertNotInLayoutOrScroll(Ljava/lang/String;)V
|
|
|
|
.line 3
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
|
|
|
|
invoke-virtual {v0}, Ljava/util/ArrayList;->isEmpty()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 4
|
|
invoke-virtual {p0, v0}, Landroid/view/ViewGroup;->setWillNotDraw(Z)V
|
|
|
|
:cond_1
|
|
if-gez p2, :cond_2
|
|
|
|
.line 5
|
|
iget-object p2, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
|
|
|
|
invoke-virtual {p2, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
|
|
|
|
goto :goto_0
|
|
|
|
.line 6
|
|
:cond_2
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
|
|
|
|
invoke-virtual {v0, p2, p1}, Ljava/util/ArrayList;->add(ILjava/lang/Object;)V
|
|
|
|
.line 7
|
|
:goto_0
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->markItemDecorInsetsDirty()V
|
|
|
|
.line 8
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public addOnChildAttachStateChangeListener(Landroidx/recyclerview/widget/RecyclerView$n;)V
|
|
.locals 1
|
|
.param p1 # Landroidx/recyclerview/widget/RecyclerView$n;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List;
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
.line 2
|
|
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;
|
|
|
|
.line 3
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List;
|
|
|
|
invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public addOnItemTouchListener(Landroidx/recyclerview/widget/RecyclerView$p;)V
|
|
.locals 1
|
|
.param p1 # Landroidx/recyclerview/widget/RecyclerView$p;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList;
|
|
|
|
invoke-virtual {v0, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public addOnScrollListener(Landroidx/recyclerview/widget/RecyclerView$q;)V
|
|
.locals 1
|
|
.param p1 # Landroidx/recyclerview/widget/RecyclerView$q;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List;
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
.line 2
|
|
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;
|
|
|
|
.line 3
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List;
|
|
|
|
invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public addRecyclerListener(Landroidx/recyclerview/widget/RecyclerView$t;)V
|
|
.locals 2
|
|
.param p1 # Landroidx/recyclerview/widget/RecyclerView$t;
|
|
.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 1
|
|
invoke-static {v0, v1}, Lr1/o;->b(ZLjava/lang/Object;)V
|
|
|
|
.line 2
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecyclerListeners:Ljava/util/List;
|
|
|
|
invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public animateAppearance(Landroidx/recyclerview/widget/RecyclerView$a0;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;)V
|
|
.locals 1
|
|
.param p1 # Landroidx/recyclerview/widget/RecyclerView$a0;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
.param p2 # Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
.end param
|
|
.param p3 # Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 1
|
|
invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$a0;->setIsRecyclable(Z)V
|
|
|
|
.line 2
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
|
|
|
|
invoke-virtual {v0, p1, p2, p3}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->a(Landroidx/recyclerview/widget/RecyclerView$a0;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;)Z
|
|
|
|
move-result p1
|
|
|
|
if-eqz p1, :cond_0
|
|
|
|
.line 3
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->postAnimationRunner()V
|
|
|
|
:cond_0
|
|
return-void
|
|
.end method
|
|
|
|
.method public animateDisappearance(Landroidx/recyclerview/widget/RecyclerView$a0;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;)V
|
|
.locals 1
|
|
.param p1 # Landroidx/recyclerview/widget/RecyclerView$a0;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
.param p2 # Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
.param p3 # Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
.end param
|
|
|
|
.line 1
|
|
invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->addAnimatingView(Landroidx/recyclerview/widget/RecyclerView$a0;)V
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 2
|
|
invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$a0;->setIsRecyclable(Z)V
|
|
|
|
.line 3
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
|
|
|
|
invoke-virtual {v0, p1, p2, p3}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->c(Landroidx/recyclerview/widget/RecyclerView$a0;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;)Z
|
|
|
|
move-result p1
|
|
|
|
if-eqz p1, :cond_0
|
|
|
|
.line 4
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->postAnimationRunner()V
|
|
|
|
:cond_0
|
|
return-void
|
|
.end method
|
|
|
|
.method public assertInLayoutOrScroll(Ljava/lang/String;)V
|
|
.locals 1
|
|
|
|
.line 1
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isComputingLayout()Z
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_1
|
|
|
|
if-nez p1, :cond_0
|
|
|
|
.line 2
|
|
new-instance p1, Ljava/lang/IllegalStateException;
|
|
|
|
const-string v0, "Cannot call this method unless RecyclerView is computing a layout or scrolling"
|
|
|
|
invoke-static {v0}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
move-result-object v0
|
|
|
|
.line 3
|
|
invoke-static {p0, v0}, Landroidx/recyclerview/widget/b0;->a(Landroidx/recyclerview/widget/RecyclerView;Ljava/lang/StringBuilder;)Ljava/lang/String;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
|
|
|
|
throw p1
|
|
|
|
.line 4
|
|
:cond_0
|
|
new-instance v0, Ljava/lang/IllegalStateException;
|
|
|
|
invoke-static {p1}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
move-result-object p1
|
|
|
|
invoke-static {p0, p1}, Landroidx/recyclerview/widget/b0;->a(Landroidx/recyclerview/widget/RecyclerView;Ljava/lang/StringBuilder;)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 1
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isComputingLayout()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
if-nez p1, :cond_0
|
|
|
|
.line 2
|
|
new-instance p1, Ljava/lang/IllegalStateException;
|
|
|
|
const-string v0, "Cannot call this method while RecyclerView is computing a layout or scrolling"
|
|
|
|
invoke-static {v0}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
move-result-object v0
|
|
|
|
.line 3
|
|
invoke-static {p0, v0}, Landroidx/recyclerview/widget/b0;->a(Landroidx/recyclerview/widget/RecyclerView;Ljava/lang/StringBuilder;)Ljava/lang/String;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
|
|
|
|
throw p1
|
|
|
|
.line 4
|
|
:cond_0
|
|
new-instance v0, Ljava/lang/IllegalStateException;
|
|
|
|
invoke-direct {v0, p1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
|
|
|
|
throw v0
|
|
|
|
.line 5
|
|
:cond_1
|
|
iget p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mDispatchScrollCounter:I
|
|
|
|
if-lez p1, :cond_2
|
|
|
|
.line 6
|
|
new-instance p1, Ljava/lang/IllegalStateException;
|
|
|
|
const-string v0, ""
|
|
|
|
invoke-static {v0}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
move-result-object v0
|
|
|
|
.line 7
|
|
invoke-static {p0, v0}, Landroidx/recyclerview/widget/b0;->a(Landroidx/recyclerview/widget/RecyclerView;Ljava/lang/StringBuilder;)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 8
|
|
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$a0;)Z
|
|
.locals 2
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
.line 2
|
|
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$a0;->getUnmodifiedPayloads()Ljava/util/List;
|
|
|
|
move-result-object v1
|
|
|
|
.line 3
|
|
invoke-virtual {v0, p1, v1}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->g(Landroidx/recyclerview/widget/RecyclerView$a0;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 1
|
|
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$m;
|
|
|
|
check-cast p1, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
|
|
|
|
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$m;->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
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/g;->j()I
|
|
|
|
move-result v0
|
|
|
|
const/4 v1, 0x0
|
|
|
|
:goto_0
|
|
if-ge v1, v0, :cond_1
|
|
|
|
.line 2
|
|
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
|
|
|
|
invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/g;->i(I)Landroid/view/View;
|
|
|
|
move-result-object v2
|
|
|
|
invoke-static {v2}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$a0;
|
|
|
|
move-result-object v2
|
|
|
|
.line 3
|
|
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$a0;->shouldIgnore()Z
|
|
|
|
move-result v3
|
|
|
|
if-nez v3, :cond_0
|
|
|
|
.line 4
|
|
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$a0;->clearOldPosition()V
|
|
|
|
:cond_0
|
|
add-int/lit8 v1, v1, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
.line 5
|
|
:cond_1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$s;->e()V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public clearOnChildAttachStateChangeListeners()V
|
|
.locals 1
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 2
|
|
invoke-interface {v0}, Ljava/util/List;->clear()V
|
|
|
|
:cond_0
|
|
return-void
|
|
.end method
|
|
|
|
.method public clearOnScrollListeners()V
|
|
.locals 1
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 2
|
|
invoke-interface {v0}, Ljava/util/List;->clear()V
|
|
|
|
:cond_0
|
|
return-void
|
|
.end method
|
|
|
|
.method public computeHorizontalScrollExtent()I
|
|
.locals 2
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
const/4 v1, 0x0
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
return v1
|
|
|
|
.line 2
|
|
:cond_0
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$m;->canScrollHorizontally()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$m;->computeHorizontalScrollExtent(Landroidx/recyclerview/widget/RecyclerView$x;)I
|
|
|
|
move-result v1
|
|
|
|
:cond_1
|
|
return v1
|
|
.end method
|
|
|
|
.method public computeHorizontalScrollOffset()I
|
|
.locals 2
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
const/4 v1, 0x0
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
return v1
|
|
|
|
.line 2
|
|
:cond_0
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$m;->canScrollHorizontally()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$m;->computeHorizontalScrollOffset(Landroidx/recyclerview/widget/RecyclerView$x;)I
|
|
|
|
move-result v1
|
|
|
|
:cond_1
|
|
return v1
|
|
.end method
|
|
|
|
.method public computeHorizontalScrollRange()I
|
|
.locals 2
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
const/4 v1, 0x0
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
return v1
|
|
|
|
.line 2
|
|
:cond_0
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$m;->canScrollHorizontally()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$m;->computeHorizontalScrollRange(Landroidx/recyclerview/widget/RecyclerView$x;)I
|
|
|
|
move-result v1
|
|
|
|
:cond_1
|
|
return v1
|
|
.end method
|
|
|
|
.method public computeVerticalScrollExtent()I
|
|
.locals 2
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
const/4 v1, 0x0
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
return v1
|
|
|
|
.line 2
|
|
:cond_0
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$m;->canScrollVertically()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$m;->computeVerticalScrollExtent(Landroidx/recyclerview/widget/RecyclerView$x;)I
|
|
|
|
move-result v1
|
|
|
|
:cond_1
|
|
return v1
|
|
.end method
|
|
|
|
.method public computeVerticalScrollOffset()I
|
|
.locals 2
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
const/4 v1, 0x0
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
return v1
|
|
|
|
.line 2
|
|
:cond_0
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$m;->canScrollVertically()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$m;->computeVerticalScrollOffset(Landroidx/recyclerview/widget/RecyclerView$x;)I
|
|
|
|
move-result v1
|
|
|
|
:cond_1
|
|
return v1
|
|
.end method
|
|
|
|
.method public computeVerticalScrollRange()I
|
|
.locals 2
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
const/4 v1, 0x0
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
return v1
|
|
|
|
.line 2
|
|
:cond_0
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$m;->canScrollVertically()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$m;->computeVerticalScrollRange(Landroidx/recyclerview/widget/RecyclerView$x;)I
|
|
|
|
move-result v1
|
|
|
|
:cond_1
|
|
return v1
|
|
.end method
|
|
|
|
.method public considerReleasingGlowsOnScroll(II)V
|
|
.locals 2
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
if-lez p1, :cond_0
|
|
|
|
.line 2
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
|
|
|
|
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->onRelease()V
|
|
|
|
.line 3
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
|
|
|
|
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z
|
|
|
|
move-result v0
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
const/4 v0, 0x0
|
|
|
|
.line 4
|
|
:goto_0
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
|
|
|
|
if-eqz v1, :cond_1
|
|
|
|
invoke-virtual {v1}, Landroid/widget/EdgeEffect;->isFinished()Z
|
|
|
|
move-result v1
|
|
|
|
if-nez v1, :cond_1
|
|
|
|
if-gez p1, :cond_1
|
|
|
|
.line 5
|
|
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
|
|
|
|
invoke-virtual {p1}, Landroid/widget/EdgeEffect;->onRelease()V
|
|
|
|
.line 6
|
|
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
|
|
|
|
invoke-virtual {p1}, Landroid/widget/EdgeEffect;->isFinished()Z
|
|
|
|
move-result p1
|
|
|
|
or-int/2addr v0, p1
|
|
|
|
.line 7
|
|
:cond_1
|
|
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
|
|
|
|
if-eqz p1, :cond_2
|
|
|
|
invoke-virtual {p1}, Landroid/widget/EdgeEffect;->isFinished()Z
|
|
|
|
move-result p1
|
|
|
|
if-nez p1, :cond_2
|
|
|
|
if-lez p2, :cond_2
|
|
|
|
.line 8
|
|
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
|
|
|
|
invoke-virtual {p1}, Landroid/widget/EdgeEffect;->onRelease()V
|
|
|
|
.line 9
|
|
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
|
|
|
|
invoke-virtual {p1}, Landroid/widget/EdgeEffect;->isFinished()Z
|
|
|
|
move-result p1
|
|
|
|
or-int/2addr v0, p1
|
|
|
|
.line 10
|
|
:cond_2
|
|
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
|
|
|
|
if-eqz p1, :cond_3
|
|
|
|
invoke-virtual {p1}, Landroid/widget/EdgeEffect;->isFinished()Z
|
|
|
|
move-result p1
|
|
|
|
if-nez p1, :cond_3
|
|
|
|
if-gez p2, :cond_3
|
|
|
|
.line 11
|
|
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
|
|
|
|
invoke-virtual {p1}, Landroid/widget/EdgeEffect;->onRelease()V
|
|
|
|
.line 12
|
|
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
|
|
|
|
invoke-virtual {p1}, Landroid/widget/EdgeEffect;->isFinished()Z
|
|
|
|
move-result p1
|
|
|
|
or-int/2addr v0, p1
|
|
|
|
:cond_3
|
|
if-eqz v0, :cond_4
|
|
|
|
.line 13
|
|
invoke-static {p0}, Landroidx/core/view/ViewCompat;->n1(Landroid/view/View;)V
|
|
|
|
:cond_4
|
|
return-void
|
|
.end method
|
|
|
|
.method public consumePendingUpdateOperations()V
|
|
.locals 3
|
|
|
|
.line 1
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z
|
|
|
|
const-string v1, "RV FullInvalidate"
|
|
|
|
if-eqz v0, :cond_6
|
|
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
goto :goto_2
|
|
|
|
.line 2
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/a;
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/a;->q()Z
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_1
|
|
|
|
return-void
|
|
|
|
.line 3
|
|
:cond_1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/a;
|
|
|
|
const/4 v2, 0x4
|
|
|
|
invoke-virtual {v0, v2}, Landroidx/recyclerview/widget/a;->p(I)Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_4
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/a;
|
|
|
|
const/16 v2, 0xb
|
|
|
|
.line 4
|
|
invoke-virtual {v0, v2}, Landroidx/recyclerview/widget/a;->p(I)Z
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_4
|
|
|
|
const-string v0, "RV PartialInvalidate"
|
|
|
|
.line 5
|
|
invoke-static {v0}, Ll1/r;->b(Ljava/lang/String;)V
|
|
|
|
.line 6
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
|
|
|
|
.line 7
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V
|
|
|
|
.line 8
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/a;
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/a;->x()V
|
|
|
|
.line 9
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z
|
|
|
|
if-nez v0, :cond_3
|
|
|
|
.line 10
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->hasUpdatedView()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_2
|
|
|
|
.line 11
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayout()V
|
|
|
|
goto :goto_0
|
|
|
|
.line 12
|
|
:cond_2
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/a;
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/a;->j()V
|
|
|
|
:cond_3
|
|
:goto_0
|
|
const/4 v0, 0x1
|
|
|
|
.line 13
|
|
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
|
|
|
|
.line 14
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V
|
|
|
|
.line 15
|
|
invoke-static {}, Ll1/r;->d()V
|
|
|
|
goto :goto_1
|
|
|
|
.line 16
|
|
:cond_4
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/a;
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/a;->q()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_5
|
|
|
|
.line 17
|
|
invoke-static {v1}, Ll1/r;->b(Ljava/lang/String;)V
|
|
|
|
.line 18
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayout()V
|
|
|
|
.line 19
|
|
invoke-static {}, Ll1/r;->d()V
|
|
|
|
:cond_5
|
|
:goto_1
|
|
return-void
|
|
|
|
.line 20
|
|
:cond_6
|
|
:goto_2
|
|
invoke-static {v1}, Ll1/r;->b(Ljava/lang/String;)V
|
|
|
|
.line 21
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayout()V
|
|
|
|
.line 22
|
|
invoke-static {}, Ll1/r;->d()V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public defaultOnMeasure(II)V
|
|
.locals 2
|
|
|
|
.line 1
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingLeft()I
|
|
|
|
move-result v0
|
|
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingRight()I
|
|
|
|
move-result v1
|
|
|
|
add-int/2addr v1, v0
|
|
|
|
.line 2
|
|
invoke-static {p0}, Landroidx/core/view/ViewCompat;->f0(Landroid/view/View;)I
|
|
|
|
move-result v0
|
|
|
|
.line 3
|
|
invoke-static {p1, v1, v0}, Landroidx/recyclerview/widget/RecyclerView$m;->chooseSize(III)I
|
|
|
|
move-result p1
|
|
|
|
.line 4
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingTop()I
|
|
|
|
move-result v0
|
|
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingBottom()I
|
|
|
|
move-result v1
|
|
|
|
add-int/2addr v1, v0
|
|
|
|
.line 5
|
|
invoke-static {p0}, Landroidx/core/view/ViewCompat;->e0(Landroid/view/View;)I
|
|
|
|
move-result v0
|
|
|
|
.line 6
|
|
invoke-static {p2, v1, v0}, Landroidx/recyclerview/widget/RecyclerView$m;->chooseSize(III)I
|
|
|
|
move-result p2
|
|
|
|
.line 7
|
|
invoke-virtual {p0, p1, p2}, Landroid/view/ViewGroup;->setMeasuredDimension(II)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public dispatchChildAttached(Landroid/view/View;)V
|
|
.locals 2
|
|
|
|
.line 1
|
|
invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$a0;
|
|
|
|
move-result-object v0
|
|
|
|
.line 2
|
|
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->onChildAttachedToWindow(Landroid/view/View;)V
|
|
|
|
.line 3
|
|
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 4
|
|
invoke-virtual {v1, v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->onViewAttachedToWindow(Landroidx/recyclerview/widget/RecyclerView$a0;)V
|
|
|
|
.line 5
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List;
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
.line 6
|
|
invoke-interface {v0}, Ljava/util/List;->size()I
|
|
|
|
move-result v0
|
|
|
|
add-int/lit8 v0, v0, -0x1
|
|
|
|
:goto_0
|
|
if-ltz v0, :cond_1
|
|
|
|
.line 7
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List;
|
|
|
|
invoke-interface {v1, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
|
|
|
|
move-result-object v1
|
|
|
|
check-cast v1, Landroidx/recyclerview/widget/RecyclerView$n;
|
|
|
|
invoke-interface {v1, p1}, Landroidx/recyclerview/widget/RecyclerView$n;->d(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 1
|
|
invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$a0;
|
|
|
|
move-result-object v0
|
|
|
|
.line 2
|
|
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->onChildDetachedFromWindow(Landroid/view/View;)V
|
|
|
|
.line 3
|
|
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 4
|
|
invoke-virtual {v1, v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->onViewDetachedFromWindow(Landroidx/recyclerview/widget/RecyclerView$a0;)V
|
|
|
|
.line 5
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List;
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
.line 6
|
|
invoke-interface {v0}, Ljava/util/List;->size()I
|
|
|
|
move-result v0
|
|
|
|
add-int/lit8 v0, v0, -0x1
|
|
|
|
:goto_0
|
|
if-ltz v0, :cond_1
|
|
|
|
.line 7
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List;
|
|
|
|
invoke-interface {v1, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
|
|
|
|
move-result-object v1
|
|
|
|
check-cast v1, Landroidx/recyclerview/widget/RecyclerView$n;
|
|
|
|
invoke-interface {v1, p1}, Landroidx/recyclerview/widget/RecyclerView$n;->b(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
|
|
|
|
.line 1
|
|
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 2
|
|
invoke-static {v1, v0}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
|
|
|
|
return-void
|
|
|
|
.line 3
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
if-nez v0, :cond_1
|
|
|
|
const-string v0, "No layout manager attached; skipping layout"
|
|
|
|
.line 4
|
|
invoke-static {v1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
|
|
|
|
return-void
|
|
|
|
.line 5
|
|
:cond_1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
const/4 v1, 0x0
|
|
|
|
iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$x;->j:Z
|
|
|
|
.line 6
|
|
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 7
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getWidth()I
|
|
|
|
move-result v3
|
|
|
|
if-ne v0, v3, :cond_2
|
|
|
|
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureNonExactMeasuredHeight:I
|
|
|
|
.line 8
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getHeight()I
|
|
|
|
move-result v3
|
|
|
|
if-eq v0, v3, :cond_3
|
|
|
|
:cond_2
|
|
move v0, v2
|
|
|
|
goto :goto_0
|
|
|
|
:cond_3
|
|
move v0, v1
|
|
|
|
.line 9
|
|
:goto_0
|
|
iput v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureNonExactMeasuredWidth:I
|
|
|
|
.line 10
|
|
iput v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureNonExactMeasuredHeight:I
|
|
|
|
.line 11
|
|
iput-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureSkippedDueToExact:Z
|
|
|
|
.line 12
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
iget v1, v1, Landroidx/recyclerview/widget/RecyclerView$x;->e:I
|
|
|
|
if-ne v1, v2, :cond_4
|
|
|
|
.line 13
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep1()V
|
|
|
|
.line 14
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$m;->setExactMeasureSpecsFrom(Landroidx/recyclerview/widget/RecyclerView;)V
|
|
|
|
.line 15
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep2()V
|
|
|
|
goto :goto_2
|
|
|
|
.line 16
|
|
:cond_4
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/a;
|
|
|
|
invoke-virtual {v1}, Landroidx/recyclerview/widget/a;->r()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$m;
|
|
|
|
.line 17
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$m;->getWidth()I
|
|
|
|
move-result v0
|
|
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getWidth()I
|
|
|
|
move-result v1
|
|
|
|
if-ne v0, v1, :cond_6
|
|
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
.line 18
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$m;->getHeight()I
|
|
|
|
move-result v0
|
|
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getHeight()I
|
|
|
|
move-result v1
|
|
|
|
if-eq v0, v1, :cond_5
|
|
|
|
goto :goto_1
|
|
|
|
.line 19
|
|
:cond_5
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$m;->setExactMeasureSpecsFrom(Landroidx/recyclerview/widget/RecyclerView;)V
|
|
|
|
goto :goto_2
|
|
|
|
.line 20
|
|
:cond_6
|
|
:goto_1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView$m;->setExactMeasureSpecsFrom(Landroidx/recyclerview/widget/RecyclerView;)V
|
|
|
|
.line 21
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep2()V
|
|
|
|
.line 22
|
|
:goto_2
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep3()V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public dispatchNestedFling(FFZ)Z
|
|
.locals 1
|
|
|
|
.line 1
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Ls1/z;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-virtual {v0, p1, p2, p3}, Ls1/z;->a(FFZ)Z
|
|
|
|
move-result p1
|
|
|
|
return p1
|
|
.end method
|
|
|
|
.method public dispatchNestedPreFling(FF)Z
|
|
.locals 1
|
|
|
|
.line 1
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Ls1/z;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-virtual {v0, p1, p2}, Ls1/z;->b(FF)Z
|
|
|
|
move-result p1
|
|
|
|
return p1
|
|
.end method
|
|
|
|
.method public dispatchNestedPreScroll(II[I[I)Z
|
|
.locals 1
|
|
|
|
.line 1
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Ls1/z;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-virtual {v0, p1, p2, p3, p4}, Ls1/z;->c(II[I[I)Z
|
|
|
|
move-result p1
|
|
|
|
return p1
|
|
.end method
|
|
|
|
.method public dispatchNestedPreScroll(II[I[II)Z
|
|
.locals 6
|
|
|
|
.line 2
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Ls1/z;
|
|
|
|
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}, Ls1/z;->d(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 3
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Ls1/z;
|
|
|
|
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}, Ls1/z;->e(IIII[II[I)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public dispatchNestedScroll(IIII[I)Z
|
|
.locals 6
|
|
|
|
.line 1
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Ls1/z;
|
|
|
|
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}, Ls1/z;->f(IIII[I)Z
|
|
|
|
move-result p1
|
|
|
|
return p1
|
|
.end method
|
|
|
|
.method public dispatchNestedScroll(IIII[II)Z
|
|
.locals 7
|
|
|
|
.line 2
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Ls1/z;
|
|
|
|
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}, Ls1/z;->g(IIII[II)Z
|
|
|
|
move-result p1
|
|
|
|
return p1
|
|
.end method
|
|
|
|
.method public dispatchOnScrollStateChanged(I)V
|
|
.locals 2
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 2
|
|
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$m;->onScrollStateChanged(I)V
|
|
|
|
.line 3
|
|
:cond_0
|
|
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->onScrollStateChanged(I)V
|
|
|
|
.line 4
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListener:Landroidx/recyclerview/widget/RecyclerView$q;
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
.line 5
|
|
invoke-virtual {v0, p0, p1}, Landroidx/recyclerview/widget/RecyclerView$q;->onScrollStateChanged(Landroidx/recyclerview/widget/RecyclerView;I)V
|
|
|
|
.line 6
|
|
:cond_1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List;
|
|
|
|
if-eqz v0, :cond_2
|
|
|
|
.line 7
|
|
invoke-interface {v0}, Ljava/util/List;->size()I
|
|
|
|
move-result v0
|
|
|
|
add-int/lit8 v0, v0, -0x1
|
|
|
|
:goto_0
|
|
if-ltz v0, :cond_2
|
|
|
|
.line 8
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List;
|
|
|
|
invoke-interface {v1, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
|
|
|
|
move-result-object v1
|
|
|
|
check-cast v1, Landroidx/recyclerview/widget/RecyclerView$q;
|
|
|
|
invoke-virtual {v1, p0, p1}, Landroidx/recyclerview/widget/RecyclerView$q;->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
|
|
|
|
.line 1
|
|
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 2
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getScrollX()I
|
|
|
|
move-result v0
|
|
|
|
.line 3
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getScrollY()I
|
|
|
|
move-result v1
|
|
|
|
sub-int v2, v0, p1
|
|
|
|
sub-int v3, v1, p2
|
|
|
|
.line 4
|
|
invoke-virtual {p0, v0, v1, v2, v3}, Landroid/view/ViewGroup;->onScrollChanged(IIII)V
|
|
|
|
.line 5
|
|
invoke-virtual {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->onScrolled(II)V
|
|
|
|
.line 6
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListener:Landroidx/recyclerview/widget/RecyclerView$q;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 7
|
|
invoke-virtual {v0, p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$q;->onScrolled(Landroidx/recyclerview/widget/RecyclerView;II)V
|
|
|
|
.line 8
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List;
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
.line 9
|
|
invoke-interface {v0}, Ljava/util/List;->size()I
|
|
|
|
move-result v0
|
|
|
|
add-int/lit8 v0, v0, -0x1
|
|
|
|
:goto_0
|
|
if-ltz v0, :cond_1
|
|
|
|
.line 10
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List;
|
|
|
|
invoke-interface {v1, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
|
|
|
|
move-result-object v1
|
|
|
|
check-cast v1, Landroidx/recyclerview/widget/RecyclerView$q;
|
|
|
|
invoke-virtual {v1, p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$q;->onScrolled(Landroidx/recyclerview/widget/RecyclerView;II)V
|
|
|
|
add-int/lit8 v0, v0, -0x1
|
|
|
|
goto :goto_0
|
|
|
|
.line 11
|
|
: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
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingAccessibilityImportanceChange:Ljava/util/List;
|
|
|
|
invoke-interface {v0}, Ljava/util/List;->size()I
|
|
|
|
move-result v0
|
|
|
|
add-int/lit8 v0, v0, -0x1
|
|
|
|
:goto_0
|
|
if-ltz v0, :cond_2
|
|
|
|
.line 2
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingAccessibilityImportanceChange:Ljava/util/List;
|
|
|
|
invoke-interface {v1, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
|
|
|
|
move-result-object v1
|
|
|
|
check-cast v1, Landroidx/recyclerview/widget/RecyclerView$a0;
|
|
|
|
.line 3
|
|
iget-object v2, v1, Landroidx/recyclerview/widget/RecyclerView$a0;->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$a0;->shouldIgnore()Z
|
|
|
|
move-result v2
|
|
|
|
if-eqz v2, :cond_0
|
|
|
|
goto :goto_1
|
|
|
|
.line 4
|
|
:cond_0
|
|
iget v2, v1, Landroidx/recyclerview/widget/RecyclerView$a0;->mPendingAccessibilityState:I
|
|
|
|
const/4 v3, -0x1
|
|
|
|
if-eq v2, v3, :cond_1
|
|
|
|
.line 5
|
|
iget-object v4, v1, Landroidx/recyclerview/widget/RecyclerView$a0;->itemView:Landroid/view/View;
|
|
|
|
invoke-static {v4, v2}, Landroidx/core/view/ViewCompat;->R1(Landroid/view/View;I)V
|
|
|
|
.line 6
|
|
iput v3, v1, Landroidx/recyclerview/widget/RecyclerView$a0;->mPendingAccessibilityState:I
|
|
|
|
:cond_1
|
|
:goto_1
|
|
add-int/lit8 v0, v0, -0x1
|
|
|
|
goto :goto_0
|
|
|
|
.line 7
|
|
:cond_2
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingAccessibilityImportanceChange:Ljava/util/List;
|
|
|
|
invoke-interface {v0}, Ljava/util/List;->clear()V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public dispatchPopulateAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)Z
|
|
.locals 0
|
|
|
|
.line 1
|
|
invoke-virtual {p0, p1}, Landroid/view/ViewGroup;->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 1
|
|
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 1
|
|
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 1
|
|
invoke-super {p0, p1}, Landroid/view/ViewGroup;->draw(Landroid/graphics/Canvas;)V
|
|
|
|
.line 2
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
|
|
|
|
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
|
|
|
|
move-result v0
|
|
|
|
const/4 v1, 0x0
|
|
|
|
move v2, v1
|
|
|
|
:goto_0
|
|
if-ge v2, v0, :cond_0
|
|
|
|
.line 3
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
|
|
|
|
invoke-virtual {v3, v2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
|
|
|
|
move-result-object v3
|
|
|
|
check-cast v3, Landroidx/recyclerview/widget/RecyclerView$l;
|
|
|
|
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
invoke-virtual {v3, p1, p0, v4}, Landroidx/recyclerview/widget/RecyclerView$l;->onDrawOver(Landroid/graphics/Canvas;Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$x;)V
|
|
|
|
add-int/lit8 v2, v2, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
.line 4
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
|
|
|
|
const/4 v2, 0x1
|
|
|
|
if-eqz v0, :cond_3
|
|
|
|
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_3
|
|
|
|
.line 5
|
|
invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I
|
|
|
|
move-result v0
|
|
|
|
.line 6
|
|
iget-boolean v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
|
|
|
|
if-eqz v3, :cond_1
|
|
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingBottom()I
|
|
|
|
move-result v3
|
|
|
|
goto :goto_1
|
|
|
|
:cond_1
|
|
move v3, v1
|
|
|
|
:goto_1
|
|
const/high16 v4, 0x43870000 # 270.0f
|
|
|
|
.line 7
|
|
invoke-virtual {p1, v4}, Landroid/graphics/Canvas;->rotate(F)V
|
|
|
|
.line 8
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getHeight()I
|
|
|
|
move-result v4
|
|
|
|
neg-int v4, v4
|
|
|
|
add-int/2addr v4, v3
|
|
|
|
int-to-float v3, v4
|
|
|
|
const/4 v4, 0x0
|
|
|
|
invoke-virtual {p1, v3, v4}, Landroid/graphics/Canvas;->translate(FF)V
|
|
|
|
.line 9
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
|
|
|
|
if-eqz v3, :cond_2
|
|
|
|
invoke-virtual {v3, p1}, Landroid/widget/EdgeEffect;->draw(Landroid/graphics/Canvas;)Z
|
|
|
|
move-result v3
|
|
|
|
if-eqz v3, :cond_2
|
|
|
|
move v3, v2
|
|
|
|
goto :goto_2
|
|
|
|
:cond_2
|
|
move v3, v1
|
|
|
|
.line 10
|
|
:goto_2
|
|
invoke-virtual {p1, v0}, Landroid/graphics/Canvas;->restoreToCount(I)V
|
|
|
|
goto :goto_3
|
|
|
|
:cond_3
|
|
move v3, v1
|
|
|
|
.line 11
|
|
:goto_3
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
|
|
|
|
if-eqz v0, :cond_6
|
|
|
|
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_6
|
|
|
|
.line 12
|
|
invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I
|
|
|
|
move-result v0
|
|
|
|
.line 13
|
|
iget-boolean v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
|
|
|
|
if-eqz v4, :cond_4
|
|
|
|
.line 14
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingLeft()I
|
|
|
|
move-result v4
|
|
|
|
int-to-float v4, v4
|
|
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingTop()I
|
|
|
|
move-result v5
|
|
|
|
int-to-float v5, v5
|
|
|
|
invoke-virtual {p1, v4, v5}, Landroid/graphics/Canvas;->translate(FF)V
|
|
|
|
.line 15
|
|
:cond_4
|
|
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
|
|
|
|
if-eqz v4, :cond_5
|
|
|
|
invoke-virtual {v4, p1}, Landroid/widget/EdgeEffect;->draw(Landroid/graphics/Canvas;)Z
|
|
|
|
move-result v4
|
|
|
|
if-eqz v4, :cond_5
|
|
|
|
move v4, v2
|
|
|
|
goto :goto_4
|
|
|
|
:cond_5
|
|
move v4, v1
|
|
|
|
:goto_4
|
|
or-int/2addr v3, v4
|
|
|
|
.line 16
|
|
invoke-virtual {p1, v0}, Landroid/graphics/Canvas;->restoreToCount(I)V
|
|
|
|
.line 17
|
|
:cond_6
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
|
|
|
|
if-eqz v0, :cond_9
|
|
|
|
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_9
|
|
|
|
.line 18
|
|
invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I
|
|
|
|
move-result v0
|
|
|
|
.line 19
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getWidth()I
|
|
|
|
move-result v4
|
|
|
|
.line 20
|
|
iget-boolean v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
|
|
|
|
if-eqz v5, :cond_7
|
|
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingTop()I
|
|
|
|
move-result v5
|
|
|
|
goto :goto_5
|
|
|
|
:cond_7
|
|
move v5, v1
|
|
|
|
:goto_5
|
|
const/high16 v6, 0x42b40000 # 90.0f
|
|
|
|
.line 21
|
|
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 22
|
|
invoke-virtual {p1, v5, v4}, Landroid/graphics/Canvas;->translate(FF)V
|
|
|
|
.line 23
|
|
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
|
|
|
|
if-eqz v4, :cond_8
|
|
|
|
invoke-virtual {v4, p1}, Landroid/widget/EdgeEffect;->draw(Landroid/graphics/Canvas;)Z
|
|
|
|
move-result v4
|
|
|
|
if-eqz v4, :cond_8
|
|
|
|
move v4, v2
|
|
|
|
goto :goto_6
|
|
|
|
:cond_8
|
|
move v4, v1
|
|
|
|
:goto_6
|
|
or-int/2addr v3, v4
|
|
|
|
.line 24
|
|
invoke-virtual {p1, v0}, Landroid/graphics/Canvas;->restoreToCount(I)V
|
|
|
|
.line 25
|
|
:cond_9
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
|
|
|
|
if-eqz v0, :cond_c
|
|
|
|
invoke-virtual {v0}, Landroid/widget/EdgeEffect;->isFinished()Z
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_c
|
|
|
|
.line 26
|
|
invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I
|
|
|
|
move-result v0
|
|
|
|
const/high16 v4, 0x43340000 # 180.0f
|
|
|
|
.line 27
|
|
invoke-virtual {p1, v4}, Landroid/graphics/Canvas;->rotate(F)V
|
|
|
|
.line 28
|
|
iget-boolean v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
|
|
|
|
if-eqz v4, :cond_a
|
|
|
|
.line 29
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getWidth()I
|
|
|
|
move-result v4
|
|
|
|
neg-int v4, v4
|
|
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingRight()I
|
|
|
|
move-result v5
|
|
|
|
add-int/2addr v5, v4
|
|
|
|
int-to-float v4, v5
|
|
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getHeight()I
|
|
|
|
move-result v5
|
|
|
|
neg-int v5, v5
|
|
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingBottom()I
|
|
|
|
move-result v6
|
|
|
|
add-int/2addr v6, v5
|
|
|
|
int-to-float v5, v6
|
|
|
|
invoke-virtual {p1, v4, v5}, Landroid/graphics/Canvas;->translate(FF)V
|
|
|
|
goto :goto_7
|
|
|
|
.line 30
|
|
:cond_a
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getWidth()I
|
|
|
|
move-result v4
|
|
|
|
neg-int v4, v4
|
|
|
|
int-to-float v4, v4
|
|
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getHeight()I
|
|
|
|
move-result v5
|
|
|
|
neg-int v5, v5
|
|
|
|
int-to-float v5, v5
|
|
|
|
invoke-virtual {p1, v4, v5}, Landroid/graphics/Canvas;->translate(FF)V
|
|
|
|
.line 31
|
|
:goto_7
|
|
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
|
|
|
|
if-eqz v4, :cond_b
|
|
|
|
invoke-virtual {v4, p1}, Landroid/widget/EdgeEffect;->draw(Landroid/graphics/Canvas;)Z
|
|
|
|
move-result v4
|
|
|
|
if-eqz v4, :cond_b
|
|
|
|
move v1, v2
|
|
|
|
:cond_b
|
|
or-int/2addr v3, v1
|
|
|
|
.line 32
|
|
invoke-virtual {p1, v0}, Landroid/graphics/Canvas;->restoreToCount(I)V
|
|
|
|
:cond_c
|
|
if-nez v3, :cond_d
|
|
|
|
.line 33
|
|
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
|
|
|
|
if-eqz p1, :cond_d
|
|
|
|
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
|
|
|
|
invoke-virtual {p1}, Ljava/util/ArrayList;->size()I
|
|
|
|
move-result p1
|
|
|
|
if-lez p1, :cond_d
|
|
|
|
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
|
|
|
|
.line 34
|
|
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->q()Z
|
|
|
|
move-result p1
|
|
|
|
if-eqz p1, :cond_d
|
|
|
|
goto :goto_8
|
|
|
|
:cond_d
|
|
move v2, v3
|
|
|
|
:goto_8
|
|
if-eqz v2, :cond_e
|
|
|
|
.line 35
|
|
invoke-static {p0}, Landroidx/core/view/ViewCompat;->n1(Landroid/view/View;)V
|
|
|
|
:cond_e
|
|
return-void
|
|
.end method
|
|
|
|
.method public drawChild(Landroid/graphics/Canvas;Landroid/view/View;J)Z
|
|
.locals 0
|
|
|
|
.line 1
|
|
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
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
return-void
|
|
|
|
.line 2
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;
|
|
|
|
const/4 v1, 0x3
|
|
|
|
invoke-virtual {v0, p0, v1}, Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;->a(Landroidx/recyclerview/widget/RecyclerView;I)Landroid/widget/EdgeEffect;
|
|
|
|
move-result-object v0
|
|
|
|
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
|
|
|
|
.line 3
|
|
iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
|
|
|
|
if-eqz v1, :cond_1
|
|
|
|
.line 4
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredWidth()I
|
|
|
|
move-result v1
|
|
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingLeft()I
|
|
|
|
move-result v2
|
|
|
|
sub-int/2addr v1, v2
|
|
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingRight()I
|
|
|
|
move-result v2
|
|
|
|
sub-int/2addr v1, v2
|
|
|
|
.line 5
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredHeight()I
|
|
|
|
move-result v2
|
|
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingTop()I
|
|
|
|
move-result v3
|
|
|
|
sub-int/2addr v2, v3
|
|
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingBottom()I
|
|
|
|
move-result v3
|
|
|
|
sub-int/2addr v2, v3
|
|
|
|
.line 6
|
|
invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V
|
|
|
|
goto :goto_0
|
|
|
|
.line 7
|
|
:cond_1
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredWidth()I
|
|
|
|
move-result v1
|
|
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->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
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
return-void
|
|
|
|
.line 2
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;
|
|
|
|
const/4 v1, 0x0
|
|
|
|
invoke-virtual {v0, p0, v1}, Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;->a(Landroidx/recyclerview/widget/RecyclerView;I)Landroid/widget/EdgeEffect;
|
|
|
|
move-result-object v0
|
|
|
|
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
|
|
|
|
.line 3
|
|
iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
|
|
|
|
if-eqz v1, :cond_1
|
|
|
|
.line 4
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredHeight()I
|
|
|
|
move-result v1
|
|
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingTop()I
|
|
|
|
move-result v2
|
|
|
|
sub-int/2addr v1, v2
|
|
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingBottom()I
|
|
|
|
move-result v2
|
|
|
|
sub-int/2addr v1, v2
|
|
|
|
.line 5
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredWidth()I
|
|
|
|
move-result v2
|
|
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingLeft()I
|
|
|
|
move-result v3
|
|
|
|
sub-int/2addr v2, v3
|
|
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingRight()I
|
|
|
|
move-result v3
|
|
|
|
sub-int/2addr v2, v3
|
|
|
|
.line 6
|
|
invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V
|
|
|
|
goto :goto_0
|
|
|
|
.line 7
|
|
:cond_1
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredHeight()I
|
|
|
|
move-result v1
|
|
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->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
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
return-void
|
|
|
|
.line 2
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;
|
|
|
|
const/4 v1, 0x2
|
|
|
|
invoke-virtual {v0, p0, v1}, Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;->a(Landroidx/recyclerview/widget/RecyclerView;I)Landroid/widget/EdgeEffect;
|
|
|
|
move-result-object v0
|
|
|
|
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
|
|
|
|
.line 3
|
|
iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
|
|
|
|
if-eqz v1, :cond_1
|
|
|
|
.line 4
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredHeight()I
|
|
|
|
move-result v1
|
|
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingTop()I
|
|
|
|
move-result v2
|
|
|
|
sub-int/2addr v1, v2
|
|
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingBottom()I
|
|
|
|
move-result v2
|
|
|
|
sub-int/2addr v1, v2
|
|
|
|
.line 5
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredWidth()I
|
|
|
|
move-result v2
|
|
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingLeft()I
|
|
|
|
move-result v3
|
|
|
|
sub-int/2addr v2, v3
|
|
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingRight()I
|
|
|
|
move-result v3
|
|
|
|
sub-int/2addr v2, v3
|
|
|
|
.line 6
|
|
invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V
|
|
|
|
goto :goto_0
|
|
|
|
.line 7
|
|
:cond_1
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredHeight()I
|
|
|
|
move-result v1
|
|
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->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
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
return-void
|
|
|
|
.line 2
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;
|
|
|
|
const/4 v1, 0x1
|
|
|
|
invoke-virtual {v0, p0, v1}, Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;->a(Landroidx/recyclerview/widget/RecyclerView;I)Landroid/widget/EdgeEffect;
|
|
|
|
move-result-object v0
|
|
|
|
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
|
|
|
|
.line 3
|
|
iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
|
|
|
|
if-eqz v1, :cond_1
|
|
|
|
.line 4
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredWidth()I
|
|
|
|
move-result v1
|
|
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingLeft()I
|
|
|
|
move-result v2
|
|
|
|
sub-int/2addr v1, v2
|
|
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingRight()I
|
|
|
|
move-result v2
|
|
|
|
sub-int/2addr v1, v2
|
|
|
|
.line 5
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredHeight()I
|
|
|
|
move-result v2
|
|
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingTop()I
|
|
|
|
move-result v3
|
|
|
|
sub-int/2addr v2, v3
|
|
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingBottom()I
|
|
|
|
move-result v3
|
|
|
|
sub-int/2addr v2, v3
|
|
|
|
.line 6
|
|
invoke-virtual {v0, v1, v2}, Landroid/widget/EdgeEffect;->setSize(II)V
|
|
|
|
goto :goto_0
|
|
|
|
.line 7
|
|
:cond_1
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredWidth()I
|
|
|
|
move-result v1
|
|
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->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
|
|
|
|
const-string v0, " "
|
|
|
|
.line 1
|
|
invoke-static {v0}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-super {p0}, Landroid/view/ViewGroup;->toString()Ljava/lang/String;
|
|
|
|
move-result-object v1
|
|
|
|
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
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$m;
|
|
|
|
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 2
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->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$x;)V
|
|
.locals 3
|
|
|
|
.line 1
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollState()I
|
|
|
|
move-result v0
|
|
|
|
const/4 v1, 0x2
|
|
|
|
if-ne v0, v1, :cond_0
|
|
|
|
.line 2
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$z;
|
|
|
|
iget-object v0, v0, Landroidx/recyclerview/widget/RecyclerView$z;->c:Landroid/widget/OverScroller;
|
|
|
|
.line 3
|
|
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$x;->p:I
|
|
|
|
.line 4
|
|
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$x;->q:I
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
const/4 v0, 0x0
|
|
|
|
.line 5
|
|
iput v0, p1, Landroidx/recyclerview/widget/RecyclerView$x;->p:I
|
|
|
|
.line 6
|
|
iput v0, p1, Landroidx/recyclerview/widget/RecyclerView$x;->q:I
|
|
|
|
:goto_0
|
|
return-void
|
|
.end method
|
|
|
|
.method public findChildViewUnder(FF)Landroid/view/View;
|
|
.locals 5
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/g;->g()I
|
|
|
|
move-result v0
|
|
|
|
add-int/lit8 v0, v0, -0x1
|
|
|
|
:goto_0
|
|
if-ltz v0, :cond_1
|
|
|
|
.line 2
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
|
|
|
|
invoke-virtual {v1, v0}, Landroidx/recyclerview/widget/g;->f(I)Landroid/view/View;
|
|
|
|
move-result-object v1
|
|
|
|
.line 3
|
|
invoke-virtual {v1}, Landroid/view/View;->getTranslationX()F
|
|
|
|
move-result v2
|
|
|
|
.line 4
|
|
invoke-virtual {v1}, Landroid/view/View;->getTranslationY()F
|
|
|
|
move-result v3
|
|
|
|
.line 5
|
|
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 6
|
|
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 7
|
|
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 8
|
|
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 1
|
|
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 2
|
|
instance-of v1, v0, Landroid/view/View;
|
|
|
|
if-eqz v1, :cond_0
|
|
|
|
.line 3
|
|
move-object p1, v0
|
|
|
|
check-cast p1, Landroid/view/View;
|
|
|
|
.line 4
|
|
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$a0;
|
|
.locals 0
|
|
.param p1 # Landroid/view/View;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
|
|
.line 1
|
|
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 2
|
|
:cond_0
|
|
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolder(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$a0;
|
|
|
|
move-result-object p1
|
|
|
|
:goto_0
|
|
return-object p1
|
|
.end method
|
|
|
|
.method public findViewHolderForAdapterPosition(I)Landroidx/recyclerview/widget/RecyclerView$a0;
|
|
.locals 5
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
|
|
.line 1
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z
|
|
|
|
const/4 v1, 0x0
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
return-object v1
|
|
|
|
.line 2
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/g;->j()I
|
|
|
|
move-result v0
|
|
|
|
const/4 v2, 0x0
|
|
|
|
:goto_0
|
|
if-ge v2, v0, :cond_3
|
|
|
|
.line 3
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
|
|
|
|
invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/g;->i(I)Landroid/view/View;
|
|
|
|
move-result-object v3
|
|
|
|
invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$a0;
|
|
|
|
move-result-object v3
|
|
|
|
if-eqz v3, :cond_2
|
|
|
|
.line 4
|
|
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$a0;->isRemoved()Z
|
|
|
|
move-result v4
|
|
|
|
if-nez v4, :cond_2
|
|
|
|
.line 5
|
|
invoke-virtual {p0, v3}, Landroidx/recyclerview/widget/RecyclerView;->getAdapterPositionInRecyclerView(Landroidx/recyclerview/widget/RecyclerView$a0;)I
|
|
|
|
move-result v4
|
|
|
|
if-ne v4, p1, :cond_2
|
|
|
|
.line 6
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
|
|
|
|
iget-object v4, v3, Landroidx/recyclerview/widget/RecyclerView$a0;->itemView:Landroid/view/View;
|
|
|
|
invoke-virtual {v1, v4}, Landroidx/recyclerview/widget/g;->n(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$a0;
|
|
.locals 6
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
|
|
|
const/4 v1, 0x0
|
|
|
|
if-eqz v0, :cond_3
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
goto :goto_2
|
|
|
|
.line 2
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/g;->j()I
|
|
|
|
move-result v0
|
|
|
|
const/4 v2, 0x0
|
|
|
|
:goto_0
|
|
if-ge v2, v0, :cond_3
|
|
|
|
.line 3
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
|
|
|
|
invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/g;->i(I)Landroid/view/View;
|
|
|
|
move-result-object v3
|
|
|
|
invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$a0;
|
|
|
|
move-result-object v3
|
|
|
|
if-eqz v3, :cond_2
|
|
|
|
.line 4
|
|
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$a0;->isRemoved()Z
|
|
|
|
move-result v4
|
|
|
|
if-nez v4, :cond_2
|
|
|
|
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$a0;->getItemId()J
|
|
|
|
move-result-wide v4
|
|
|
|
cmp-long v4, v4, p1
|
|
|
|
if-nez v4, :cond_2
|
|
|
|
.line 5
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
|
|
|
|
iget-object v4, v3, Landroidx/recyclerview/widget/RecyclerView$a0;->itemView:Landroid/view/View;
|
|
|
|
invoke-virtual {v1, v4}, Landroidx/recyclerview/widget/g;->n(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$a0;
|
|
.locals 1
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 1
|
|
invoke-virtual {p0, p1, v0}, Landroidx/recyclerview/widget/RecyclerView;->findViewHolderForPosition(IZ)Landroidx/recyclerview/widget/RecyclerView$a0;
|
|
|
|
move-result-object p1
|
|
|
|
return-object p1
|
|
.end method
|
|
|
|
.method public findViewHolderForPosition(I)Landroidx/recyclerview/widget/RecyclerView$a0;
|
|
.locals 1
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
|
|
.annotation runtime Ljava/lang/Deprecated;
|
|
.end annotation
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 1
|
|
invoke-virtual {p0, p1, v0}, Landroidx/recyclerview/widget/RecyclerView;->findViewHolderForPosition(IZ)Landroidx/recyclerview/widget/RecyclerView$a0;
|
|
|
|
move-result-object p1
|
|
|
|
return-object p1
|
|
.end method
|
|
|
|
.method public findViewHolderForPosition(IZ)Landroidx/recyclerview/widget/RecyclerView$a0;
|
|
.locals 5
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
|
|
.line 2
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/g;->j()I
|
|
|
|
move-result v0
|
|
|
|
const/4 v1, 0x0
|
|
|
|
const/4 v2, 0x0
|
|
|
|
:goto_0
|
|
if-ge v2, v0, :cond_4
|
|
|
|
.line 3
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
|
|
|
|
invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/g;->i(I)Landroid/view/View;
|
|
|
|
move-result-object v3
|
|
|
|
invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$a0;
|
|
|
|
move-result-object v3
|
|
|
|
if-eqz v3, :cond_3
|
|
|
|
.line 4
|
|
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$a0;->isRemoved()Z
|
|
|
|
move-result v4
|
|
|
|
if-nez v4, :cond_3
|
|
|
|
if-eqz p2, :cond_0
|
|
|
|
.line 5
|
|
iget v4, v3, Landroidx/recyclerview/widget/RecyclerView$a0;->mPosition:I
|
|
|
|
if-eq v4, p1, :cond_1
|
|
|
|
goto :goto_1
|
|
|
|
.line 6
|
|
:cond_0
|
|
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$a0;->getLayoutPosition()I
|
|
|
|
move-result v4
|
|
|
|
if-eq v4, p1, :cond_1
|
|
|
|
goto :goto_1
|
|
|
|
.line 7
|
|
:cond_1
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
|
|
|
|
iget-object v4, v3, Landroidx/recyclerview/widget/RecyclerView$a0;->itemView:Landroid/view/View;
|
|
|
|
invoke-virtual {v1, v4}, Landroidx/recyclerview/widget/g;->n(Landroid/view/View;)Z
|
|
|
|
move-result v1
|
|
|
|
if-eqz v1, :cond_2
|
|
|
|
move-object v1, v3
|
|
|
|
goto :goto_1
|
|
|
|
:cond_2
|
|
return-object v3
|
|
|
|
:cond_3
|
|
:goto_1
|
|
add-int/lit8 v2, v2, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_4
|
|
return-object v1
|
|
.end method
|
|
|
|
.method public fling(II)Z
|
|
.locals 7
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
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 2
|
|
invoke-static {p1, p2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
|
|
|
|
return v1
|
|
|
|
.line 3
|
|
:cond_0
|
|
iget-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
|
|
|
|
if-eqz v2, :cond_1
|
|
|
|
return v1
|
|
|
|
.line 4
|
|
:cond_1
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$m;->canScrollHorizontally()Z
|
|
|
|
move-result v0
|
|
|
|
.line 5
|
|
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$m;->canScrollVertically()Z
|
|
|
|
move-result v2
|
|
|
|
if-eqz v0, :cond_2
|
|
|
|
.line 6
|
|
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 7
|
|
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 8
|
|
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 9
|
|
:goto_1
|
|
invoke-virtual {p0, v3, v4, v6}, Landroidx/recyclerview/widget/RecyclerView;->dispatchNestedFling(FFZ)Z
|
|
|
|
.line 10
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnFlingListener:Landroidx/recyclerview/widget/RecyclerView$o;
|
|
|
|
if-eqz v3, :cond_9
|
|
|
|
invoke-virtual {v3, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$o;->a(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 11
|
|
:cond_a
|
|
invoke-virtual {p0, v0, v5}, Landroidx/recyclerview/widget/RecyclerView;->startNestedScroll(II)Z
|
|
|
|
.line 12
|
|
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMaxFlingVelocity:I
|
|
|
|
neg-int v1, v0
|
|
|
|
invoke-static {p1, v0}, Ljava/lang/Math;->min(II)I
|
|
|
|
move-result p1
|
|
|
|
invoke-static {v1, p1}, Ljava/lang/Math;->max(II)I
|
|
|
|
move-result p1
|
|
|
|
.line 13
|
|
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMaxFlingVelocity:I
|
|
|
|
neg-int v1, v0
|
|
|
|
invoke-static {p2, v0}, Ljava/lang/Math;->min(II)I
|
|
|
|
move-result p2
|
|
|
|
invoke-static {v1, p2}, Ljava/lang/Math;->max(II)I
|
|
|
|
move-result p2
|
|
|
|
.line 14
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$z;
|
|
|
|
invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$z;->b(II)V
|
|
|
|
return v5
|
|
|
|
:cond_b
|
|
return v1
|
|
.end method
|
|
|
|
.method public focusSearch(Landroid/view/View;I)Landroid/view/View;
|
|
.locals 8
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$m;->onInterceptFocusSearch(Landroid/view/View;I)Landroid/view/View;
|
|
|
|
move-result-object v0
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
return-object v0
|
|
|
|
.line 2
|
|
: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$m;
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
.line 3
|
|
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 4
|
|
:goto_0
|
|
invoke-static {}, Landroid/view/FocusFinder;->getInstance()Landroid/view/FocusFinder;
|
|
|
|
move-result-object v3
|
|
|
|
const/4 v4, 0x0
|
|
|
|
if-eqz v0, :cond_f
|
|
|
|
const/4 v5, 0x2
|
|
|
|
if-eq p2, v5, :cond_2
|
|
|
|
if-ne p2, v1, :cond_f
|
|
|
|
.line 5
|
|
:cond_2
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$m;->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 6
|
|
:goto_1
|
|
invoke-virtual {v3, p0, p1, v0}, Landroid/view/FocusFinder;->findNextFocus(Landroid/view/ViewGroup;Landroid/view/View;I)Landroid/view/View;
|
|
|
|
move-result-object v6
|
|
|
|
if-nez v6, :cond_4
|
|
|
|
move v6, v1
|
|
|
|
goto :goto_2
|
|
|
|
:cond_4
|
|
move v6, v2
|
|
|
|
.line 7
|
|
:goto_2
|
|
sget-boolean v7, Landroidx/recyclerview/widget/RecyclerView;->FORCE_ABS_FOCUS_SEARCH_DIRECTION:Z
|
|
|
|
if-eqz v7, :cond_6
|
|
|
|
move p2, v0
|
|
|
|
goto :goto_3
|
|
|
|
:cond_5
|
|
move v6, v2
|
|
|
|
:cond_6
|
|
:goto_3
|
|
if-nez v6, :cond_c
|
|
|
|
.line 8
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$m;->canScrollHorizontally()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_c
|
|
|
|
.line 9
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$m;->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 10
|
|
:goto_6
|
|
invoke-virtual {v3, p0, p1, v0}, Landroid/view/FocusFinder;->findNextFocus(Landroid/view/ViewGroup;Landroid/view/View;I)Landroid/view/View;
|
|
|
|
move-result-object v5
|
|
|
|
if-nez v5, :cond_a
|
|
|
|
goto :goto_7
|
|
|
|
:cond_a
|
|
move v1, v2
|
|
|
|
.line 11
|
|
: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 12
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->consumePendingUpdateOperations()V
|
|
|
|
.line 13
|
|
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 14
|
|
:cond_d
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
|
|
|
|
.line 15
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
|
|
|
|
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
invoke-virtual {v0, p1, p2, v1, v5}, Landroidx/recyclerview/widget/RecyclerView$m;->onFocusSearchFailed(Landroid/view/View;ILandroidx/recyclerview/widget/RecyclerView$s;Landroidx/recyclerview/widget/RecyclerView$x;)Landroid/view/View;
|
|
|
|
.line 16
|
|
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
|
|
|
|
.line 17
|
|
: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 18
|
|
: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 19
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->consumePendingUpdateOperations()V
|
|
|
|
.line 20
|
|
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 21
|
|
:cond_10
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
|
|
|
|
.line 22
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
|
|
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
invoke-virtual {v0, p1, p2, v1, v3}, Landroidx/recyclerview/widget/RecyclerView$m;->onFocusSearchFailed(Landroid/view/View;ILandroidx/recyclerview/widget/RecyclerView$s;Landroidx/recyclerview/widget/RecyclerView$x;)Landroid/view/View;
|
|
|
|
move-result-object v0
|
|
|
|
.line 23
|
|
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 24
|
|
invoke-virtual {v0}, Landroid/view/View;->hasFocusable()Z
|
|
|
|
move-result v1
|
|
|
|
if-nez v1, :cond_13
|
|
|
|
.line 25
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getFocusedChild()Landroid/view/View;
|
|
|
|
move-result-object v1
|
|
|
|
if-nez v1, :cond_12
|
|
|
|
.line 26
|
|
invoke-super {p0, p1, p2}, Landroid/view/ViewGroup;->focusSearch(Landroid/view/View;I)Landroid/view/View;
|
|
|
|
move-result-object p1
|
|
|
|
return-object p1
|
|
|
|
.line 27
|
|
:cond_12
|
|
invoke-direct {p0, v0, v4}, Landroidx/recyclerview/widget/RecyclerView;->requestChildOnScreen(Landroid/view/View;Landroid/view/View;)V
|
|
|
|
return-object p1
|
|
|
|
.line 28
|
|
: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 29
|
|
: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 2
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 2
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$m;->generateDefaultLayoutParams()Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
|
|
|
|
move-result-object v0
|
|
|
|
return-object v0
|
|
|
|
.line 3
|
|
:cond_0
|
|
new-instance v0, Ljava/lang/IllegalStateException;
|
|
|
|
const-string v1, "RecyclerView has no LayoutManager"
|
|
|
|
invoke-static {v1}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
move-result-object v1
|
|
|
|
invoke-static {p0, v1}, Landroidx/recyclerview/widget/b0;->a(Landroidx/recyclerview/widget/RecyclerView;Ljava/lang/StringBuilder;)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
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 2
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getContext()Landroid/content/Context;
|
|
|
|
move-result-object v1
|
|
|
|
invoke-virtual {v0, v1, p1}, Landroidx/recyclerview/widget/RecyclerView$m;->generateLayoutParams(Landroid/content/Context;Landroid/util/AttributeSet;)Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
|
|
|
|
move-result-object p1
|
|
|
|
return-object p1
|
|
|
|
.line 3
|
|
:cond_0
|
|
new-instance p1, Ljava/lang/IllegalStateException;
|
|
|
|
const-string v0, "RecyclerView has no LayoutManager"
|
|
|
|
invoke-static {v0}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-static {p0, v0}, Landroidx/recyclerview/widget/b0;->a(Landroidx/recyclerview/widget/RecyclerView;Ljava/lang/StringBuilder;)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 1
|
|
|
|
.line 4
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 5
|
|
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$m;->generateLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
|
|
|
|
move-result-object p1
|
|
|
|
return-object p1
|
|
|
|
.line 6
|
|
:cond_0
|
|
new-instance p1, Ljava/lang/IllegalStateException;
|
|
|
|
const-string v0, "RecyclerView has no LayoutManager"
|
|
|
|
invoke-static {v0}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-static {p0, v0}, Landroidx/recyclerview/widget/b0;->a(Landroidx/recyclerview/widget/RecyclerView;Ljava/lang/StringBuilder;)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
|
|
|
|
.line 1
|
|
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$a0;)I
|
|
.locals 1
|
|
|
|
const/16 v0, 0x20c
|
|
|
|
.line 1
|
|
invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$a0;->hasAnyOfTheFlags(I)Z
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_1
|
|
|
|
.line 2
|
|
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$a0;->isBound()Z
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
goto :goto_0
|
|
|
|
.line 3
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/a;
|
|
|
|
iget p1, p1, Landroidx/recyclerview/widget/RecyclerView$a0;->mPosition:I
|
|
|
|
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/a;->f(I)I
|
|
|
|
move-result p1
|
|
|
|
return p1
|
|
|
|
:cond_1
|
|
:goto_0
|
|
const/4 p1, -0x1
|
|
|
|
return p1
|
|
.end method
|
|
|
|
.method public getBaseline()I
|
|
.locals 1
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 2
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$m;->getBaseline()I
|
|
|
|
move-result v0
|
|
|
|
return v0
|
|
|
|
.line 3
|
|
:cond_0
|
|
invoke-super {p0}, Landroid/view/ViewGroup;->getBaseline()I
|
|
|
|
move-result v0
|
|
|
|
return v0
|
|
.end method
|
|
|
|
.method public getChangedHolderKey(Landroidx/recyclerview/widget/RecyclerView$a0;)J
|
|
.locals 2
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$a0;->getItemId()J
|
|
|
|
move-result-wide v0
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
iget p1, p1, Landroidx/recyclerview/widget/RecyclerView$a0;->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 1
|
|
invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$a0;
|
|
|
|
move-result-object p1
|
|
|
|
if-eqz p1, :cond_0
|
|
|
|
.line 2
|
|
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$a0;->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
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildDrawingOrderCallback:Landroidx/recyclerview/widget/RecyclerView$j;
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
.line 2
|
|
invoke-super {p0, p1, p2}, Landroid/view/ViewGroup;->getChildDrawingOrder(II)I
|
|
|
|
move-result p1
|
|
|
|
return p1
|
|
|
|
.line 3
|
|
:cond_0
|
|
invoke-interface {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$j;->a(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
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
|
|
|
const-wide/16 v1, -0x1
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->hasStableIds()Z
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
goto :goto_0
|
|
|
|
.line 2
|
|
:cond_0
|
|
invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$a0;
|
|
|
|
move-result-object p1
|
|
|
|
if-eqz p1, :cond_1
|
|
|
|
.line 3
|
|
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$a0;->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 1
|
|
invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$a0;
|
|
|
|
move-result-object p1
|
|
|
|
if-eqz p1, :cond_0
|
|
|
|
.line 2
|
|
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$a0;->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 1
|
|
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$a0;
|
|
.locals 3
|
|
.param p1 # Landroid/view/View;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
|
|
.line 1
|
|
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 2
|
|
: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 3
|
|
:cond_1
|
|
:goto_0
|
|
invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$a0;
|
|
|
|
move-result-object p1
|
|
|
|
return-object p1
|
|
.end method
|
|
|
|
.method public getClipToPadding()Z
|
|
.locals 1
|
|
|
|
.line 1
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
|
|
|
|
return v0
|
|
.end method
|
|
|
|
.method public getCompatAccessibilityDelegate()Landroidx/recyclerview/widget/c0;
|
|
.locals 1
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAccessibilityDelegate:Landroidx/recyclerview/widget/c0;
|
|
|
|
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 1
|
|
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
|
|
|
|
.line 1
|
|
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
|
|
|
|
.line 1
|
|
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 1
|
|
invoke-virtual {p1}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
|
|
|
|
move-result-object v0
|
|
|
|
check-cast v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
|
|
|
|
.line 2
|
|
iget-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->c:Z
|
|
|
|
if-nez v1, :cond_0
|
|
|
|
.line 3
|
|
iget-object p1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->b:Landroid/graphics/Rect;
|
|
|
|
return-object p1
|
|
|
|
.line 4
|
|
:cond_0
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$x;->j()Z
|
|
|
|
move-result v1
|
|
|
|
if-eqz v1, :cond_2
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->f()Z
|
|
|
|
move-result v1
|
|
|
|
if-nez v1, :cond_1
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->h()Z
|
|
|
|
move-result v1
|
|
|
|
if-eqz v1, :cond_2
|
|
|
|
.line 5
|
|
:cond_1
|
|
iget-object p1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->b:Landroid/graphics/Rect;
|
|
|
|
return-object p1
|
|
|
|
.line 6
|
|
:cond_2
|
|
iget-object v1, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->b:Landroid/graphics/Rect;
|
|
|
|
const/4 v2, 0x0
|
|
|
|
.line 7
|
|
invoke-virtual {v1, v2, v2, v2, v2}, Landroid/graphics/Rect;->set(IIII)V
|
|
|
|
.line 8
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
|
|
|
|
invoke-virtual {v3}, Ljava/util/ArrayList;->size()I
|
|
|
|
move-result v3
|
|
|
|
move v4, v2
|
|
|
|
:goto_0
|
|
if-ge v4, v3, :cond_3
|
|
|
|
.line 9
|
|
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mTempRect:Landroid/graphics/Rect;
|
|
|
|
invoke-virtual {v5, v2, v2, v2, v2}, Landroid/graphics/Rect;->set(IIII)V
|
|
|
|
.line 10
|
|
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
|
|
|
|
invoke-virtual {v5, v4}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
|
|
|
|
move-result-object v5
|
|
|
|
check-cast v5, Landroidx/recyclerview/widget/RecyclerView$l;
|
|
|
|
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$x;
|
|
|
|
invoke-virtual {v5, v6, p1, p0, v7}, Landroidx/recyclerview/widget/RecyclerView$l;->getItemOffsets(Landroid/graphics/Rect;Landroid/view/View;Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$x;)V
|
|
|
|
.line 11
|
|
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 12
|
|
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 13
|
|
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 14
|
|
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 15
|
|
:cond_3
|
|
iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->c:Z
|
|
|
|
return-object v1
|
|
.end method
|
|
|
|
.method public getItemDecorationAt(I)Landroidx/recyclerview/widget/RecyclerView$l;
|
|
.locals 3
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
|
|
.line 1
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getItemDecorationCount()I
|
|
|
|
move-result v0
|
|
|
|
if-ltz p1, :cond_0
|
|
|
|
if-ge p1, v0, :cond_0
|
|
|
|
.line 2
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
|
|
|
|
invoke-virtual {v0, p1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
|
|
|
|
move-result-object p1
|
|
|
|
check-cast p1, Landroidx/recyclerview/widget/RecyclerView$l;
|
|
|
|
return-object p1
|
|
|
|
.line 3
|
|
: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
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
|
|
|
|
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
|
|
|
|
move-result v0
|
|
|
|
return v0
|
|
.end method
|
|
|
|
.method public getLayoutManager()Landroidx/recyclerview/widget/RecyclerView$m;
|
|
.locals 1
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
return-object v0
|
|
.end method
|
|
|
|
.method public getMaxFlingVelocity()I
|
|
.locals 1
|
|
|
|
.line 1
|
|
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMaxFlingVelocity:I
|
|
|
|
return v0
|
|
.end method
|
|
|
|
.method public getMinFlingVelocity()I
|
|
.locals 1
|
|
|
|
.line 1
|
|
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mMinFlingVelocity:I
|
|
|
|
return v0
|
|
.end method
|
|
|
|
.method getNanoTime()J
|
|
.locals 2
|
|
|
|
.line 1
|
|
sget-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->ALLOW_THREAD_GAP_WORK:Z
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 2
|
|
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$o;
|
|
.locals 1
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnFlingListener:Landroidx/recyclerview/widget/RecyclerView$o;
|
|
|
|
return-object v0
|
|
.end method
|
|
|
|
.method public getPreserveFocusAfterLayout()Z
|
|
.locals 1
|
|
|
|
.line 1
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPreserveFocusAfterLayout:Z
|
|
|
|
return v0
|
|
.end method
|
|
|
|
.method public getRecycledViewPool()Landroidx/recyclerview/widget/RecyclerView$r;
|
|
.locals 1
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$s;->j()Landroidx/recyclerview/widget/RecyclerView$r;
|
|
|
|
move-result-object v0
|
|
|
|
return-object v0
|
|
.end method
|
|
|
|
.method public getScrollState()I
|
|
.locals 1
|
|
|
|
.line 1
|
|
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I
|
|
|
|
return v0
|
|
.end method
|
|
|
|
.method public hasFixedSize()Z
|
|
.locals 1
|
|
|
|
.line 1
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mHasFixedSize:Z
|
|
|
|
return v0
|
|
.end method
|
|
|
|
.method public hasNestedScrollingParent()Z
|
|
.locals 1
|
|
|
|
.line 1
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Ls1/z;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-virtual {v0}, Ls1/z;->k()Z
|
|
|
|
move-result v0
|
|
|
|
return v0
|
|
.end method
|
|
|
|
.method public hasNestedScrollingParent(I)Z
|
|
.locals 1
|
|
|
|
.line 2
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Ls1/z;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-virtual {v0, p1}, Ls1/z;->l(I)Z
|
|
|
|
move-result p1
|
|
|
|
return p1
|
|
.end method
|
|
|
|
.method public hasPendingAdapterUpdates()Z
|
|
.locals 1
|
|
|
|
.line 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/a;
|
|
|
|
.line 2
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/a;->q()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 1
|
|
new-instance v0, Landroidx/recyclerview/widget/a;
|
|
|
|
new-instance v1, Landroidx/recyclerview/widget/RecyclerView$f;
|
|
|
|
invoke-direct {v1, p0}, Landroidx/recyclerview/widget/RecyclerView$f;-><init>(Landroidx/recyclerview/widget/RecyclerView;)V
|
|
|
|
invoke-direct {v0, v1}, Landroidx/recyclerview/widget/a;-><init>(Landroidx/recyclerview/widget/a$a;)V
|
|
|
|
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/a;
|
|
|
|
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 1
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getContext()Landroid/content/Context;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
|
|
|
|
move-result-object v0
|
|
|
|
.line 2
|
|
new-instance v1, Landroidx/recyclerview/widget/m;
|
|
|
|
sget v2, Landroidx/recyclerview/R$dimen;->fastscroll_default_thickness:I
|
|
|
|
.line 3
|
|
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 4
|
|
invoke-virtual {v0, v2}, Landroid/content/res/Resources;->getDimensionPixelSize(I)I
|
|
|
|
move-result v8
|
|
|
|
sget v2, Landroidx/recyclerview/R$dimen;->fastscroll_margin:I
|
|
|
|
.line 5
|
|
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/m;-><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 6
|
|
:cond_0
|
|
new-instance p1, Ljava/lang/IllegalArgumentException;
|
|
|
|
const-string p2, "Trying to set fast scroller without both required drawables."
|
|
|
|
invoke-static {p2}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
move-result-object p2
|
|
|
|
.line 7
|
|
invoke-static {p0, p2}, Landroidx/recyclerview/widget/b0;->a(Landroidx/recyclerview/widget/RecyclerView;Ljava/lang/StringBuilder;)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
|
|
|
|
.line 1
|
|
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mBottomGlow:Landroid/widget/EdgeEffect;
|
|
|
|
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mTopGlow:Landroid/widget/EdgeEffect;
|
|
|
|
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRightGlow:Landroid/widget/EdgeEffect;
|
|
|
|
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLeftGlow:Landroid/widget/EdgeEffect;
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public invalidateItemDecorations()V
|
|
.locals 2
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
|
|
|
|
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
return-void
|
|
|
|
.line 2
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
const-string v1, "Cannot invalidate item decorations during a scroll or layout"
|
|
|
|
.line 3
|
|
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$m;->assertNotInLayoutOrScroll(Ljava/lang/String;)V
|
|
|
|
.line 4
|
|
:cond_1
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->markItemDecorInsetsDirty()V
|
|
|
|
.line 5
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public isAccessibilityEnabled()Z
|
|
.locals 1
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAccessibilityManager:Landroid/view/accessibility/AccessibilityManager;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
invoke-virtual {v0}, Landroid/view/accessibility/AccessibilityManager;->isEnabled()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
const/4 v0, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
const/4 v0, 0x0
|
|
|
|
:goto_0
|
|
return v0
|
|
.end method
|
|
|
|
.method public isAnimating()Z
|
|
.locals 1
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->q()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
const/4 v0, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
const/4 v0, 0x0
|
|
|
|
:goto_0
|
|
return v0
|
|
.end method
|
|
|
|
.method public isAttachedToWindow()Z
|
|
.locals 1
|
|
|
|
.line 1
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mIsAttached:Z
|
|
|
|
return v0
|
|
.end method
|
|
|
|
.method public isComputingLayout()Z
|
|
.locals 1
|
|
|
|
.line 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 1
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isLayoutSuppressed()Z
|
|
|
|
move-result v0
|
|
|
|
return v0
|
|
.end method
|
|
|
|
.method public final isLayoutSuppressed()Z
|
|
.locals 1
|
|
|
|
.line 1
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
|
|
|
|
return v0
|
|
.end method
|
|
|
|
.method public isNestedScrollingEnabled()Z
|
|
.locals 1
|
|
|
|
.line 1
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Ls1/z;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-virtual {v0}, Ls1/z;->m()Z
|
|
|
|
move-result v0
|
|
|
|
return v0
|
|
.end method
|
|
|
|
.method public jumpToPositionForSmoothScroller(I)V
|
|
.locals 1
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
return-void
|
|
|
|
:cond_0
|
|
const/4 v0, 0x2
|
|
|
|
.line 2
|
|
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V
|
|
|
|
.line 3
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$m;->scrollToPosition(I)V
|
|
|
|
.line 4
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->awakenScrollBars()Z
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public markItemDecorInsetsDirty()V
|
|
.locals 4
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/g;->j()I
|
|
|
|
move-result v0
|
|
|
|
const/4 v1, 0x0
|
|
|
|
:goto_0
|
|
if-ge v1, v0, :cond_0
|
|
|
|
.line 2
|
|
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
|
|
|
|
invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/g;->i(I)Landroid/view/View;
|
|
|
|
move-result-object v2
|
|
|
|
.line 3
|
|
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;->c:Z
|
|
|
|
add-int/lit8 v1, v1, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
.line 4
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$s;->t()V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public markKnownViewsInvalid()V
|
|
.locals 4
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/g;->j()I
|
|
|
|
move-result v0
|
|
|
|
const/4 v1, 0x0
|
|
|
|
:goto_0
|
|
if-ge v1, v0, :cond_1
|
|
|
|
.line 2
|
|
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
|
|
|
|
invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/g;->i(I)Landroid/view/View;
|
|
|
|
move-result-object v2
|
|
|
|
invoke-static {v2}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$a0;
|
|
|
|
move-result-object v2
|
|
|
|
if-eqz v2, :cond_0
|
|
|
|
.line 3
|
|
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$a0;->shouldIgnore()Z
|
|
|
|
move-result v3
|
|
|
|
if-nez v3, :cond_0
|
|
|
|
const/4 v3, 0x6
|
|
|
|
.line 4
|
|
invoke-virtual {v2, v3}, Landroidx/recyclerview/widget/RecyclerView$a0;->addFlags(I)V
|
|
|
|
:cond_0
|
|
add-int/lit8 v1, v1, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
.line 5
|
|
:cond_1
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->markItemDecorInsetsDirty()V
|
|
|
|
.line 6
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$s;->u()V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public nestedScrollBy(II)V
|
|
.locals 2
|
|
|
|
const/4 v0, 0x0
|
|
|
|
const/4 v1, 0x1
|
|
|
|
.line 1
|
|
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
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/g;->g()I
|
|
|
|
move-result v0
|
|
|
|
const/4 v1, 0x0
|
|
|
|
:goto_0
|
|
if-ge v1, v0, :cond_0
|
|
|
|
.line 2
|
|
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
|
|
|
|
invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/g;->f(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
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/g;->g()I
|
|
|
|
move-result v0
|
|
|
|
const/4 v1, 0x0
|
|
|
|
:goto_0
|
|
if-ge v1, v0, :cond_0
|
|
|
|
.line 2
|
|
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
|
|
|
|
invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/g;->f(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
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/g;->j()I
|
|
|
|
move-result v0
|
|
|
|
const/4 v1, 0x0
|
|
|
|
move v2, v1
|
|
|
|
:goto_0
|
|
if-ge v2, v0, :cond_1
|
|
|
|
.line 2
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
|
|
|
|
invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/g;->i(I)Landroid/view/View;
|
|
|
|
move-result-object v3
|
|
|
|
invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$a0;
|
|
|
|
move-result-object v3
|
|
|
|
if-eqz v3, :cond_0
|
|
|
|
.line 3
|
|
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$a0;->shouldIgnore()Z
|
|
|
|
move-result v4
|
|
|
|
if-nez v4, :cond_0
|
|
|
|
iget v4, v3, Landroidx/recyclerview/widget/RecyclerView$a0;->mPosition:I
|
|
|
|
if-lt v4, p1, :cond_0
|
|
|
|
.line 4
|
|
invoke-virtual {v3, p2, v1}, Landroidx/recyclerview/widget/RecyclerView$a0;->offsetPosition(IZ)V
|
|
|
|
.line 5
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
const/4 v4, 0x1
|
|
|
|
iput-boolean v4, v3, Landroidx/recyclerview/widget/RecyclerView$x;->g:Z
|
|
|
|
:cond_0
|
|
add-int/lit8 v2, v2, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
.line 6
|
|
:cond_1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
|
|
|
|
invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$s;->v(II)V
|
|
|
|
.line 7
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public offsetPositionRecordsForMove(II)V
|
|
.locals 9
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/g;->j()I
|
|
|
|
move-result v0
|
|
|
|
const/4 v1, 0x1
|
|
|
|
if-ge p1, p2, :cond_0
|
|
|
|
const/4 v2, -0x1
|
|
|
|
move v3, p1
|
|
|
|
move v4, p2
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
move v4, p1
|
|
|
|
move v3, p2
|
|
|
|
move v2, v1
|
|
|
|
:goto_0
|
|
const/4 v5, 0x0
|
|
|
|
move v6, v5
|
|
|
|
:goto_1
|
|
if-ge v6, v0, :cond_4
|
|
|
|
.line 2
|
|
iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
|
|
|
|
invoke-virtual {v7, v6}, Landroidx/recyclerview/widget/g;->i(I)Landroid/view/View;
|
|
|
|
move-result-object v7
|
|
|
|
invoke-static {v7}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$a0;
|
|
|
|
move-result-object v7
|
|
|
|
if-eqz v7, :cond_3
|
|
|
|
.line 3
|
|
iget v8, v7, Landroidx/recyclerview/widget/RecyclerView$a0;->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 4
|
|
invoke-virtual {v7, v8, v5}, Landroidx/recyclerview/widget/RecyclerView$a0;->offsetPosition(IZ)V
|
|
|
|
goto :goto_2
|
|
|
|
.line 5
|
|
:cond_2
|
|
invoke-virtual {v7, v2, v5}, Landroidx/recyclerview/widget/RecyclerView$a0;->offsetPosition(IZ)V
|
|
|
|
.line 6
|
|
:goto_2
|
|
iget-object v7, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
iput-boolean v1, v7, Landroidx/recyclerview/widget/RecyclerView$x;->g:Z
|
|
|
|
:cond_3
|
|
:goto_3
|
|
add-int/lit8 v6, v6, 0x1
|
|
|
|
goto :goto_1
|
|
|
|
.line 7
|
|
:cond_4
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
|
|
|
|
invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$s;->w(II)V
|
|
|
|
.line 8
|
|
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
|
|
|
|
.line 1
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
|
|
|
|
invoke-virtual {v1}, Landroidx/recyclerview/widget/g;->j()I
|
|
|
|
move-result v1
|
|
|
|
const/4 v2, 0x0
|
|
|
|
:goto_0
|
|
if-ge v2, v1, :cond_2
|
|
|
|
.line 2
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
|
|
|
|
invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/g;->i(I)Landroid/view/View;
|
|
|
|
move-result-object v3
|
|
|
|
invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$a0;
|
|
|
|
move-result-object v3
|
|
|
|
if-eqz v3, :cond_1
|
|
|
|
.line 3
|
|
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$a0;->shouldIgnore()Z
|
|
|
|
move-result v4
|
|
|
|
if-nez v4, :cond_1
|
|
|
|
.line 4
|
|
iget v4, v3, Landroidx/recyclerview/widget/RecyclerView$a0;->mPosition:I
|
|
|
|
const/4 v5, 0x1
|
|
|
|
if-lt v4, v0, :cond_0
|
|
|
|
neg-int v4, p2
|
|
|
|
.line 5
|
|
invoke-virtual {v3, v4, p3}, Landroidx/recyclerview/widget/RecyclerView$a0;->offsetPosition(IZ)V
|
|
|
|
.line 6
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
iput-boolean v5, v3, Landroidx/recyclerview/widget/RecyclerView$x;->g:Z
|
|
|
|
goto :goto_1
|
|
|
|
:cond_0
|
|
if-lt v4, p1, :cond_1
|
|
|
|
add-int/lit8 v4, p1, -0x1
|
|
|
|
neg-int v6, p2
|
|
|
|
.line 7
|
|
invoke-virtual {v3, v4, v6, p3}, Landroidx/recyclerview/widget/RecyclerView$a0;->flagRemovedAndOffsetPosition(IIZ)V
|
|
|
|
.line 8
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
iput-boolean v5, v3, Landroidx/recyclerview/widget/RecyclerView$x;->g:Z
|
|
|
|
:cond_1
|
|
:goto_1
|
|
add-int/lit8 v2, v2, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
.line 9
|
|
:cond_2
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
|
|
|
|
invoke-virtual {v0, p1, p2, p3}, Landroidx/recyclerview/widget/RecyclerView$s;->x(IIZ)V
|
|
|
|
.line 10
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public onAttachedToWindow()V
|
|
.locals 4
|
|
|
|
.line 1
|
|
invoke-super {p0}, Landroid/view/ViewGroup;->onAttachedToWindow()V
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 2
|
|
iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I
|
|
|
|
const/4 v1, 0x1
|
|
|
|
.line 3
|
|
iput-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mIsAttached:Z
|
|
|
|
.line 4
|
|
iget-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z
|
|
|
|
if-eqz v2, :cond_0
|
|
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->isLayoutRequested()Z
|
|
|
|
move-result v2
|
|
|
|
if-nez v2, :cond_0
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
move v1, v0
|
|
|
|
:goto_0
|
|
iput-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z
|
|
|
|
.line 5
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
if-eqz v1, :cond_1
|
|
|
|
.line 6
|
|
invoke-virtual {v1, p0}, Landroidx/recyclerview/widget/RecyclerView$m;->dispatchAttachedToWindow(Landroidx/recyclerview/widget/RecyclerView;)V
|
|
|
|
.line 7
|
|
:cond_1
|
|
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPostedAnimatorRunner:Z
|
|
|
|
.line 8
|
|
sget-boolean v0, Landroidx/recyclerview/widget/RecyclerView;->ALLOW_THREAD_GAP_WORK:Z
|
|
|
|
if-eqz v0, :cond_4
|
|
|
|
.line 9
|
|
sget-object v0, Landroidx/recyclerview/widget/n;->e:Ljava/lang/ThreadLocal;
|
|
|
|
invoke-virtual {v0}, Ljava/lang/ThreadLocal;->get()Ljava/lang/Object;
|
|
|
|
move-result-object v1
|
|
|
|
check-cast v1, Landroidx/recyclerview/widget/n;
|
|
|
|
iput-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/n;
|
|
|
|
if-nez v1, :cond_3
|
|
|
|
.line 10
|
|
new-instance v1, Landroidx/recyclerview/widget/n;
|
|
|
|
invoke-direct {v1}, Landroidx/recyclerview/widget/n;-><init>()V
|
|
|
|
iput-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/n;
|
|
|
|
.line 11
|
|
invoke-static {p0}, Landroidx/core/view/ViewCompat;->Q(Landroid/view/View;)Landroid/view/Display;
|
|
|
|
move-result-object v1
|
|
|
|
const/high16 v2, 0x42700000 # 60.0f
|
|
|
|
.line 12
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->isInEditMode()Z
|
|
|
|
move-result v3
|
|
|
|
if-nez v3, :cond_2
|
|
|
|
if-eqz v1, :cond_2
|
|
|
|
.line 13
|
|
invoke-virtual {v1}, Landroid/view/Display;->getRefreshRate()F
|
|
|
|
move-result v1
|
|
|
|
const/high16 v3, 0x41f00000 # 30.0f
|
|
|
|
cmpl-float v3, v1, v3
|
|
|
|
if-ltz v3, :cond_2
|
|
|
|
move v2, v1
|
|
|
|
.line 14
|
|
:cond_2
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/n;
|
|
|
|
const v3, 0x4e6e6b28 # 1.0E9f
|
|
|
|
div-float/2addr v3, v2
|
|
|
|
float-to-long v2, v3
|
|
|
|
iput-wide v2, v1, Landroidx/recyclerview/widget/n;->c:J
|
|
|
|
.line 15
|
|
invoke-virtual {v0, v1}, Ljava/lang/ThreadLocal;->set(Ljava/lang/Object;)V
|
|
|
|
.line 16
|
|
:cond_3
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/n;
|
|
|
|
invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/n;->a(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 1
|
|
invoke-super {p0}, Landroid/view/ViewGroup;->onDetachedFromWindow()V
|
|
|
|
.line 2
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 3
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->l()V
|
|
|
|
.line 4
|
|
:cond_0
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->stopScroll()V
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 5
|
|
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mIsAttached:Z
|
|
|
|
.line 6
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
.line 7
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
|
|
|
|
invoke-virtual {v0, p0, v1}, Landroidx/recyclerview/widget/RecyclerView$m;->dispatchDetachedFromWindow(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$s;)V
|
|
|
|
.line 8
|
|
:cond_1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingAccessibilityImportanceChange:Ljava/util/List;
|
|
|
|
invoke-interface {v0}, Ljava/util/List;->clear()V
|
|
|
|
.line 9
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimatorRunner:Ljava/lang/Runnable;
|
|
|
|
invoke-virtual {p0, v0}, Landroid/view/ViewGroup;->removeCallbacks(Ljava/lang/Runnable;)Z
|
|
|
|
.line 10
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/l0;
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/l0;->j()V
|
|
|
|
.line 11
|
|
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/n;
|
|
|
|
if-eqz v0, :cond_2
|
|
|
|
.line 12
|
|
invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/n;->j(Landroidx/recyclerview/widget/RecyclerView;)V
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 13
|
|
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/n;
|
|
|
|
:cond_2
|
|
return-void
|
|
.end method
|
|
|
|
.method public onDraw(Landroid/graphics/Canvas;)V
|
|
.locals 4
|
|
|
|
.line 1
|
|
invoke-super {p0, p1}, Landroid/view/ViewGroup;->onDraw(Landroid/graphics/Canvas;)V
|
|
|
|
.line 2
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
|
|
|
|
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
|
|
|
|
move-result v0
|
|
|
|
const/4 v1, 0x0
|
|
|
|
:goto_0
|
|
if-ge v1, v0, :cond_0
|
|
|
|
.line 3
|
|
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
|
|
|
|
invoke-virtual {v2, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
|
|
|
|
move-result-object v2
|
|
|
|
check-cast v2, Landroidx/recyclerview/widget/RecyclerView$l;
|
|
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
invoke-virtual {v2, p1, p0, v3}, Landroidx/recyclerview/widget/RecyclerView$l;->onDraw(Landroid/graphics/Canvas;Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$x;)V
|
|
|
|
add-int/lit8 v1, v1, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
return-void
|
|
.end method
|
|
|
|
.method public onEnterLayoutOrScroll()V
|
|
.locals 1
|
|
|
|
.line 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 1
|
|
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll(Z)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public onExitLayoutOrScroll(Z)V
|
|
.locals 2
|
|
|
|
.line 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
|
|
|
|
.line 3
|
|
iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutOrScrollCounter:I
|
|
|
|
if-eqz p1, :cond_0
|
|
|
|
.line 4
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchContentChangedIfNecessary()V
|
|
|
|
.line 5
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchPendingImportantForAccessibilityChanges()V
|
|
|
|
:cond_0
|
|
return-void
|
|
.end method
|
|
|
|
.method public onGenericMotionEvent(Landroid/view/MotionEvent;)Z
|
|
.locals 5
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
const/4 v1, 0x0
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
return v1
|
|
|
|
.line 2
|
|
:cond_0
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
return v1
|
|
|
|
.line 3
|
|
:cond_1
|
|
invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I
|
|
|
|
move-result v0
|
|
|
|
const/16 v2, 0x8
|
|
|
|
if-ne v0, v2, :cond_8
|
|
|
|
.line 4
|
|
invoke-virtual {p1}, Landroid/view/MotionEvent;->getSource()I
|
|
|
|
move-result v0
|
|
|
|
and-int/lit8 v0, v0, 0x2
|
|
|
|
const/4 v2, 0x0
|
|
|
|
if-eqz v0, :cond_4
|
|
|
|
.line 5
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$m;->canScrollVertically()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_2
|
|
|
|
const/16 v0, 0x9
|
|
|
|
.line 6
|
|
invoke-virtual {p1, v0}, Landroid/view/MotionEvent;->getAxisValue(I)F
|
|
|
|
move-result v0
|
|
|
|
neg-float v0, v0
|
|
|
|
goto :goto_0
|
|
|
|
:cond_2
|
|
move v0, v2
|
|
|
|
.line 7
|
|
:goto_0
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$m;->canScrollHorizontally()Z
|
|
|
|
move-result v3
|
|
|
|
if-eqz v3, :cond_3
|
|
|
|
const/16 v3, 0xa
|
|
|
|
.line 8
|
|
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 9
|
|
: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 10
|
|
invoke-virtual {p1, v0}, Landroid/view/MotionEvent;->getAxisValue(I)F
|
|
|
|
move-result v0
|
|
|
|
.line 11
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$m;->canScrollVertically()Z
|
|
|
|
move-result v3
|
|
|
|
if-eqz v3, :cond_5
|
|
|
|
neg-float v0, v0
|
|
|
|
goto :goto_1
|
|
|
|
.line 12
|
|
:cond_5
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$m;->canScrollHorizontally()Z
|
|
|
|
move-result v3
|
|
|
|
if-eqz v3, :cond_6
|
|
|
|
move v3, v0
|
|
|
|
move v0, v2
|
|
|
|
goto :goto_2
|
|
|
|
:cond_6
|
|
move v0, v2
|
|
|
|
move v3, v0
|
|
|
|
:goto_2
|
|
cmpl-float v4, v0, v2
|
|
|
|
if-nez v4, :cond_7
|
|
|
|
cmpl-float v2, v3, v2
|
|
|
|
if-eqz v2, :cond_8
|
|
|
|
.line 13
|
|
: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
|
|
|
|
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
|
|
|
|
.line 1
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
|
|
|
|
const/4 v1, 0x0
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
return v1
|
|
|
|
:cond_0
|
|
const/4 v0, 0x0
|
|
|
|
.line 2
|
|
iput-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptingOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$p;
|
|
|
|
.line 3
|
|
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 4
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->cancelScroll()V
|
|
|
|
return v2
|
|
|
|
.line 5
|
|
:cond_1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
if-nez v0, :cond_2
|
|
|
|
return v1
|
|
|
|
.line 6
|
|
:cond_2
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$m;->canScrollHorizontally()Z
|
|
|
|
move-result v0
|
|
|
|
.line 7
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
invoke-virtual {v3}, Landroidx/recyclerview/widget/RecyclerView$m;->canScrollVertically()Z
|
|
|
|
move-result v3
|
|
|
|
.line 8
|
|
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
|
|
|
|
if-nez v4, :cond_3
|
|
|
|
.line 9
|
|
invoke-static {}, Landroid/view/VelocityTracker;->obtain()Landroid/view/VelocityTracker;
|
|
|
|
move-result-object v4
|
|
|
|
iput-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
|
|
|
|
.line 10
|
|
:cond_3
|
|
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
|
|
|
|
invoke-virtual {v4, p1}, Landroid/view/VelocityTracker;->addMovement(Landroid/view/MotionEvent;)V
|
|
|
|
.line 11
|
|
invoke-virtual {p1}, Landroid/view/MotionEvent;->getActionMasked()I
|
|
|
|
move-result v4
|
|
|
|
.line 12
|
|
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_1
|
|
|
|
.line 13
|
|
:cond_4
|
|
invoke-direct {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->onPointerUp(Landroid/view/MotionEvent;)V
|
|
|
|
goto/16 :goto_1
|
|
|
|
.line 14
|
|
: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 15
|
|
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 16
|
|
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_1
|
|
|
|
.line 17
|
|
:cond_6
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->cancelScroll()V
|
|
|
|
goto/16 :goto_1
|
|
|
|
.line 18
|
|
:cond_7
|
|
iget v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
|
|
|
|
invoke-virtual {p1, v4}, Landroid/view/MotionEvent;->findPointerIndex(I)I
|
|
|
|
move-result v4
|
|
|
|
if-gez v4, :cond_8
|
|
|
|
const-string p1, "Error processing scroll; pointer index for id "
|
|
|
|
.line 19
|
|
invoke-static {p1}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
move-result-object p1
|
|
|
|
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 20
|
|
: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 21
|
|
invoke-virtual {p1, v4}, Landroid/view/MotionEvent;->getY(I)F
|
|
|
|
move-result p1
|
|
|
|
add-float/2addr p1, v7
|
|
|
|
float-to-int p1, p1
|
|
|
|
.line 22
|
|
iget v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I
|
|
|
|
if-eq v4, v2, :cond_10
|
|
|
|
.line 23
|
|
iget v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchX:I
|
|
|
|
sub-int v4, v5, v4
|
|
|
|
.line 24
|
|
iget v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchY:I
|
|
|
|
sub-int v6, p1, v6
|
|
|
|
if-eqz v0, :cond_9
|
|
|
|
.line 25
|
|
invoke-static {v4}, Ljava/lang/Math;->abs(I)I
|
|
|
|
move-result v0
|
|
|
|
iget v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I
|
|
|
|
if-le v0, v4, :cond_9
|
|
|
|
.line 26
|
|
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 27
|
|
invoke-static {v6}, Ljava/lang/Math;->abs(I)I
|
|
|
|
move-result v3
|
|
|
|
iget v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I
|
|
|
|
if-le v3, v4, :cond_a
|
|
|
|
.line 28
|
|
iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I
|
|
|
|
move v0, v2
|
|
|
|
:cond_a
|
|
if-eqz v0, :cond_10
|
|
|
|
.line 29
|
|
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V
|
|
|
|
goto :goto_1
|
|
|
|
.line 30
|
|
:cond_b
|
|
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
|
|
|
|
invoke-virtual {p1}, Landroid/view/VelocityTracker;->clear()V
|
|
|
|
.line 31
|
|
invoke-virtual {p0, v1}, Landroidx/recyclerview/widget/RecyclerView;->stopNestedScroll(I)V
|
|
|
|
goto :goto_1
|
|
|
|
.line 32
|
|
:cond_c
|
|
iget-boolean v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mIgnoreMotionEventTillDown:Z
|
|
|
|
if-eqz v4, :cond_d
|
|
|
|
.line 33
|
|
iput-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mIgnoreMotionEventTillDown:Z
|
|
|
|
.line 34
|
|
: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 35
|
|
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 36
|
|
invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F
|
|
|
|
move-result p1
|
|
|
|
add-float/2addr p1, v7
|
|
|
|
float-to-int p1, p1
|
|
|
|
iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I
|
|
|
|
iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mInitialTouchY:I
|
|
|
|
.line 37
|
|
iget p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I
|
|
|
|
if-ne p1, v6, :cond_e
|
|
|
|
.line 38
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getParent()Landroid/view/ViewParent;
|
|
|
|
move-result-object p1
|
|
|
|
invoke-interface {p1, v2}, Landroid/view/ViewParent;->requestDisallowInterceptTouchEvent(Z)V
|
|
|
|
.line 39
|
|
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V
|
|
|
|
.line 40
|
|
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopNestedScroll(I)V
|
|
|
|
.line 41
|
|
:cond_e
|
|
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I
|
|
|
|
aput v1, p1, v2
|
|
|
|
aput v1, p1, v1
|
|
|
|
if-eqz v3, :cond_f
|
|
|
|
or-int/lit8 v0, v0, 0x2
|
|
|
|
.line 42
|
|
:cond_f
|
|
invoke-virtual {p0, v0, v1}, Landroidx/recyclerview/widget/RecyclerView;->startNestedScroll(II)Z
|
|
|
|
.line 43
|
|
:cond_10
|
|
:goto_1
|
|
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 1
|
|
invoke-static {p1}, Ll1/r;->b(Ljava/lang/String;)V
|
|
|
|
.line 2
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayout()V
|
|
|
|
.line 3
|
|
invoke-static {}, Ll1/r;->d()V
|
|
|
|
const/4 p1, 0x1
|
|
|
|
.line 4
|
|
iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public onMeasure(II)V
|
|
.locals 7
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
.line 2
|
|
invoke-virtual {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->defaultOnMeasure(II)V
|
|
|
|
return-void
|
|
|
|
.line 3
|
|
:cond_0
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$m;->isAutoMeasureEnabled()Z
|
|
|
|
move-result v0
|
|
|
|
const/4 v1, 0x1
|
|
|
|
const/4 v2, 0x0
|
|
|
|
if-eqz v0, :cond_6
|
|
|
|
.line 4
|
|
invoke-static {p1}, Landroid/view/View$MeasureSpec;->getMode(I)I
|
|
|
|
move-result v0
|
|
|
|
.line 5
|
|
invoke-static {p2}, Landroid/view/View$MeasureSpec;->getMode(I)I
|
|
|
|
move-result v3
|
|
|
|
.line 6
|
|
iget-object v4, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
iget-object v5, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
|
|
|
|
iget-object v6, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
invoke-virtual {v4, v5, v6, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$m;->onMeasure(Landroidx/recyclerview/widget/RecyclerView$s;Landroidx/recyclerview/widget/RecyclerView$x;II)V
|
|
|
|
const/high16 v4, 0x40000000 # 2.0f
|
|
|
|
if-ne v0, v4, :cond_1
|
|
|
|
if-ne v3, v4, :cond_1
|
|
|
|
move v2, v1
|
|
|
|
.line 7
|
|
:cond_1
|
|
iput-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureSkippedDueToExact:Z
|
|
|
|
if-nez v2, :cond_5
|
|
|
|
.line 8
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
|
|
|
if-nez v0, :cond_2
|
|
|
|
goto :goto_0
|
|
|
|
.line 9
|
|
:cond_2
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
iget v0, v0, Landroidx/recyclerview/widget/RecyclerView$x;->e:I
|
|
|
|
if-ne v0, v1, :cond_3
|
|
|
|
.line 10
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep1()V
|
|
|
|
.line 11
|
|
:cond_3
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$m;->setMeasureSpecs(II)V
|
|
|
|
.line 12
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$x;->j:Z
|
|
|
|
.line 13
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep2()V
|
|
|
|
.line 14
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$m;->setMeasuredDimensionFromChildren(II)V
|
|
|
|
.line 15
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$m;->shouldMeasureTwice()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_4
|
|
|
|
.line 16
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
.line 17
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredWidth()I
|
|
|
|
move-result v2
|
|
|
|
invoke-static {v2, v4}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
|
|
|
|
move-result v2
|
|
|
|
.line 18
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredHeight()I
|
|
|
|
move-result v3
|
|
|
|
invoke-static {v3, v4}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
|
|
|
|
move-result v3
|
|
|
|
.line 19
|
|
invoke-virtual {v0, v2, v3}, Landroidx/recyclerview/widget/RecyclerView$m;->setMeasureSpecs(II)V
|
|
|
|
.line 20
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$x;->j:Z
|
|
|
|
.line 21
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayoutStep2()V
|
|
|
|
.line 22
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$m;->setMeasuredDimensionFromChildren(II)V
|
|
|
|
.line 23
|
|
:cond_4
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredWidth()I
|
|
|
|
move-result p1
|
|
|
|
iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureNonExactMeasuredWidth:I
|
|
|
|
.line 24
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredHeight()I
|
|
|
|
move-result p1
|
|
|
|
iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLastAutoMeasureNonExactMeasuredHeight:I
|
|
|
|
goto :goto_4
|
|
|
|
:cond_5
|
|
:goto_0
|
|
return-void
|
|
|
|
.line 25
|
|
:cond_6
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mHasFixedSize:Z
|
|
|
|
if-eqz v0, :cond_7
|
|
|
|
.line 26
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
|
|
|
|
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
invoke-virtual {v0, v1, v2, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$m;->onMeasure(Landroidx/recyclerview/widget/RecyclerView$s;Landroidx/recyclerview/widget/RecyclerView$x;II)V
|
|
|
|
return-void
|
|
|
|
.line 27
|
|
:cond_7
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterUpdateDuringMeasure:Z
|
|
|
|
if-eqz v0, :cond_9
|
|
|
|
.line 28
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
|
|
|
|
.line 29
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V
|
|
|
|
.line 30
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->processAdapterUpdatesAndSetAnimationFlags()V
|
|
|
|
.line 31
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V
|
|
|
|
.line 32
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
iget-boolean v3, v0, Landroidx/recyclerview/widget/RecyclerView$x;->l:Z
|
|
|
|
if-eqz v3, :cond_8
|
|
|
|
.line 33
|
|
iput-boolean v1, v0, Landroidx/recyclerview/widget/RecyclerView$x;->h:Z
|
|
|
|
goto :goto_1
|
|
|
|
.line 34
|
|
:cond_8
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterHelper:Landroidx/recyclerview/widget/a;
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/a;->k()V
|
|
|
|
.line 35
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
iput-boolean v2, v0, Landroidx/recyclerview/widget/RecyclerView$x;->h:Z
|
|
|
|
.line 36
|
|
:goto_1
|
|
iput-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapterUpdateDuringMeasure:Z
|
|
|
|
.line 37
|
|
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
|
|
|
|
goto :goto_2
|
|
|
|
.line 38
|
|
:cond_9
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
iget-boolean v0, v0, Landroidx/recyclerview/widget/RecyclerView$x;->l:Z
|
|
|
|
if-eqz v0, :cond_a
|
|
|
|
.line 39
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredWidth()I
|
|
|
|
move-result p1
|
|
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->getMeasuredHeight()I
|
|
|
|
move-result p2
|
|
|
|
invoke-virtual {p0, p1, p2}, Landroid/view/ViewGroup;->setMeasuredDimension(II)V
|
|
|
|
return-void
|
|
|
|
.line 40
|
|
:cond_a
|
|
:goto_2
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
|
|
|
if-eqz v0, :cond_b
|
|
|
|
.line 41
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$Adapter;->getItemCount()I
|
|
|
|
move-result v0
|
|
|
|
iput v0, v1, Landroidx/recyclerview/widget/RecyclerView$x;->f:I
|
|
|
|
goto :goto_3
|
|
|
|
.line 42
|
|
:cond_b
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
iput v2, v0, Landroidx/recyclerview/widget/RecyclerView$x;->f:I
|
|
|
|
.line 43
|
|
:goto_3
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
|
|
|
|
.line 44
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
|
|
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
invoke-virtual {v0, v1, v3, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$m;->onMeasure(Landroidx/recyclerview/widget/RecyclerView$s;Landroidx/recyclerview/widget/RecyclerView$x;II)V
|
|
|
|
.line 45
|
|
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
|
|
|
|
.line 46
|
|
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
iput-boolean v2, p1, Landroidx/recyclerview/widget/RecyclerView$x;->h:Z
|
|
|
|
:goto_4
|
|
return-void
|
|
.end method
|
|
|
|
.method public onRequestFocusInDescendants(ILandroid/graphics/Rect;)Z
|
|
.locals 1
|
|
|
|
.line 1
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isComputingLayout()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
const/4 p1, 0x0
|
|
|
|
return p1
|
|
|
|
.line 2
|
|
: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 1
|
|
instance-of v0, p1, Landroidx/recyclerview/widget/RecyclerView$SavedState;
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
.line 2
|
|
invoke-super {p0, p1}, Landroid/view/ViewGroup;->onRestoreInstanceState(Landroid/os/Parcelable;)V
|
|
|
|
return-void
|
|
|
|
.line 3
|
|
: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 4
|
|
invoke-virtual {p1}, Landroidx/customview/view/AbsSavedState;->getSuperState()Landroid/os/Parcelable;
|
|
|
|
move-result-object p1
|
|
|
|
invoke-super {p0, p1}, Landroid/view/ViewGroup;->onRestoreInstanceState(Landroid/os/Parcelable;)V
|
|
|
|
.line 5
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public onSaveInstanceState()Landroid/os/Parcelable;
|
|
.locals 2
|
|
|
|
.line 1
|
|
new-instance v0, Landroidx/recyclerview/widget/RecyclerView$SavedState;
|
|
|
|
invoke-super {p0}, Landroid/view/ViewGroup;->onSaveInstanceState()Landroid/os/Parcelable;
|
|
|
|
move-result-object v1
|
|
|
|
invoke-direct {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$SavedState;-><init>(Landroid/os/Parcelable;)V
|
|
|
|
.line 2
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingSavedState:Landroidx/recyclerview/widget/RecyclerView$SavedState;
|
|
|
|
if-eqz v1, :cond_0
|
|
|
|
.line 3
|
|
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$SavedState;->b(Landroidx/recyclerview/widget/RecyclerView$SavedState;)V
|
|
|
|
goto :goto_0
|
|
|
|
.line 4
|
|
:cond_0
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
if-eqz v1, :cond_1
|
|
|
|
.line 5
|
|
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$m;->onSaveInstanceState()Landroid/os/Parcelable;
|
|
|
|
move-result-object v1
|
|
|
|
iput-object v1, v0, Landroidx/recyclerview/widget/RecyclerView$SavedState;->a:Landroid/os/Parcelable;
|
|
|
|
goto :goto_0
|
|
|
|
:cond_1
|
|
const/4 v1, 0x0
|
|
|
|
.line 6
|
|
iput-object v1, v0, Landroidx/recyclerview/widget/RecyclerView$SavedState;->a: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 1
|
|
invoke-super {p0, p1, p2, p3, p4}, Landroid/view/ViewGroup;->onSizeChanged(IIII)V
|
|
|
|
if-ne p1, p3, :cond_0
|
|
|
|
if-eq p2, p4, :cond_1
|
|
|
|
.line 2
|
|
:cond_0
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->invalidateGlows()V
|
|
|
|
:cond_1
|
|
return-void
|
|
.end method
|
|
|
|
.method public onTouchEvent(Landroid/view/MotionEvent;)Z
|
|
.locals 17
|
|
|
|
move-object/from16 v6, p0
|
|
|
|
move-object/from16 v7, p1
|
|
|
|
.line 1
|
|
iget-boolean v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
|
|
|
|
const/4 v8, 0x0
|
|
|
|
if-nez v0, :cond_20
|
|
|
|
iget-boolean v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mIgnoreMotionEventTillDown:Z
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
goto/16 :goto_a
|
|
|
|
.line 2
|
|
: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 3
|
|
invoke-direct/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->cancelScroll()V
|
|
|
|
return v9
|
|
|
|
.line 4
|
|
:cond_1
|
|
iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
if-nez v0, :cond_2
|
|
|
|
return v8
|
|
|
|
.line 5
|
|
:cond_2
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$m;->canScrollHorizontally()Z
|
|
|
|
move-result v10
|
|
|
|
.line 6
|
|
iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$m;->canScrollVertically()Z
|
|
|
|
move-result v11
|
|
|
|
.line 7
|
|
iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
|
|
|
|
if-nez v0, :cond_3
|
|
|
|
.line 8
|
|
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 9
|
|
:cond_3
|
|
invoke-virtual/range {p1 .. p1}, Landroid/view/MotionEvent;->getActionMasked()I
|
|
|
|
move-result v0
|
|
|
|
.line 10
|
|
invoke-virtual/range {p1 .. p1}, Landroid/view/MotionEvent;->getActionIndex()I
|
|
|
|
move-result v1
|
|
|
|
if-nez v0, :cond_4
|
|
|
|
.line 11
|
|
iget-object v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I
|
|
|
|
aput v8, v2, v9
|
|
|
|
aput v8, v2, v8
|
|
|
|
.line 12
|
|
:cond_4
|
|
invoke-static/range {p1 .. p1}, Landroid/view/MotionEvent;->obtain(Landroid/view/MotionEvent;)Landroid/view/MotionEvent;
|
|
|
|
move-result-object v12
|
|
|
|
.line 13
|
|
iget-object v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I
|
|
|
|
aget v3, v2, v8
|
|
|
|
int-to-float v3, v3
|
|
|
|
aget v2, v2, v9
|
|
|
|
int-to-float v2, v2
|
|
|
|
invoke-virtual {v12, v3, v2}, Landroid/view/MotionEvent;->offsetLocation(FF)V
|
|
|
|
const/high16 v2, 0x3f000000 # 0.5f
|
|
|
|
if-eqz v0, :cond_1c
|
|
|
|
if-eq v0, v9, :cond_16
|
|
|
|
const/4 v3, 0x2
|
|
|
|
if-eq v0, v3, :cond_8
|
|
|
|
const/4 v3, 0x3
|
|
|
|
if-eq v0, v3, :cond_7
|
|
|
|
const/4 v3, 0x5
|
|
|
|
if-eq v0, v3, :cond_6
|
|
|
|
const/4 v1, 0x6
|
|
|
|
if-eq v0, v1, :cond_5
|
|
|
|
goto/16 :goto_9
|
|
|
|
.line 14
|
|
:cond_5
|
|
invoke-direct/range {p0 .. p1}, Landroidx/recyclerview/widget/RecyclerView;->onPointerUp(Landroid/view/MotionEvent;)V
|
|
|
|
goto/16 :goto_9
|
|
|
|
.line 15
|
|
: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 16
|
|
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 17
|
|
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 18
|
|
:cond_7
|
|
invoke-direct/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->cancelScroll()V
|
|
|
|
goto/16 :goto_9
|
|
|
|
.line 19
|
|
:cond_8
|
|
iget v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
|
|
|
|
invoke-virtual {v7, v0}, Landroid/view/MotionEvent;->findPointerIndex(I)I
|
|
|
|
move-result v0
|
|
|
|
if-gez v0, :cond_9
|
|
|
|
const-string v0, "Error processing scroll; pointer index for id "
|
|
|
|
.line 20
|
|
invoke-static {v0}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
move-result-object v0
|
|
|
|
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 21
|
|
: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 22
|
|
invoke-virtual {v7, v0}, Landroid/view/MotionEvent;->getY(I)F
|
|
|
|
move-result v0
|
|
|
|
add-float/2addr v0, v2
|
|
|
|
float-to-int v14, v0
|
|
|
|
.line 23
|
|
iget v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I
|
|
|
|
sub-int/2addr v0, v13
|
|
|
|
.line 24
|
|
iget v1, v6, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I
|
|
|
|
sub-int/2addr v1, v14
|
|
|
|
.line 25
|
|
iget v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I
|
|
|
|
if-eq v2, v9, :cond_e
|
|
|
|
if-eqz v10, :cond_b
|
|
|
|
if-lez v0, :cond_a
|
|
|
|
.line 26
|
|
iget v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I
|
|
|
|
sub-int/2addr v0, v2
|
|
|
|
invoke-static {v8, v0}, Ljava/lang/Math;->max(II)I
|
|
|
|
move-result v0
|
|
|
|
goto :goto_0
|
|
|
|
.line 27
|
|
:cond_a
|
|
iget v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I
|
|
|
|
add-int/2addr v0, v2
|
|
|
|
invoke-static {v8, v0}, Ljava/lang/Math;->min(II)I
|
|
|
|
move-result v0
|
|
|
|
:goto_0
|
|
if-eqz v0, :cond_b
|
|
|
|
move v2, v9
|
|
|
|
goto :goto_1
|
|
|
|
:cond_b
|
|
move v2, v8
|
|
|
|
:goto_1
|
|
if-eqz v11, :cond_d
|
|
|
|
if-lez v1, :cond_c
|
|
|
|
.line 28
|
|
iget v3, v6, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I
|
|
|
|
sub-int/2addr v1, v3
|
|
|
|
invoke-static {v8, v1}, Ljava/lang/Math;->max(II)I
|
|
|
|
move-result v1
|
|
|
|
goto :goto_2
|
|
|
|
.line 29
|
|
:cond_c
|
|
iget v3, v6, Landroidx/recyclerview/widget/RecyclerView;->mTouchSlop:I
|
|
|
|
add-int/2addr v1, v3
|
|
|
|
invoke-static {v8, v1}, Ljava/lang/Math;->min(II)I
|
|
|
|
move-result v1
|
|
|
|
:goto_2
|
|
if-eqz v1, :cond_d
|
|
|
|
move v2, v9
|
|
|
|
:cond_d
|
|
if-eqz v2, :cond_e
|
|
|
|
.line 30
|
|
invoke-virtual {v6, v9}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V
|
|
|
|
:cond_e
|
|
move v15, v0
|
|
|
|
move/from16 v16, v1
|
|
|
|
.line 31
|
|
iget v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I
|
|
|
|
if-ne v0, v9, :cond_1e
|
|
|
|
.line 32
|
|
iget-object v3, v6, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I
|
|
|
|
aput v8, v3, v8
|
|
|
|
.line 33
|
|
aput v8, v3, v9
|
|
|
|
if-eqz v10, :cond_f
|
|
|
|
move v1, v15
|
|
|
|
goto :goto_3
|
|
|
|
:cond_f
|
|
move v1, v8
|
|
|
|
:goto_3
|
|
if-eqz v11, :cond_10
|
|
|
|
move/from16 v2, v16
|
|
|
|
goto :goto_4
|
|
|
|
:cond_10
|
|
move v2, v8
|
|
|
|
.line 34
|
|
:goto_4
|
|
iget-object v4, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I
|
|
|
|
const/4 v5, 0x0
|
|
|
|
move-object/from16 v0, p0
|
|
|
|
.line 35
|
|
invoke-virtual/range {v0 .. v5}, Landroidx/recyclerview/widget/RecyclerView;->dispatchNestedPreScroll(II[I[II)Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_11
|
|
|
|
.line 36
|
|
iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I
|
|
|
|
aget v1, v0, v8
|
|
|
|
sub-int/2addr v15, v1
|
|
|
|
.line 37
|
|
aget v0, v0, v9
|
|
|
|
sub-int v16, v16, v0
|
|
|
|
.line 38
|
|
iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I
|
|
|
|
aget v1, v0, v8
|
|
|
|
iget-object v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I
|
|
|
|
aget v3, v2, v8
|
|
|
|
add-int/2addr v1, v3
|
|
|
|
aput v1, v0, v8
|
|
|
|
.line 39
|
|
aget v1, v0, v9
|
|
|
|
aget v2, v2, v9
|
|
|
|
add-int/2addr v1, v2
|
|
|
|
aput v1, v0, v9
|
|
|
|
.line 40
|
|
invoke-virtual/range {p0 .. p0}, Landroid/view/ViewGroup;->getParent()Landroid/view/ViewParent;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-interface {v0, v9}, Landroid/view/ViewParent;->requestDisallowInterceptTouchEvent(Z)V
|
|
|
|
:cond_11
|
|
move/from16 v0, v16
|
|
|
|
.line 41
|
|
iget-object v1, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I
|
|
|
|
aget v2, v1, v8
|
|
|
|
sub-int/2addr v13, v2
|
|
|
|
iput v13, v6, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I
|
|
|
|
.line 42
|
|
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 43
|
|
: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 44
|
|
invoke-virtual/range {p0 .. p0}, Landroid/view/ViewGroup;->getParent()Landroid/view/ViewParent;
|
|
|
|
move-result-object v1
|
|
|
|
invoke-interface {v1, v9}, Landroid/view/ViewParent;->requestDisallowInterceptTouchEvent(Z)V
|
|
|
|
.line 45
|
|
:cond_14
|
|
iget-object v1, v6, Landroidx/recyclerview/widget/RecyclerView;->mGapWorker:Landroidx/recyclerview/widget/n;
|
|
|
|
if-eqz v1, :cond_1e
|
|
|
|
if-nez v15, :cond_15
|
|
|
|
if-eqz v0, :cond_1e
|
|
|
|
.line 46
|
|
:cond_15
|
|
invoke-virtual {v1, v6, v15, v0}, Landroidx/recyclerview/widget/n;->f(Landroidx/recyclerview/widget/RecyclerView;II)V
|
|
|
|
goto :goto_9
|
|
|
|
.line 47
|
|
:cond_16
|
|
iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
|
|
|
|
invoke-virtual {v0, v12}, Landroid/view/VelocityTracker;->addMovement(Landroid/view/MotionEvent;)V
|
|
|
|
.line 48
|
|
iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
|
|
|
|
const/16 v1, 0x3e8
|
|
|
|
iget v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mMaxFlingVelocity:I
|
|
|
|
int-to-float v2, v2
|
|
|
|
invoke-virtual {v0, v1, v2}, Landroid/view/VelocityTracker;->computeCurrentVelocity(IF)V
|
|
|
|
const/4 v0, 0x0
|
|
|
|
if-eqz v10, :cond_17
|
|
|
|
.line 49
|
|
iget-object v1, v6, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
|
|
|
|
iget v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
|
|
|
|
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
|
|
|
|
.line 50
|
|
iget-object v2, v6, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
|
|
|
|
iget v3, v6, Landroidx/recyclerview/widget/RecyclerView;->mScrollPointerId:I
|
|
|
|
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 51
|
|
invoke-virtual {v6, v0, v1}, Landroidx/recyclerview/widget/RecyclerView;->fling(II)Z
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_1b
|
|
|
|
.line 52
|
|
:cond_1a
|
|
invoke-virtual {v6, v8}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V
|
|
|
|
.line 53
|
|
:cond_1b
|
|
invoke-direct/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->resetScroll()V
|
|
|
|
move v8, v9
|
|
|
|
goto :goto_9
|
|
|
|
.line 54
|
|
: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 55
|
|
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 56
|
|
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 57
|
|
:cond_1d
|
|
invoke-virtual {v6, v10, v8}, Landroidx/recyclerview/widget/RecyclerView;->startNestedScroll(II)Z
|
|
|
|
:cond_1e
|
|
:goto_9
|
|
if-nez v8, :cond_1f
|
|
|
|
.line 58
|
|
iget-object v0, v6, Landroidx/recyclerview/widget/RecyclerView;->mVelocityTracker:Landroid/view/VelocityTracker;
|
|
|
|
invoke-virtual {v0, v12}, Landroid/view/VelocityTracker;->addMovement(Landroid/view/MotionEvent;)V
|
|
|
|
.line 59
|
|
:cond_1f
|
|
invoke-virtual {v12}, Landroid/view/MotionEvent;->recycle()V
|
|
|
|
return v9
|
|
|
|
:cond_20
|
|
:goto_a
|
|
return v8
|
|
.end method
|
|
|
|
.method public postAnimationRunner()V
|
|
.locals 1
|
|
|
|
.line 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
|
|
|
|
.line 2
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimatorRunner:Ljava/lang/Runnable;
|
|
|
|
invoke-static {p0, v0}, Landroidx/core/view/ViewCompat;->p1(Landroid/view/View;Ljava/lang/Runnable;)V
|
|
|
|
const/4 v0, 0x1
|
|
|
|
.line 3
|
|
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mPostedAnimatorRunner:Z
|
|
|
|
:cond_0
|
|
return-void
|
|
.end method
|
|
|
|
.method public processDataSetCompletelyChanged(Z)V
|
|
.locals 1
|
|
|
|
.line 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
|
|
|
|
.line 2
|
|
iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mDataSetHasChangedAfterLayout:Z
|
|
|
|
.line 3
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->markKnownViewsInvalid()V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public recordAnimationInfoIfBouncedHiddenView(Landroidx/recyclerview/widget/RecyclerView$a0;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;)V
|
|
.locals 3
|
|
|
|
const/4 v0, 0x0
|
|
|
|
const/16 v1, 0x2000
|
|
|
|
.line 1
|
|
invoke-virtual {p1, v0, v1}, Landroidx/recyclerview/widget/RecyclerView$a0;->setFlags(II)V
|
|
|
|
.line 2
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
iget-boolean v0, v0, Landroidx/recyclerview/widget/RecyclerView$x;->i:Z
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$a0;->isUpdated()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 3
|
|
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$a0;->isRemoved()Z
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$a0;->shouldIgnore()Z
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
.line 4
|
|
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->getChangedHolderKey(Landroidx/recyclerview/widget/RecyclerView$a0;)J
|
|
|
|
move-result-wide v0
|
|
|
|
.line 5
|
|
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/l0;
|
|
|
|
invoke-virtual {v2, v0, v1, p1}, Landroidx/recyclerview/widget/l0;->c(JLandroidx/recyclerview/widget/RecyclerView$a0;)V
|
|
|
|
.line 6
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewInfoStore:Landroidx/recyclerview/widget/l0;
|
|
|
|
invoke-virtual {v0, p1, p2}, Landroidx/recyclerview/widget/l0;->e(Landroidx/recyclerview/widget/RecyclerView$a0;Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$c;)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public removeAndRecycleViews()V
|
|
.locals 2
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 2
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->l()V
|
|
|
|
.line 3
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
.line 4
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
|
|
|
|
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$m;->removeAndRecycleAllViews(Landroidx/recyclerview/widget/RecyclerView$s;)V
|
|
|
|
.line 5
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
|
|
|
|
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$m;->removeAndRecycleScrapInt(Landroidx/recyclerview/widget/RecyclerView$s;)V
|
|
|
|
.line 6
|
|
:cond_1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$s;->d()V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public removeAnimatingView(Landroid/view/View;)Z
|
|
.locals 2
|
|
|
|
.line 1
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
|
|
|
|
.line 2
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
|
|
|
|
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/g;->r(Landroid/view/View;)Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 3
|
|
invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$a0;
|
|
|
|
move-result-object p1
|
|
|
|
.line 4
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
|
|
|
|
invoke-virtual {v1, p1}, Landroidx/recyclerview/widget/RecyclerView$s;->K(Landroidx/recyclerview/widget/RecyclerView$a0;)V
|
|
|
|
.line 5
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
|
|
|
|
invoke-virtual {v1, p1}, Landroidx/recyclerview/widget/RecyclerView$s;->D(Landroidx/recyclerview/widget/RecyclerView$a0;)V
|
|
|
|
:cond_0
|
|
xor-int/lit8 p1, v0, 0x1
|
|
|
|
.line 6
|
|
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 1
|
|
invoke-static {p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$a0;
|
|
|
|
move-result-object v0
|
|
|
|
if-eqz v0, :cond_2
|
|
|
|
.line 2
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$a0;->isTmpDetached()Z
|
|
|
|
move-result v1
|
|
|
|
if-eqz v1, :cond_0
|
|
|
|
.line 3
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$a0;->clearTmpDetachFlag()V
|
|
|
|
goto :goto_0
|
|
|
|
.line 4
|
|
:cond_0
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$a0;->shouldIgnore()Z
|
|
|
|
move-result v1
|
|
|
|
if-eqz v1, :cond_1
|
|
|
|
goto :goto_0
|
|
|
|
.line 5
|
|
: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 6
|
|
invoke-static {p0, p2}, Landroidx/recyclerview/widget/b0;->a(Landroidx/recyclerview/widget/RecyclerView;Ljava/lang/StringBuilder;)Ljava/lang/String;
|
|
|
|
move-result-object p2
|
|
|
|
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
|
|
|
|
throw p1
|
|
|
|
.line 7
|
|
:cond_2
|
|
:goto_0
|
|
invoke-virtual {p1}, Landroid/view/View;->clearAnimation()V
|
|
|
|
.line 8
|
|
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->dispatchChildDetached(Landroid/view/View;)V
|
|
|
|
.line 9
|
|
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$l;)V
|
|
.locals 2
|
|
.param p1 # Landroidx/recyclerview/widget/RecyclerView$l;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
const-string v1, "Cannot remove item decoration during a scroll or layout"
|
|
|
|
.line 2
|
|
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$m;->assertNotInLayoutOrScroll(Ljava/lang/String;)V
|
|
|
|
.line 3
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
|
|
|
|
invoke-virtual {v0, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
|
|
|
|
.line 4
|
|
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
|
|
|
|
invoke-virtual {p1}, Ljava/util/ArrayList;->isEmpty()Z
|
|
|
|
move-result p1
|
|
|
|
if-eqz p1, :cond_2
|
|
|
|
.line 5
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->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/ViewGroup;->setWillNotDraw(Z)V
|
|
|
|
.line 6
|
|
:cond_2
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->markItemDecorInsetsDirty()V
|
|
|
|
.line 7
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public removeItemDecorationAt(I)V
|
|
.locals 3
|
|
|
|
.line 1
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->getItemDecorationCount()I
|
|
|
|
move-result v0
|
|
|
|
if-ltz p1, :cond_0
|
|
|
|
if-ge p1, v0, :cond_0
|
|
|
|
.line 2
|
|
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->getItemDecorationAt(I)Landroidx/recyclerview/widget/RecyclerView$l;
|
|
|
|
move-result-object p1
|
|
|
|
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->removeItemDecoration(Landroidx/recyclerview/widget/RecyclerView$l;)V
|
|
|
|
return-void
|
|
|
|
.line 3
|
|
: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$n;)V
|
|
.locals 1
|
|
.param p1 # Landroidx/recyclerview/widget/RecyclerView$n;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnChildAttachStateListeners:Ljava/util/List;
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
return-void
|
|
|
|
.line 2
|
|
: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$p;)V
|
|
.locals 1
|
|
.param p1 # Landroidx/recyclerview/widget/RecyclerView$p;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList;
|
|
|
|
invoke-virtual {v0, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
|
|
|
|
.line 2
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptingOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$p;
|
|
|
|
if-ne v0, p1, :cond_0
|
|
|
|
const/4 p1, 0x0
|
|
|
|
.line 3
|
|
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptingOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$p;
|
|
|
|
:cond_0
|
|
return-void
|
|
.end method
|
|
|
|
.method public removeOnScrollListener(Landroidx/recyclerview/widget/RecyclerView$q;)V
|
|
.locals 1
|
|
.param p1 # Landroidx/recyclerview/widget/RecyclerView$q;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListeners:Ljava/util/List;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 2
|
|
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$t;)V
|
|
.locals 1
|
|
.param p1 # Landroidx/recyclerview/widget/RecyclerView$t;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecyclerListeners:Ljava/util/List;
|
|
|
|
invoke-interface {v0, p1}, Ljava/util/List;->remove(Ljava/lang/Object;)Z
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public repositionShadowingViews()V
|
|
.locals 7
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/g;->g()I
|
|
|
|
move-result v0
|
|
|
|
const/4 v1, 0x0
|
|
|
|
:goto_0
|
|
if-ge v1, v0, :cond_2
|
|
|
|
.line 2
|
|
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
|
|
|
|
invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/g;->f(I)Landroid/view/View;
|
|
|
|
move-result-object v2
|
|
|
|
.line 3
|
|
invoke-virtual {p0, v2}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolder(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$a0;
|
|
|
|
move-result-object v3
|
|
|
|
if-eqz v3, :cond_1
|
|
|
|
.line 4
|
|
iget-object v3, v3, Landroidx/recyclerview/widget/RecyclerView$a0;->mShadowingHolder:Landroidx/recyclerview/widget/RecyclerView$a0;
|
|
|
|
if-eqz v3, :cond_1
|
|
|
|
.line 5
|
|
iget-object v3, v3, Landroidx/recyclerview/widget/RecyclerView$a0;->itemView:Landroid/view/View;
|
|
|
|
.line 6
|
|
invoke-virtual {v2}, Landroid/view/View;->getLeft()I
|
|
|
|
move-result v4
|
|
|
|
.line 7
|
|
invoke-virtual {v2}, Landroid/view/View;->getTop()I
|
|
|
|
move-result v2
|
|
|
|
.line 8
|
|
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 9
|
|
:cond_0
|
|
invoke-virtual {v3}, Landroid/view/View;->getWidth()I
|
|
|
|
move-result v5
|
|
|
|
add-int/2addr v5, v4
|
|
|
|
.line 10
|
|
invoke-virtual {v3}, Landroid/view/View;->getHeight()I
|
|
|
|
move-result v6
|
|
|
|
add-int/2addr v6, v2
|
|
|
|
.line 11
|
|
invoke-virtual {v3, v4, v2, v5, v6}, Landroid/view/View;->layout(IIII)V
|
|
|
|
:cond_1
|
|
add-int/lit8 v1, v1, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_2
|
|
return-void
|
|
.end method
|
|
|
|
.method public requestChildFocus(Landroid/view/View;Landroid/view/View;)V
|
|
.locals 2
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
invoke-virtual {v0, p0, v1, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$m;->onRequestChildFocus(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$x;Landroid/view/View;Landroid/view/View;)Z
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
if-eqz p2, :cond_0
|
|
|
|
.line 2
|
|
invoke-direct {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->requestChildOnScreen(Landroid/view/View;Landroid/view/View;)V
|
|
|
|
.line 3
|
|
:cond_0
|
|
invoke-super {p0, p1, p2}, Landroid/view/ViewGroup;->requestChildFocus(Landroid/view/View;Landroid/view/View;)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public requestChildRectangleOnScreen(Landroid/view/View;Landroid/graphics/Rect;Z)Z
|
|
.locals 1
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
invoke-virtual {v0, p0, p1, p2, p3}, Landroidx/recyclerview/widget/RecyclerView$m;->requestChildRectangleOnScreen(Landroidx/recyclerview/widget/RecyclerView;Landroid/view/View;Landroid/graphics/Rect;Z)Z
|
|
|
|
move-result p1
|
|
|
|
return p1
|
|
.end method
|
|
|
|
.method public requestDisallowInterceptTouchEvent(Z)V
|
|
.locals 3
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList;
|
|
|
|
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
|
|
|
|
move-result v0
|
|
|
|
const/4 v1, 0x0
|
|
|
|
:goto_0
|
|
if-ge v1, v0, :cond_0
|
|
|
|
.line 2
|
|
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnItemTouchListeners:Ljava/util/ArrayList;
|
|
|
|
invoke-virtual {v2, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
|
|
|
|
move-result-object v2
|
|
|
|
check-cast v2, Landroidx/recyclerview/widget/RecyclerView$p;
|
|
|
|
.line 3
|
|
invoke-interface {v2, p1}, Landroidx/recyclerview/widget/RecyclerView$p;->e(Z)V
|
|
|
|
add-int/lit8 v1, v1, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
.line 4
|
|
:cond_0
|
|
invoke-super {p0, p1}, Landroid/view/ViewGroup;->requestDisallowInterceptTouchEvent(Z)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public requestLayout()V
|
|
.locals 1
|
|
|
|
.line 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 2
|
|
invoke-super {p0}, Landroid/view/ViewGroup;->requestLayout()V
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
const/4 v0, 0x1
|
|
|
|
.line 3
|
|
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z
|
|
|
|
:goto_0
|
|
return-void
|
|
.end method
|
|
|
|
.method public saveOldPositions()V
|
|
.locals 4
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/g;->j()I
|
|
|
|
move-result v0
|
|
|
|
const/4 v1, 0x0
|
|
|
|
:goto_0
|
|
if-ge v1, v0, :cond_1
|
|
|
|
.line 2
|
|
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
|
|
|
|
invoke-virtual {v2, v1}, Landroidx/recyclerview/widget/g;->i(I)Landroid/view/View;
|
|
|
|
move-result-object v2
|
|
|
|
invoke-static {v2}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$a0;
|
|
|
|
move-result-object v2
|
|
|
|
.line 3
|
|
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$a0;->shouldIgnore()Z
|
|
|
|
move-result v3
|
|
|
|
if-nez v3, :cond_0
|
|
|
|
.line 4
|
|
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView$a0;->saveOldPosition()V
|
|
|
|
:cond_0
|
|
add-int/lit8 v1, v1, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_1
|
|
return-void
|
|
.end method
|
|
|
|
.method public scrollBy(II)V
|
|
.locals 3
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
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 2
|
|
invoke-static {p1, p2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
|
|
|
|
return-void
|
|
|
|
.line 3
|
|
:cond_0
|
|
iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
|
|
|
|
if-eqz v1, :cond_1
|
|
|
|
return-void
|
|
|
|
.line 4
|
|
:cond_1
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$m;->canScrollHorizontally()Z
|
|
|
|
move-result v0
|
|
|
|
.line 5
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$m;->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 6
|
|
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 1
|
|
invoke-virtual/range {p0 .. p0}, Landroidx/recyclerview/widget/RecyclerView;->consumePendingUpdateOperations()V
|
|
|
|
.line 2
|
|
iget-object v0, v8, Landroidx/recyclerview/widget/RecyclerView;->mAdapter:Landroidx/recyclerview/widget/RecyclerView$Adapter;
|
|
|
|
const/4 v12, 0x1
|
|
|
|
const/4 v13, 0x0
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 3
|
|
iget-object v0, v8, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I
|
|
|
|
aput v13, v0, v13
|
|
|
|
.line 4
|
|
aput v13, v0, v12
|
|
|
|
.line 5
|
|
invoke-virtual {v8, v9, v10, v0}, Landroidx/recyclerview/widget/RecyclerView;->scrollStep(II[I)V
|
|
|
|
.line 6
|
|
iget-object v0, v8, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I
|
|
|
|
aget v1, v0, v13
|
|
|
|
.line 7
|
|
aget v0, v0, v12
|
|
|
|
sub-int v2, v9, v1
|
|
|
|
sub-int v3, v10, v0
|
|
|
|
move v14, v0
|
|
|
|
move v15, v1
|
|
|
|
move/from16 v16, v2
|
|
|
|
move/from16 v17, v3
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
move v14, v13
|
|
|
|
move v15, v14
|
|
|
|
move/from16 v16, v15
|
|
|
|
move/from16 v17, v16
|
|
|
|
.line 8
|
|
:goto_0
|
|
iget-object v0, v8, Landroidx/recyclerview/widget/RecyclerView;->mItemDecorations:Ljava/util/ArrayList;
|
|
|
|
invoke-virtual {v0}, Ljava/util/ArrayList;->isEmpty()Z
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_1
|
|
|
|
.line 9
|
|
invoke-virtual/range {p0 .. p0}, Landroid/view/ViewGroup;->invalidate()V
|
|
|
|
.line 10
|
|
:cond_1
|
|
iget-object v7, v8, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I
|
|
|
|
aput v13, v7, v13
|
|
|
|
.line 11
|
|
aput v13, v7, v12
|
|
|
|
.line 12
|
|
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
|
|
|
|
invoke-virtual/range {v0 .. v7}, Landroidx/recyclerview/widget/RecyclerView;->dispatchNestedScroll(IIII[II[I)V
|
|
|
|
.line 13
|
|
iget-object v0, v8, Landroidx/recyclerview/widget/RecyclerView;->mReusableIntPair:[I
|
|
|
|
aget v1, v0, v13
|
|
|
|
sub-int v1, v16, v1
|
|
|
|
.line 14
|
|
aget v2, v0, v12
|
|
|
|
sub-int v2, v17, v2
|
|
|
|
.line 15
|
|
aget v3, v0, v13
|
|
|
|
if-nez v3, :cond_3
|
|
|
|
aget v0, v0, v12
|
|
|
|
if-eqz v0, :cond_2
|
|
|
|
goto :goto_1
|
|
|
|
:cond_2
|
|
move v0, v13
|
|
|
|
goto :goto_2
|
|
|
|
:cond_3
|
|
:goto_1
|
|
move v0, v12
|
|
|
|
.line 16
|
|
:goto_2
|
|
iget v3, v8, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I
|
|
|
|
iget-object v4, v8, Landroidx/recyclerview/widget/RecyclerView;->mScrollOffset:[I
|
|
|
|
aget v5, v4, v13
|
|
|
|
sub-int/2addr v3, v5
|
|
|
|
iput v3, v8, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchX:I
|
|
|
|
.line 17
|
|
iget v3, v8, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I
|
|
|
|
aget v5, v4, v12
|
|
|
|
sub-int/2addr v3, v5
|
|
|
|
iput v3, v8, Landroidx/recyclerview/widget/RecyclerView;->mLastTouchY:I
|
|
|
|
.line 18
|
|
iget-object v3, v8, Landroidx/recyclerview/widget/RecyclerView;->mNestedOffsets:[I
|
|
|
|
aget v5, v3, v13
|
|
|
|
aget v6, v4, v13
|
|
|
|
add-int/2addr v5, v6
|
|
|
|
aput v5, v3, v13
|
|
|
|
.line 19
|
|
aget v5, v3, v12
|
|
|
|
aget v4, v4, v12
|
|
|
|
add-int/2addr v5, v4
|
|
|
|
aput v5, v3, v12
|
|
|
|
.line 20
|
|
invoke-virtual/range {p0 .. p0}, Landroid/view/ViewGroup;->getOverScrollMode()I
|
|
|
|
move-result v3
|
|
|
|
const/4 v4, 0x2
|
|
|
|
if-eq v3, v4, :cond_5
|
|
|
|
if-eqz v11, :cond_4
|
|
|
|
const/16 v3, 0x2002
|
|
|
|
.line 21
|
|
invoke-static {v11, v3}, Ls1/v;->l(Landroid/view/MotionEvent;I)Z
|
|
|
|
move-result v3
|
|
|
|
if-nez v3, :cond_4
|
|
|
|
.line 22
|
|
invoke-virtual/range {p3 .. p3}, Landroid/view/MotionEvent;->getX()F
|
|
|
|
move-result v3
|
|
|
|
int-to-float v1, v1
|
|
|
|
invoke-virtual/range {p3 .. p3}, Landroid/view/MotionEvent;->getY()F
|
|
|
|
move-result v4
|
|
|
|
int-to-float v2, v2
|
|
|
|
invoke-direct {v8, v3, v1, v4, v2}, Landroidx/recyclerview/widget/RecyclerView;->pullGlows(FFFF)V
|
|
|
|
.line 23
|
|
: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 24
|
|
:cond_6
|
|
invoke-virtual {v8, v15, v14}, Landroidx/recyclerview/widget/RecyclerView;->dispatchOnScrolled(II)V
|
|
|
|
.line 25
|
|
:cond_7
|
|
invoke-virtual/range {p0 .. p0}, Landroid/view/ViewGroup;->awakenScrollBars()Z
|
|
|
|
move-result v1
|
|
|
|
if-nez v1, :cond_8
|
|
|
|
.line 26
|
|
invoke-virtual/range {p0 .. p0}, Landroid/view/ViewGroup;->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 1
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->startInterceptRequestLayout()V
|
|
|
|
.line 2
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onEnterLayoutOrScroll()V
|
|
|
|
const-string v0, "RV Scroll"
|
|
|
|
.line 3
|
|
invoke-static {v0}, Ll1/r;->b(Ljava/lang/String;)V
|
|
|
|
.line 4
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->fillRemainingScrollValues(Landroidx/recyclerview/widget/RecyclerView$x;)V
|
|
|
|
const/4 v0, 0x0
|
|
|
|
if-eqz p1, :cond_0
|
|
|
|
.line 5
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
|
|
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
invoke-virtual {v1, p1, v2, v3}, Landroidx/recyclerview/widget/RecyclerView$m;->scrollHorizontallyBy(ILandroidx/recyclerview/widget/RecyclerView$s;Landroidx/recyclerview/widget/RecyclerView$x;)I
|
|
|
|
move-result p1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
move p1, v0
|
|
|
|
:goto_0
|
|
if-eqz p2, :cond_1
|
|
|
|
.line 6
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
iget-object v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
|
|
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
invoke-virtual {v1, p2, v2, v3}, Landroidx/recyclerview/widget/RecyclerView$m;->scrollVerticallyBy(ILandroidx/recyclerview/widget/RecyclerView$s;Landroidx/recyclerview/widget/RecyclerView$x;)I
|
|
|
|
move-result p2
|
|
|
|
goto :goto_1
|
|
|
|
:cond_1
|
|
move p2, v0
|
|
|
|
.line 7
|
|
:goto_1
|
|
invoke-static {}, Ll1/r;->d()V
|
|
|
|
.line 8
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->repositionShadowingViews()V
|
|
|
|
.line 9
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->onExitLayoutOrScroll()V
|
|
|
|
.line 10
|
|
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->stopInterceptRequestLayout(Z)V
|
|
|
|
if-eqz p3, :cond_2
|
|
|
|
.line 11
|
|
aput p1, p3, v0
|
|
|
|
const/4 p1, 0x1
|
|
|
|
.line 12
|
|
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 1
|
|
invoke-static {p1, p2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public scrollToPosition(I)V
|
|
.locals 1
|
|
|
|
.line 1
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
return-void
|
|
|
|
.line 2
|
|
:cond_0
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->stopScroll()V
|
|
|
|
.line 3
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
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 4
|
|
invoke-static {p1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
|
|
|
|
return-void
|
|
|
|
.line 5
|
|
:cond_1
|
|
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$m;->scrollToPosition(I)V
|
|
|
|
.line 6
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->awakenScrollBars()Z
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public sendAccessibilityEventUnchecked(Landroid/view/accessibility/AccessibilityEvent;)V
|
|
.locals 1
|
|
|
|
.line 1
|
|
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 2
|
|
:cond_0
|
|
invoke-super {p0, p1}, Landroid/view/ViewGroup;->sendAccessibilityEventUnchecked(Landroid/view/accessibility/AccessibilityEvent;)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public setAccessibilityDelegateCompat(Landroidx/recyclerview/widget/c0;)V
|
|
.locals 0
|
|
.param p1 # Landroidx/recyclerview/widget/c0;
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
.end param
|
|
|
|
.line 1
|
|
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mAccessibilityDelegate:Landroidx/recyclerview/widget/c0;
|
|
|
|
.line 2
|
|
invoke-static {p0, p1}, Landroidx/core/view/ViewCompat;->B1(Landroid/view/View;Landroidx/core/view/a;)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 1
|
|
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setLayoutFrozen(Z)V
|
|
|
|
const/4 v1, 0x1
|
|
|
|
.line 2
|
|
invoke-direct {p0, p1, v0, v1}, Landroidx/recyclerview/widget/RecyclerView;->setAdapterInternal(Landroidx/recyclerview/widget/RecyclerView$Adapter;ZZ)V
|
|
|
|
.line 3
|
|
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->processDataSetCompletelyChanged(Z)V
|
|
|
|
.line 4
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public setChildDrawingOrderCallback(Landroidx/recyclerview/widget/RecyclerView$j;)V
|
|
.locals 1
|
|
.param p1 # Landroidx/recyclerview/widget/RecyclerView$j;
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
.end param
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildDrawingOrderCallback:Landroidx/recyclerview/widget/RecyclerView$j;
|
|
|
|
if-ne p1, v0, :cond_0
|
|
|
|
return-void
|
|
|
|
.line 2
|
|
:cond_0
|
|
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildDrawingOrderCallback:Landroidx/recyclerview/widget/RecyclerView$j;
|
|
|
|
if-eqz p1, :cond_1
|
|
|
|
const/4 p1, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_1
|
|
const/4 p1, 0x0
|
|
|
|
.line 3
|
|
:goto_0
|
|
invoke-virtual {p0, p1}, Landroid/view/ViewGroup;->setChildrenDrawingOrderEnabled(Z)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public setChildImportantForAccessibilityInternal(Landroidx/recyclerview/widget/RecyclerView$a0;I)Z
|
|
.locals 1
|
|
.annotation build Landroidx/annotation/VisibleForTesting;
|
|
.end annotation
|
|
|
|
.line 1
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->isComputingLayout()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 2
|
|
iput p2, p1, Landroidx/recyclerview/widget/RecyclerView$a0;->mPendingAccessibilityState:I
|
|
|
|
.line 3
|
|
iget-object p2, p0, Landroidx/recyclerview/widget/RecyclerView;->mPendingAccessibilityImportanceChange:Ljava/util/List;
|
|
|
|
invoke-interface {p2, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
|
|
|
|
const/4 p1, 0x0
|
|
|
|
return p1
|
|
|
|
.line 4
|
|
:cond_0
|
|
iget-object p1, p1, Landroidx/recyclerview/widget/RecyclerView$a0;->itemView:Landroid/view/View;
|
|
|
|
invoke-static {p1, p2}, Landroidx/core/view/ViewCompat;->R1(Landroid/view/View;I)V
|
|
|
|
const/4 p1, 0x1
|
|
|
|
return p1
|
|
.end method
|
|
|
|
.method public setClipToPadding(Z)V
|
|
.locals 1
|
|
|
|
.line 1
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
|
|
|
|
if-eq p1, v0, :cond_0
|
|
|
|
.line 2
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->invalidateGlows()V
|
|
|
|
.line 3
|
|
:cond_0
|
|
iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mClipToPadding:Z
|
|
|
|
.line 4
|
|
invoke-super {p0, p1}, Landroid/view/ViewGroup;->setClipToPadding(Z)V
|
|
|
|
.line 5
|
|
iget-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mFirstLayoutComplete:Z
|
|
|
|
if-eqz p1, :cond_1
|
|
|
|
.line 6
|
|
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 1
|
|
invoke-static {p1}, Lr1/o;->k(Ljava/lang/Object;)Ljava/lang/Object;
|
|
|
|
.line 2
|
|
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mEdgeEffectFactory:Landroidx/recyclerview/widget/RecyclerView$EdgeEffectFactory;
|
|
|
|
.line 3
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->invalidateGlows()V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public setHasFixedSize(Z)V
|
|
.locals 0
|
|
|
|
.line 1
|
|
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
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 2
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->l()V
|
|
|
|
.line 3
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
|
|
|
|
const/4 v1, 0x0
|
|
|
|
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->A(Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$b;)V
|
|
|
|
.line 4
|
|
:cond_0
|
|
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
|
|
|
|
if-eqz p1, :cond_1
|
|
|
|
.line 5
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimatorListener:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$b;
|
|
|
|
invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->A(Landroidx/recyclerview/widget/RecyclerView$ItemAnimator$b;)V
|
|
|
|
:cond_1
|
|
return-void
|
|
.end method
|
|
|
|
.method public setItemViewCacheSize(I)V
|
|
.locals 1
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
|
|
|
|
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$s;->H(I)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public setLayoutFrozen(Z)V
|
|
.locals 0
|
|
.annotation runtime Ljava/lang/Deprecated;
|
|
.end annotation
|
|
|
|
.line 1
|
|
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->suppressLayout(Z)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public setLayoutManager(Landroidx/recyclerview/widget/RecyclerView$m;)V
|
|
.locals 3
|
|
.param p1 # Landroidx/recyclerview/widget/RecyclerView$m;
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
.end param
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
if-ne p1, v0, :cond_0
|
|
|
|
return-void
|
|
|
|
.line 2
|
|
:cond_0
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->stopScroll()V
|
|
|
|
.line 3
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
if-eqz v0, :cond_3
|
|
|
|
.line 4
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mItemAnimator:Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
.line 5
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$ItemAnimator;->l()V
|
|
|
|
.line 6
|
|
:cond_1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
|
|
|
|
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$m;->removeAndRecycleAllViews(Landroidx/recyclerview/widget/RecyclerView$s;)V
|
|
|
|
.line 7
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
|
|
|
|
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$m;->removeAndRecycleScrapInt(Landroidx/recyclerview/widget/RecyclerView$s;)V
|
|
|
|
.line 8
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$s;->d()V
|
|
|
|
.line 9
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mIsAttached:Z
|
|
|
|
if-eqz v0, :cond_2
|
|
|
|
.line 10
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
|
|
|
|
invoke-virtual {v0, p0, v1}, Landroidx/recyclerview/widget/RecyclerView$m;->dispatchDetachedFromWindow(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$s;)V
|
|
|
|
.line 11
|
|
:cond_2
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
const/4 v1, 0x0
|
|
|
|
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView$m;->setRecyclerView(Landroidx/recyclerview/widget/RecyclerView;)V
|
|
|
|
.line 12
|
|
iput-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
goto :goto_0
|
|
|
|
.line 13
|
|
:cond_3
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$s;->d()V
|
|
|
|
.line 14
|
|
:goto_0
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/g;->o()V
|
|
|
|
.line 15
|
|
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
if-eqz p1, :cond_5
|
|
|
|
.line 16
|
|
iget-object v0, p1, Landroidx/recyclerview/widget/RecyclerView$m;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
|
|
|
|
if-nez v0, :cond_4
|
|
|
|
.line 17
|
|
invoke-virtual {p1, p0}, Landroidx/recyclerview/widget/RecyclerView$m;->setRecyclerView(Landroidx/recyclerview/widget/RecyclerView;)V
|
|
|
|
.line 18
|
|
iget-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mIsAttached:Z
|
|
|
|
if-eqz p1, :cond_5
|
|
|
|
.line 19
|
|
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
invoke-virtual {p1, p0}, Landroidx/recyclerview/widget/RecyclerView$m;->dispatchAttachedToWindow(Landroidx/recyclerview/widget/RecyclerView;)V
|
|
|
|
goto :goto_1
|
|
|
|
.line 20
|
|
: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$m;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
|
|
|
|
.line 21
|
|
invoke-static {p1, v1}, Landroidx/recyclerview/widget/b0;->a(Landroidx/recyclerview/widget/RecyclerView;Ljava/lang/StringBuilder;)Ljava/lang/String;
|
|
|
|
move-result-object p1
|
|
|
|
invoke-direct {v0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
|
|
|
|
throw v0
|
|
|
|
.line 22
|
|
:cond_5
|
|
:goto_1
|
|
iget-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
|
|
|
|
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView$s;->L()V
|
|
|
|
.line 23
|
|
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 1
|
|
invoke-super {p0, p1}, Landroid/view/ViewGroup;->setLayoutTransition(Landroid/animation/LayoutTransition;)V
|
|
|
|
return-void
|
|
|
|
.line 2
|
|
: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 1
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Ls1/z;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-virtual {v0, p1}, Ls1/z;->p(Z)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public setOnFlingListener(Landroidx/recyclerview/widget/RecyclerView$o;)V
|
|
.locals 0
|
|
.param p1 # Landroidx/recyclerview/widget/RecyclerView$o;
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
.end param
|
|
|
|
.line 1
|
|
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mOnFlingListener:Landroidx/recyclerview/widget/RecyclerView$o;
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public setOnScrollListener(Landroidx/recyclerview/widget/RecyclerView$q;)V
|
|
.locals 0
|
|
.param p1 # Landroidx/recyclerview/widget/RecyclerView$q;
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
.end param
|
|
.annotation runtime Ljava/lang/Deprecated;
|
|
.end annotation
|
|
|
|
.line 1
|
|
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollListener:Landroidx/recyclerview/widget/RecyclerView$q;
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public setPreserveFocusAfterLayout(Z)V
|
|
.locals 0
|
|
|
|
.line 1
|
|
iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mPreserveFocusAfterLayout:Z
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public setRecycledViewPool(Landroidx/recyclerview/widget/RecyclerView$r;)V
|
|
.locals 1
|
|
.param p1 # Landroidx/recyclerview/widget/RecyclerView$r;
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
.end param
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
|
|
|
|
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$s;->F(Landroidx/recyclerview/widget/RecyclerView$r;)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public setRecyclerListener(Landroidx/recyclerview/widget/RecyclerView$t;)V
|
|
.locals 0
|
|
.param p1 # Landroidx/recyclerview/widget/RecyclerView$t;
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
.end param
|
|
.annotation runtime Ljava/lang/Deprecated;
|
|
.end annotation
|
|
|
|
.line 1
|
|
iput-object p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecyclerListener:Landroidx/recyclerview/widget/RecyclerView$t;
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method setScrollState(I)V
|
|
.locals 1
|
|
|
|
.line 1
|
|
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I
|
|
|
|
if-ne p1, v0, :cond_0
|
|
|
|
return-void
|
|
|
|
.line 2
|
|
:cond_0
|
|
iput p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mScrollState:I
|
|
|
|
const/4 v0, 0x2
|
|
|
|
if-eq p1, v0, :cond_1
|
|
|
|
.line 3
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->stopScrollersInternal()V
|
|
|
|
.line 4
|
|
: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 1
|
|
invoke-virtual {p0}, Landroid/view/ViewGroup;->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 2
|
|
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 3
|
|
: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 4
|
|
: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$y;)V
|
|
.locals 1
|
|
.param p1 # Landroidx/recyclerview/widget/RecyclerView$y;
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
.end param
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
|
|
|
|
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$s;->G(Landroidx/recyclerview/widget/RecyclerView$y;)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public shouldDeferAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)Z
|
|
.locals 2
|
|
|
|
.line 1
|
|
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 2
|
|
invoke-static {p1}, Landroidx/core/view/accessibility/AccessibilityEventCompat;->d(Landroid/view/accessibility/AccessibilityEvent;)I
|
|
|
|
move-result p1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
move p1, v1
|
|
|
|
:goto_0
|
|
if-nez p1, :cond_1
|
|
|
|
goto :goto_1
|
|
|
|
:cond_1
|
|
move v1, p1
|
|
|
|
.line 3
|
|
: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 1
|
|
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 2
|
|
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 3
|
|
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 3
|
|
.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
|
|
|
|
.line 4
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
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 5
|
|
invoke-static {p1, p2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
|
|
|
|
return-void
|
|
|
|
.line 6
|
|
:cond_0
|
|
iget-boolean v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
|
|
|
|
if-eqz v1, :cond_1
|
|
|
|
return-void
|
|
|
|
.line 7
|
|
:cond_1
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$m;->canScrollHorizontally()Z
|
|
|
|
move-result v0
|
|
|
|
const/4 v1, 0x0
|
|
|
|
if-nez v0, :cond_2
|
|
|
|
move p1, v1
|
|
|
|
.line 8
|
|
:cond_2
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$m;->canScrollVertically()Z
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_3
|
|
|
|
move p2, v1
|
|
|
|
:cond_3
|
|
if-nez p1, :cond_4
|
|
|
|
if-eqz p2, :cond_b
|
|
|
|
:cond_4
|
|
const/high16 v0, -0x80000000
|
|
|
|
const/4 v2, 0x1
|
|
|
|
if-eq p4, v0, :cond_6
|
|
|
|
if-lez p4, :cond_5
|
|
|
|
goto :goto_0
|
|
|
|
:cond_5
|
|
move v0, v1
|
|
|
|
goto :goto_1
|
|
|
|
:cond_6
|
|
:goto_0
|
|
move v0, v2
|
|
|
|
:goto_1
|
|
if-eqz v0, :cond_a
|
|
|
|
if-eqz p5, :cond_9
|
|
|
|
if-eqz p1, :cond_7
|
|
|
|
move v1, v2
|
|
|
|
:cond_7
|
|
if-eqz p2, :cond_8
|
|
|
|
or-int/lit8 v1, v1, 0x2
|
|
|
|
.line 9
|
|
:cond_8
|
|
invoke-virtual {p0, v1, v2}, Landroidx/recyclerview/widget/RecyclerView;->startNestedScroll(II)Z
|
|
|
|
.line 10
|
|
:cond_9
|
|
iget-object p5, p0, Landroidx/recyclerview/widget/RecyclerView;->mViewFlinger:Landroidx/recyclerview/widget/RecyclerView$z;
|
|
|
|
invoke-virtual {p5, p1, p2, p4, p3}, Landroidx/recyclerview/widget/RecyclerView$z;->e(IIILandroid/view/animation/Interpolator;)V
|
|
|
|
goto :goto_2
|
|
|
|
.line 11
|
|
:cond_a
|
|
invoke-virtual {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;->scrollBy(II)V
|
|
|
|
:cond_b
|
|
:goto_2
|
|
return-void
|
|
.end method
|
|
|
|
.method public smoothScrollToPosition(I)V
|
|
.locals 2
|
|
|
|
.line 1
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
return-void
|
|
|
|
.line 2
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$m;
|
|
|
|
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 3
|
|
invoke-static {p1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
|
|
|
|
return-void
|
|
|
|
.line 4
|
|
:cond_1
|
|
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mState:Landroidx/recyclerview/widget/RecyclerView$x;
|
|
|
|
invoke-virtual {v0, p0, v1, p1}, Landroidx/recyclerview/widget/RecyclerView$m;->smoothScrollToPosition(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$x;I)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public startInterceptRequestLayout()V
|
|
.locals 2
|
|
|
|
.line 1
|
|
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I
|
|
|
|
const/4 v1, 0x1
|
|
|
|
add-int/2addr v0, v1
|
|
|
|
iput v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I
|
|
|
|
if-ne v0, v1, :cond_0
|
|
|
|
.line 2
|
|
iget-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 3
|
|
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z
|
|
|
|
:cond_0
|
|
return-void
|
|
.end method
|
|
|
|
.method public startNestedScroll(I)Z
|
|
.locals 1
|
|
|
|
.line 1
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Ls1/z;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-virtual {v0, p1}, Ls1/z;->r(I)Z
|
|
|
|
move-result p1
|
|
|
|
return p1
|
|
.end method
|
|
|
|
.method public startNestedScroll(II)Z
|
|
.locals 1
|
|
|
|
.line 2
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Ls1/z;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-virtual {v0, p1, p2}, Ls1/z;->s(II)Z
|
|
|
|
move-result p1
|
|
|
|
return p1
|
|
.end method
|
|
|
|
.method public stopInterceptRequestLayout(Z)V
|
|
.locals 3
|
|
|
|
.line 1
|
|
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I
|
|
|
|
const/4 v1, 0x1
|
|
|
|
if-ge v0, v1, :cond_0
|
|
|
|
.line 2
|
|
iput v1, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I
|
|
|
|
:cond_0
|
|
const/4 v0, 0x0
|
|
|
|
if-nez p1, :cond_1
|
|
|
|
.line 3
|
|
iget-boolean v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
|
|
|
|
if-nez v2, :cond_1
|
|
|
|
.line 4
|
|
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z
|
|
|
|
.line 5
|
|
:cond_1
|
|
iget v2, p0, Landroidx/recyclerview/widget/RecyclerView;->mInterceptRequestLayoutDepth:I
|
|
|
|
if-ne v2, v1, :cond_3
|
|
|
|
if-eqz p1, :cond_2
|
|
|
|
.line 6
|
|
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$m;
|
|
|
|
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 7
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->dispatchLayout()V
|
|
|
|
.line 8
|
|
:cond_2
|
|
iget-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
|
|
|
|
if-nez p1, :cond_3
|
|
|
|
.line 9
|
|
iput-boolean v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z
|
|
|
|
.line 10
|
|
: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 1
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Ls1/z;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-virtual {v0}, Ls1/z;->t()V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public stopNestedScroll(I)V
|
|
.locals 1
|
|
|
|
.line 2
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollingChildHelper()Ls1/z;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-virtual {v0, p1}, Ls1/z;->u(I)V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public stopScroll()V
|
|
.locals 1
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 1
|
|
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setScrollState(I)V
|
|
|
|
.line 2
|
|
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView;->stopScrollersInternal()V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public final suppressLayout(Z)V
|
|
.locals 9
|
|
|
|
.line 1
|
|
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 2
|
|
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->assertNotInLayoutOrScroll(Ljava/lang/String;)V
|
|
|
|
if-nez p1, :cond_1
|
|
|
|
const/4 p1, 0x0
|
|
|
|
.line 3
|
|
iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
|
|
|
|
.line 4
|
|
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$m;
|
|
|
|
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 5
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
|
|
|
|
.line 6
|
|
:cond_0
|
|
iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutWasDefered:Z
|
|
|
|
goto :goto_0
|
|
|
|
.line 7
|
|
: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 8
|
|
invoke-static/range {v1 .. v8}, Landroid/view/MotionEvent;->obtain(JJIFFI)Landroid/view/MotionEvent;
|
|
|
|
move-result-object p1
|
|
|
|
.line 9
|
|
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->onTouchEvent(Landroid/view/MotionEvent;)Z
|
|
|
|
const/4 p1, 0x1
|
|
|
|
.line 10
|
|
iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mLayoutSuppressed:Z
|
|
|
|
.line 11
|
|
iput-boolean p1, p0, Landroidx/recyclerview/widget/RecyclerView;->mIgnoreMotionEventTillDown:Z
|
|
|
|
.line 12
|
|
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 1
|
|
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setLayoutFrozen(Z)V
|
|
|
|
const/4 v0, 0x1
|
|
|
|
.line 2
|
|
invoke-direct {p0, p1, v0, p2}, Landroidx/recyclerview/widget/RecyclerView;->setAdapterInternal(Landroidx/recyclerview/widget/RecyclerView$Adapter;ZZ)V
|
|
|
|
.line 3
|
|
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->processDataSetCompletelyChanged(Z)V
|
|
|
|
.line 4
|
|
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView;->requestLayout()V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public viewRangeUpdate(IILjava/lang/Object;)V
|
|
.locals 6
|
|
|
|
.line 1
|
|
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
|
|
|
|
invoke-virtual {v0}, Landroidx/recyclerview/widget/g;->j()I
|
|
|
|
move-result v0
|
|
|
|
add-int v1, p1, p2
|
|
|
|
const/4 v2, 0x0
|
|
|
|
:goto_0
|
|
if-ge v2, v0, :cond_2
|
|
|
|
.line 2
|
|
iget-object v3, p0, Landroidx/recyclerview/widget/RecyclerView;->mChildHelper:Landroidx/recyclerview/widget/g;
|
|
|
|
invoke-virtual {v3, v2}, Landroidx/recyclerview/widget/g;->i(I)Landroid/view/View;
|
|
|
|
move-result-object v3
|
|
|
|
.line 3
|
|
invoke-static {v3}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolderInt(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$a0;
|
|
|
|
move-result-object v4
|
|
|
|
if-eqz v4, :cond_1
|
|
|
|
.line 4
|
|
invoke-virtual {v4}, Landroidx/recyclerview/widget/RecyclerView$a0;->shouldIgnore()Z
|
|
|
|
move-result v5
|
|
|
|
if-eqz v5, :cond_0
|
|
|
|
goto :goto_1
|
|
|
|
.line 5
|
|
:cond_0
|
|
iget v5, v4, Landroidx/recyclerview/widget/RecyclerView$a0;->mPosition:I
|
|
|
|
if-lt v5, p1, :cond_1
|
|
|
|
if-ge v5, v1, :cond_1
|
|
|
|
const/4 v5, 0x2
|
|
|
|
.line 6
|
|
invoke-virtual {v4, v5}, Landroidx/recyclerview/widget/RecyclerView$a0;->addFlags(I)V
|
|
|
|
.line 7
|
|
invoke-virtual {v4, p3}, Landroidx/recyclerview/widget/RecyclerView$a0;->addChangePayload(Ljava/lang/Object;)V
|
|
|
|
.line 8
|
|
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;->c:Z
|
|
|
|
:cond_1
|
|
:goto_1
|
|
add-int/lit8 v2, v2, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
.line 9
|
|
:cond_2
|
|
iget-object p3, p0, Landroidx/recyclerview/widget/RecyclerView;->mRecycler:Landroidx/recyclerview/widget/RecyclerView$s;
|
|
|
|
invoke-virtual {p3, p1, p2}, Landroidx/recyclerview/widget/RecyclerView$s;->N(II)V
|
|
|
|
return-void
|
|
.end method
|